From 842da82faf66877893b2baafff4e786d6f6e22cd Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Wed, 4 Jun 2025 17:40:02 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=BD=98=ED=85=90=EC=B8=A0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20=ED=83=9C=EA=B7=B8=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80=20-=20=ED=8F=AC?= =?UTF-8?q?=EC=9D=B8=ED=8A=B8=20=EC=82=AC=EC=9A=A9=EC=97=AC=EB=B6=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Content/Modify/ContentModifyView.swift | 41 +++++++++++++++++++ .../Modify/ContentModifyViewModel.swift | 6 +++ .../Content/Modify/ModifyContentRequest.swift | 2 + 3 files changed, 49 insertions(+) diff --git a/SodaLive/Sources/Content/Modify/ContentModifyView.swift b/SodaLive/Sources/Content/Modify/ContentModifyView.swift index 7c24399..a9f2571 100644 --- a/SodaLive/Sources/Content/Modify/ContentModifyView.swift +++ b/SodaLive/Sources/Content/Modify/ContentModifyView.swift @@ -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("연령 제한") diff --git a/SodaLive/Sources/Content/Modify/ContentModifyViewModel.swift b/SodaLive/Sources/Content/Modify/ContentModifyViewModel.swift index 8777f9b..0ad4db8 100644 --- a/SodaLive/Sources/Content/Modify/ContentModifyViewModel.swift +++ b/SodaLive/Sources/Content/Modify/ContentModifyViewModel.swift @@ -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 ) diff --git a/SodaLive/Sources/Content/Modify/ModifyContentRequest.swift b/SodaLive/Sources/Content/Modify/ModifyContentRequest.swift index 77bc98d..2785827 100644 --- a/SodaLive/Sources/Content/Modify/ModifyContentRequest.swift +++ b/SodaLive/Sources/Content/Modify/ModifyContentRequest.swift @@ -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 }