parent
64e02108a9
commit
696aed5c00
|
@ -229,16 +229,22 @@ struct ContentCreateView: View {
|
||||||
.foregroundColor(Color.grayee)
|
.foregroundColor(Color.grayee)
|
||||||
.frame(maxWidth: .infinity, alignment: .leading)
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
|
|
||||||
HStack(spacing: 13.3) {
|
HStack(spacing: 6.7) {
|
||||||
SelectButtonView(title: "소장/대여", isChecked: !viewModel.isOnlyRental) {
|
SelectButtonView(title: "소장/대여", isChecked: viewModel.purchaseOption == .BOTH) {
|
||||||
if viewModel.isOnlyRental {
|
if viewModel.purchaseOption != .BOTH {
|
||||||
viewModel.isOnlyRental = false
|
viewModel.purchaseOption = .BOTH
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectButtonView(title: "대여만", isChecked: viewModel.isOnlyRental) {
|
SelectButtonView(title: "소장만", isChecked: viewModel.purchaseOption == .BUY_ONLY) {
|
||||||
if !viewModel.isOnlyRental {
|
if viewModel.purchaseOption != .BUY_ONLY {
|
||||||
viewModel.isOnlyRental = true
|
viewModel.purchaseOption = .BUY_ONLY
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SelectButtonView(title: "대여만", isChecked: viewModel.purchaseOption == .RENT_ONLY) {
|
||||||
|
if viewModel.purchaseOption != .RENT_ONLY {
|
||||||
|
viewModel.purchaseOption = .RENT_ONLY
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,7 +252,7 @@ struct ContentCreateView: View {
|
||||||
.padding(.top, 13.3)
|
.padding(.top, 13.3)
|
||||||
|
|
||||||
VStack(spacing: 0) {
|
VStack(spacing: 0) {
|
||||||
Text(viewModel.isOnlyRental ? "대여 가격" : "소장 가격")
|
Text(viewModel.purchaseOption == .RENT_ONLY ? "대여 가격" : "소장 가격")
|
||||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||||
.foregroundColor(Color.grayd2)
|
.foregroundColor(Color.grayd2)
|
||||||
.frame(maxWidth: .infinity, alignment: .leading)
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
|
@ -296,7 +302,7 @@ struct ContentCreateView: View {
|
||||||
}
|
}
|
||||||
.padding(.top, 26.7)
|
.padding(.top, 26.7)
|
||||||
|
|
||||||
if viewModel.price > 0 && !viewModel.isOnlyRental {
|
if viewModel.price > 0 && viewModel.purchaseOption != .RENT_ONLY {
|
||||||
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))
|
||||||
|
|
|
@ -56,15 +56,15 @@ final class ContentCreateViewModel: ObservableObject {
|
||||||
if isFree {
|
if isFree {
|
||||||
priceString = "0"
|
priceString = "0"
|
||||||
isLimited = false
|
isLimited = false
|
||||||
isOnlyRental = false
|
|
||||||
isGeneratePreview = true
|
isGeneratePreview = true
|
||||||
|
purchaseOption = PurchaseOption.BOTH
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Published var isOnlyRental = false {
|
@Published var purchaseOption = PurchaseOption.BOTH {
|
||||||
didSet {
|
didSet {
|
||||||
if isOnlyRental {
|
if purchaseOption == .RENT_ONLY {
|
||||||
isLimited = false
|
isLimited = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,12 +125,12 @@ final class ContentCreateViewModel: ObservableObject {
|
||||||
detail: detail,
|
detail: detail,
|
||||||
tags: hashtags,
|
tags: hashtags,
|
||||||
price: price,
|
price: price,
|
||||||
|
purchaseOption: purchaseOption,
|
||||||
limited: limited,
|
limited: limited,
|
||||||
releaseDate: isActiveReservation ? "\(releaseDate.convertDateFormat(dateFormat: "yyyy-MM-dd")) \(releaseTime.convertDateFormat(dateFormat: "HH:mm"))" : nil,
|
releaseDate: isActiveReservation ? "\(releaseDate.convertDateFormat(dateFormat: "yyyy-MM-dd")) \(releaseTime.convertDateFormat(dateFormat: "HH:mm"))" : nil,
|
||||||
timezone: TimeZone.current.identifier,
|
timezone: TimeZone.current.identifier,
|
||||||
themeId: theme!.id,
|
themeId: theme!.id,
|
||||||
isAdult: isAdult,
|
isAdult: isAdult,
|
||||||
isOnlyRental: isOnlyRental,
|
|
||||||
isGeneratePreview: isGeneratePreview,
|
isGeneratePreview: isGeneratePreview,
|
||||||
isCommentAvailable: isAvailableComment,
|
isCommentAvailable: isAvailableComment,
|
||||||
previewStartTime: isGeneratePreview && previewStartTime.trimmingCharacters(in: .whitespacesAndNewlines).count > 0 ? previewStartTime : nil,
|
previewStartTime: isGeneratePreview && previewStartTime.trimmingCharacters(in: .whitespacesAndNewlines).count > 0 ? previewStartTime : nil,
|
||||||
|
|
|
@ -12,12 +12,12 @@ struct CreateAudioContentRequest: Encodable {
|
||||||
let detail: String
|
let detail: String
|
||||||
let tags: String
|
let tags: String
|
||||||
let price: Int
|
let price: Int
|
||||||
|
let purchaseOption: PurchaseOption
|
||||||
let limited: Int?
|
let limited: Int?
|
||||||
let releaseDate: String?
|
let releaseDate: String?
|
||||||
let timezone: String
|
let timezone: String
|
||||||
let themeId: Int
|
let themeId: Int
|
||||||
let isAdult: Bool
|
let isAdult: Bool
|
||||||
let isOnlyRental: Bool
|
|
||||||
let isGeneratePreview: Bool
|
let isGeneratePreview: Bool
|
||||||
let isCommentAvailable: Bool
|
let isCommentAvailable: Bool
|
||||||
let previewStartTime: String?
|
let previewStartTime: String?
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// PurchaseOption.swift
|
||||||
|
// SodaLive
|
||||||
|
//
|
||||||
|
// Created by klaus on 11/8/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
enum PurchaseOption: String, Codable {
|
||||||
|
case BOTH, BUY_ONLY, RENT_ONLY
|
||||||
|
}
|
Loading…
Reference in New Issue