feat: 콘텐츠 업로드

- 포인트 사용 가능 여부 추가
This commit is contained in:
Yu Sung
2025-06-02 15:21:24 +09:00
parent 4664fd42c7
commit 7aa040c492
3 changed files with 26 additions and 0 deletions

View File

@@ -340,6 +340,28 @@ struct ContentCreateView: View {
.padding(.top, 26.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)
VStack(spacing: 13.3) { VStack(spacing: 13.3) {
Text("미리듣기") Text("미리듣기")
.font(.custom(Font.bold.rawValue, size: 16.7)) .font(.custom(Font.bold.rawValue, size: 16.7))

View File

@@ -57,6 +57,7 @@ final class ContentCreateViewModel: ObservableObject {
priceString = "0" priceString = "0"
isLimited = false isLimited = false
isGeneratePreview = true isGeneratePreview = true
isPointAvailable = false
purchaseOption = PurchaseOption.BOTH purchaseOption = PurchaseOption.BOTH
} }
} }
@@ -70,6 +71,7 @@ final class ContentCreateViewModel: ObservableObject {
} }
} }
@Published var isGeneratePreview = true @Published var isGeneratePreview = true
@Published var isPointAvailable = false
@Published var isLimited = false { @Published var isLimited = false {
didSet { didSet {
@@ -132,6 +134,7 @@ final class ContentCreateViewModel: ObservableObject {
themeId: theme!.id, themeId: theme!.id,
isAdult: isAdult, isAdult: isAdult,
isGeneratePreview: isGeneratePreview, isGeneratePreview: isGeneratePreview,
isPointAvailable: isPointAvailable,
isCommentAvailable: isAvailableComment, isCommentAvailable: isAvailableComment,
previewStartTime: isGeneratePreview && previewStartTime.trimmingCharacters(in: .whitespacesAndNewlines).count > 0 ? previewStartTime : nil, previewStartTime: isGeneratePreview && previewStartTime.trimmingCharacters(in: .whitespacesAndNewlines).count > 0 ? previewStartTime : nil,
previewEndTime: isGeneratePreview && previewEndTime.trimmingCharacters(in: .whitespacesAndNewlines).count > 0 ? previewEndTime : nil previewEndTime: isGeneratePreview && previewEndTime.trimmingCharacters(in: .whitespacesAndNewlines).count > 0 ? previewEndTime : nil

View File

@@ -19,6 +19,7 @@ struct CreateAudioContentRequest: Encodable {
let themeId: Int let themeId: Int
let isAdult: Bool let isAdult: Bool
let isGeneratePreview: Bool let isGeneratePreview: Bool
let isPointAvailable: Bool
let isCommentAvailable: Bool let isCommentAvailable: Bool
let previewStartTime: String? let previewStartTime: String?
let previewEndTime: String? let previewEndTime: String?