sodalive-ios/SodaLive/Sources/Live/Cancel/LiveCancelDialog.swift

78 lines
2.6 KiB
Swift

//
// LiveCancelDialog.swift
// SodaLive
//
// Created by klaus on 2023/08/14.
//
import SwiftUI
struct LiveCancelDialog: View {
@Binding var isShowCancelPopup: Bool
let confirmAction: (String) -> Void
@State var reason: String = ""
var placeholder = "취소사유를 입력하세요"
var body: some View {
VStack(spacing: 0) {
Text("예약취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color(hex: "bbbbbb"))
.padding(.top, 40)
TextViewWrapper(
text: $reason,
placeholder: placeholder,
textColorHex: "eeeeee",
backgroundColorHex: "333333"
)
.frame(width: screenSize().width - 53.4, height: 150)
.cornerRadius(6.7)
.overlay(
RoundedRectangle(cornerRadius: 6.7)
.stroke(Color(hex: "9970ff"), lineWidth: 1.3)
)
.padding(.top, 13.3)
HStack(spacing: 13.3) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color(hex: "9970ff"))
.padding(.vertical, 16)
.padding(.horizontal, 48)
.background(Color(hex: "9970ff").opacity(0.2))
.cornerRadius(10)
.overlay(
RoundedRectangle(cornerRadius: 10)
.stroke(Color(hex: "9970ff"), lineWidth: 1.3)
)
.onTapGesture {
isShowCancelPopup = false
}
Text("확인")
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(.white)
.padding(.vertical, 16)
.padding(.horizontal, 48)
.background(Color(hex: "9970ff"))
.cornerRadius(10)
.onTapGesture {
confirmAction(reason.trimmingCharacters(in: .whitespacesAndNewlines) != placeholder ? reason : "")
isShowCancelPopup = false
}
}
.padding(.top, 45)
.padding(.bottom, 16.7)
}
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "222222"))
.cornerRadius(10)
.onAppear {
UITextView.appearance().backgroundColor = .clear
}
}
}