//
//  LiveRoomDialogView.swift
//  SodaLive
//
//  Created by klaus on 2023/08/14.
//

import SwiftUI

struct LiveRoomDialogView: View {
    
    let content: String
    
    let cancelTitle: String?
    let cancelAction: (() -> Void)?
    
    let confirmTitle: String?
    let confirmAction: (() -> Void)?
    
    var body: some View {
        VStack(alignment: .leading, spacing: 0) {
            HStack(alignment: .center, spacing: 11.7) {
                Image(content.contains("룰렛") ? "ic_roulette" : "ic_request_speak")
                    .resizable()
                    .frame(width: 36, height: 36)
                
                Text(content)
                    .font(.custom(Font.medium.rawValue, size: 13.3))
                    .foregroundColor(Color(hex: "eeeeee"))
            }
            .padding(.horizontal, 26.7)
            
            HStack(spacing: 10) {
                Spacer()
                
                if let cancelTitle = cancelTitle, let cancelAction = cancelAction {
                    Text(cancelTitle)
                        .font(.custom(Font.medium.rawValue, size: 10))
                        .foregroundColor(.white)
                        .padding(.horizontal, 8)
                        .padding(.vertical, 8.3)
                        .background(Color.white.opacity(0.2))
                        .cornerRadius(13.3)
                        .overlay(
                            RoundedRectangle(cornerRadius: 13.3)
                                .strokeBorder()
                                .foregroundColor(.white)
                        )
                        .onTapGesture { cancelAction() }
                }
                
                if let confirmTitle = confirmTitle, let confirmAction = confirmAction {
                    Text(confirmTitle)
                        .font(.custom(Font.medium.rawValue, size: 10))
                        .foregroundColor(Color(hex: "3bb9f1"))
                        .padding(.horizontal, 8)
                        .padding(.vertical, 8.3)
                        .background(Color.white)
                        .cornerRadius(13.3)
                        .onTapGesture { confirmAction() }
                }
            }
            .padding(.horizontal, 26.7)
            .padding(.top, confirmTitle != nil || cancelTitle != nil ? 10 : 0)
        }
        .padding(.vertical, 20)
        .background(Color(hex: "3bb9f1"))
        .cornerRadius(16.7)
        .padding(.horizontal, 26.7)
        .frame(width: screenSize().width)
    }
}
