sodalive-ios/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsOptionView....

83 lines
2.8 KiB
Swift

//
// RouletteSettingsOptionView.swift
// SodaLive
//
// Created by klaus on 2023/12/05.
//
import SwiftUI
struct RouletteSettingsOptionView: View {
@ObservedObject var option: RouletteOption
let index: Int
let onClickDelete: () -> Void
var body: some View {
VStack(spacing: 6.7) {
HStack(spacing: 0) {
Text("옵션 \(index + 1)")
.font(.custom(Font.medium.rawValue, size: 14.7))
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
if index > 1 {
Text("삭제")
.font(.custom(Font.medium.rawValue, size: 14.7))
.foregroundColor(Color(hex: "ff5c49"))
.onTapGesture { onClickDelete() }
}
}
HStack(spacing: 8) {
TextField("옵션을 입력하세요", text: $option.title)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.keyboardType(.default)
.padding(.horizontal, 13.3)
.padding(.vertical, 16.7)
.frame(maxWidth: .infinity)
.background(Color(hex: "222222"))
.cornerRadius(6.7)
HStack(spacing: 0) {
TextField("0.00", text: $option.percentage)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.keyboardType(.decimalPad)
.onChange(of: option.percentage) { newValue in
if newValue.count > 5 {
option.percentage = String(newValue.prefix(5))
}
}
Text("%")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
}
.padding(.horizontal, 13.3)
.padding(.vertical, 16.7)
.frame(maxWidth: 85)
.background(Color(hex: "222222"))
.cornerRadius(6.7)
}
}
}
}
struct RouletteSettingsOptionView_Previews: PreviewProvider {
static var previews: some View {
RouletteSettingsOptionView(
option: RouletteOption(title: "옵션1", percentage: ""),
index: 2,
onClickDelete: {}
)
}
}