98 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			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)
 | 
						|
    }
 | 
						|
}
 |