크리에이터 채널 - 룰렛 설정

- 룰렛 설정 완료 메시지 표시
This commit is contained in:
Yu Sung 2024-10-04 14:04:08 +09:00
parent bb85658cb0
commit 76b5e62e6c
3 changed files with 24 additions and 9 deletions

View File

@ -202,7 +202,7 @@ struct UserProfileView: View {
Rectangle()
.frame(height: 6.7)
.foregroundColor(Color(hex: "909090").opacity(0.5))
.foregroundColor(Color.gray90.opacity(0.5))
}
.padding(.top, 26.7)
}
@ -240,7 +240,7 @@ struct UserProfileView: View {
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.background(Color(hex: "9970ff"))
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
.cornerRadius(20)
@ -363,7 +363,10 @@ struct UserProfileView: View {
}
if isShowRouletteSettings {
RouletteSettingsView(isShowing: $isShowRouletteSettings, availableActive: false) { _, _ in }
RouletteSettingsView(isShowing: $isShowRouletteSettings, availableActive: false) { _, message in
viewModel.errorMessage = message
viewModel.isShowPopup = true
}
}
}
.sheet(

View File

@ -216,6 +216,7 @@ struct RouletteSettingsView: View {
)
}
}
.ignoresSafeArea()
.popup(isPresented: $viewModel.isShowErrorPopup, type: .toast, position: .top, autohideIn: 1.3) {
GeometryReader { geo in
HStack {
@ -234,6 +235,7 @@ struct RouletteSettingsView: View {
}
}
.onAppear {
viewModel.availableActive = availableActive
viewModel.getAllRoulette(creatorId: UserDefaults.int(forKey: .userId))
}
}

View File

@ -48,6 +48,8 @@ final class RouletteSettingsViewModel: ObservableObject {
@Published var totalPercentage = Float(0)
var availableActive: Bool = true
func addOption() {
if (options.count >= 10) {
return
@ -177,11 +179,15 @@ final class RouletteSettingsViewModel: ObservableObject {
selectedRouletteTitle = "룰렛 1"
}
if availableActive {
if isActive {
successMessage = "\(selectedRouletteTitle)로 설정하였습니다."
} else {
successMessage = "\(selectedRouletteTitle)을 설정했습니다."
}
} else {
successMessage = "\(selectedRouletteTitle)을 생성했습니다."
}
let request = CreateRouletteRequest(can: can, isActive: isActive, items: items)
repository.createRoulette(request: request)
@ -244,11 +250,15 @@ final class RouletteSettingsViewModel: ObservableObject {
selectedRouletteTitle = "룰렛 1"
}
if availableActive {
if isActive {
successMessage = "\(selectedRouletteTitle)을 활성화 했습니다."
} else {
successMessage = "\(selectedRouletteTitle)을 비활성화 했습니다."
}
} else {
successMessage = "\(selectedRouletteTitle)을 변경했습니다."
}
let request = UpdateRouletteRequest(id: rouletteId, can: can, isActive: isActive, items: items)
repository.updateRoulette(request: request)