sodalive-ios/SodaLive/Sources/Content/Detail/AudioContentDeleteDialogVie...

98 lines
3.4 KiB
Swift

//
// AudioContentDeleteDialogView.swift
// SodaLive
//
// Created by klaus on 2023/08/13.
//
import SwiftUI
struct AudioContentDeleteDialogView: View {
@Binding var isShowing: Bool
let title: String
let confirmAction: () -> Void
let showToast: () -> Void
@State private var isAgree = false
var body: some View {
VStack(spacing: 0) {
Text("콘텐츠 삭제")
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color(hex: "eeeeee"))
Text("[\(title)]을 삭제하시겠습니까?")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.padding(.top, 21.3)
HStack(spacing: 13.3) {
Image(isAgree ? "btn_select_checked" : "btn_select_normal")
.resizable()
.frame(width: 20, height: 20)
.onTapGesture {
isAgree.toggle()
}
Text("삭제된 콘텐츠는 되돌릴 수 없음을 알고 있습니다.")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "eeeeee"))
.onTapGesture {
isAgree.toggle()
}
}
.padding(13.3)
.background(Color(hex: "303030"))
.cornerRadius(6.7)
.padding(.top, 13.3)
Text("콘텐츠를 삭제하더라도 이미 구매한\n사용자는 콘텐츠를 이용할 수 있습니다.")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "dd4500"))
.fixedSize(horizontal: false, vertical: true)
.multilineTextAlignment(.center)
.padding(.top, 13.3)
HStack(spacing: 12) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color(hex: "9970ff"))
.padding(.horizontal, 55)
.padding(.vertical, 16)
.overlay(
RoundedRectangle(cornerRadius: CGFloat(10))
.stroke(lineWidth: 1)
.foregroundColor(Color(hex: "9970ff"))
)
.onTapGesture {
isShowing = false
}
Text("확인")
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color(hex: "eeeeee"))
.padding(.horizontal, 55)
.padding(.vertical, 16)
.background(Color(hex: "9970ff"))
.cornerRadius(10)
.onTapGesture {
if isAgree {
isShowing = false
confirmAction()
} else {
showToast()
}
}
}
.padding(.top, 13.3)
}
.padding(.top, 40)
.padding(.horizontal, 16.7)
.padding(.bottom, 16.7)
.background(Color(hex: "222222"))
.cornerRadius(10)
}
}