feat: 콘텐츠 수정
- 태그 수정 기능 추가 - 포인트 사용여부 수정 기능 추가
This commit is contained in:
@@ -124,6 +124,24 @@ struct ContentModifyView: View {
|
||||
.frame(height: 184)
|
||||
.cornerRadius(6.7)
|
||||
.padding(.top, 13.3)
|
||||
|
||||
Text("태그")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(.top, 26.7)
|
||||
|
||||
TextField("예: #연애 #커버곡", text: $viewModel.hashtags)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color.grayee)
|
||||
.padding(.vertical, 16.7)
|
||||
.padding(.horizontal, 13.3)
|
||||
.background(Color.gray22)
|
||||
.cornerRadius(6.7)
|
||||
.keyboardType(.default)
|
||||
.padding(.top, 13.3)
|
||||
}
|
||||
.padding(.top, 26.7)
|
||||
.padding(.horizontal, 13.3)
|
||||
@@ -133,6 +151,29 @@ struct ContentModifyView: View {
|
||||
.frame(height: 6.7)
|
||||
.padding(.top, 26.7)
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("포인트 사용")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
HStack(spacing: 13.3) {
|
||||
SelectButtonView(title: "가능", isChecked: viewModel.isPointAvailable) {
|
||||
if !viewModel.isPointAvailable {
|
||||
viewModel.isPointAvailable = true
|
||||
}
|
||||
}
|
||||
|
||||
SelectButtonView(title: "불가능", isChecked: !viewModel.isPointAvailable) {
|
||||
if viewModel.isPointAvailable {
|
||||
viewModel.isPointAvailable = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.top, 26.7)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
if viewModel.isAdultShowUi {
|
||||
VStack(spacing: 13.3) {
|
||||
Text("연령 제한")
|
||||
|
||||
@@ -21,9 +21,11 @@ final class ContentModifyViewModel: ObservableObject {
|
||||
|
||||
@Published var title: String = ""
|
||||
@Published var detail: String = ""
|
||||
@Published var hashtags: String = ""
|
||||
@Published var coverImage: UIImage? = nil
|
||||
@Published var coverImageUrl: String? = nil
|
||||
|
||||
@Published var isPointAvailable = false
|
||||
@Published var isAvailableComment = true
|
||||
@Published var isAdult = false
|
||||
@Published var isAdultShowUi = false
|
||||
@@ -56,9 +58,11 @@ final class ContentModifyViewModel: ObservableObject {
|
||||
|
||||
self.title = data.title
|
||||
self.detail = data.detail
|
||||
self.hashtags = data.tag
|
||||
self.isAdult = data.isAdult
|
||||
self.isAdultShowUi = !data.isAdult
|
||||
self.coverImageUrl = data.coverImageUrl
|
||||
self.isPointAvailable = data.isAvailableUsePoint
|
||||
self.isAvailableComment = data.isCommentAvailable
|
||||
} else {
|
||||
if let message = decoded.message {
|
||||
@@ -85,7 +89,9 @@ final class ContentModifyViewModel: ObservableObject {
|
||||
contentId: contentId,
|
||||
title: title != audioContent!.title ? title : nil,
|
||||
detail: detail != audioContent!.detail ? detail : nil,
|
||||
tags: hashtags != audioContent!.tag ? hashtags : nil,
|
||||
isAdult: isAdult,
|
||||
isPointAvailable: isPointAvailable != audioContent!.isAvailableUsePoint ? isPointAvailable : nil,
|
||||
isCommentAvailable: isAvailableComment
|
||||
)
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ struct ModifyContentRequest: Encodable {
|
||||
let contentId: Int
|
||||
let title: String?
|
||||
let detail: String?
|
||||
let tags: String?
|
||||
let isAdult: Bool
|
||||
let isPointAvailable: Bool?
|
||||
let isCommentAvailable: Bool
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user