연령 제한에 따른 성별 제한 전송 조정

This commit is contained in:
Yu Sung
2026-02-03 14:09:59 +09:00
parent 652fe3dc13
commit d686223362
4 changed files with 30 additions and 10 deletions

View File

@@ -176,9 +176,11 @@ struct LiveRoomCreateView: View {
.frame(width: screenSize().width - 26.7) .frame(width: screenSize().width - 26.7)
.padding(.top, 33.3) .padding(.top, 33.3)
GenderRestrictionView() if viewModel.isAdult {
.frame(width: screenSize().width - 26.7) GenderRestrictionView()
.padding(.top, 33.3) .frame(width: screenSize().width - 26.7)
.padding(.top, 33.3)
}
} }
PriceSettingView() PriceSettingView()

View File

@@ -64,7 +64,13 @@ final class LiveRoomCreateViewModel: ObservableObject {
} }
} }
@Published var isAdult = false @Published var isAdult = false {
didSet {
if !isAdult {
genderRestriction = .ALL
}
}
}
@Published var genderRestriction: GenderRestriction = .ALL @Published var genderRestriction: GenderRestriction = .ALL
@Published var priceString = "0" { @Published var priceString = "0" {
didSet { didSet {
@@ -179,7 +185,7 @@ final class LiveRoomCreateViewModel: ObservableObject {
tags: tags, tags: tags,
numberOfPeople: Int(numberOfPeople)!, numberOfPeople: Int(numberOfPeople)!,
isAdult: isAdult, isAdult: isAdult,
genderRestriction: genderRestriction, genderRestriction: isAdult ? genderRestriction : .ALL,
price: price, price: price,
type: roomType, type: roomType,
password: (roomType == .PRIVATE && !password.trimmingCharacters(in: .whitespaces).isEmpty) ? password : nil, password: (roomType == .PRIVATE && !password.trimmingCharacters(in: .whitespaces).isEmpty) ? password : nil,

View File

@@ -46,9 +46,11 @@ struct LiveRoomEditView: View {
.frame(width: screenSize().width - 26.7) .frame(width: screenSize().width - 26.7)
.padding(.top, 33.3) .padding(.top, 33.3)
GenderRestrictionView() if viewModel.isAdult {
.frame(width: screenSize().width - 26.7) GenderRestrictionView()
.padding(.top, 33.3) .frame(width: screenSize().width - 26.7)
.padding(.top, 33.3)
}
if !viewModel.isLoading { if !viewModel.isLoading {
Text("라이브 수정") Text("라이브 수정")

View File

@@ -25,6 +25,13 @@ final class LiveRoomEditViewModel: ObservableObject {
@Published var reservationDateString: String = "" @Published var reservationDateString: String = ""
@Published var reservationTimeString: String = "" @Published var reservationTimeString: String = ""
@Published var genderRestriction: LiveRoomCreateViewModel.GenderRestriction = .ALL @Published var genderRestriction: LiveRoomCreateViewModel.GenderRestriction = .ALL
@Published var isAdult: Bool = false {
didSet {
if !isAdult {
genderRestriction = .ALL
}
}
}
@Published var errorMessage = "" @Published var errorMessage = ""
@Published var isShowPopup = false @Published var isShowPopup = false
@@ -52,7 +59,8 @@ final class LiveRoomEditViewModel: ObservableObject {
title = room!.title title = room!.title
notice = room!.notice notice = room!.notice
numberOfPeople = String(room!.numberOfParticipantsTotal) numberOfPeople = String(room!.numberOfParticipantsTotal)
genderRestriction = room!.genderRestriction ?? .ALL isAdult = room!.isAdult
genderRestriction = isAdult ? (room!.genderRestriction ?? .ALL) : .ALL
if let beginDate = room!.beginDateTimeUtc.parseUtcIsoDate() { if let beginDate = room!.beginDateTimeUtc.parseUtcIsoDate() {
reservationDate = beginDate reservationDate = beginDate
@@ -77,13 +85,15 @@ final class LiveRoomEditViewModel: ObservableObject {
let beginTime = reservationTime.convertDateFormat(dateFormat: "HH:mm") let beginTime = reservationTime.convertDateFormat(dateFormat: "HH:mm")
let beginDateTime = "\(beginDate) \(beginTime)" let beginDateTime = "\(beginDate) \(beginTime)"
let desiredGenderRestriction: LiveRoomCreateViewModel.GenderRestriction = isAdult ? genderRestriction : .ALL
let currentGenderRestriction = room.genderRestriction ?? .ALL
let request = EditLiveRoomInfoRequest( let request = EditLiveRoomInfoRequest(
title: room.title != title ? title : nil, title: room.title != title ? title : nil,
notice: room.notice != notice ? notice : nil, notice: room.notice != notice ? notice : nil,
numberOfPeople: room.numberOfParticipantsTotal != Int(numberOfPeople)! ? Int(numberOfPeople)! : nil, numberOfPeople: room.numberOfParticipantsTotal != Int(numberOfPeople)! ? Int(numberOfPeople)! : nil,
beginDateTimeString: beginDateTimeStr != beginDateTime ? beginDateTime : nil, beginDateTimeString: beginDateTimeStr != beginDateTime ? beginDateTime : nil,
timezone: TimeZone.current.identifier, timezone: TimeZone.current.identifier,
genderRestriction: (room.genderRestriction ?? .ALL) != genderRestriction ? genderRestriction : nil genderRestriction: currentGenderRestriction != desiredGenderRestriction ? desiredGenderRestriction : nil
) )
if ( if (