//
//  CreatorCommunityMenuView.swift
//  SodaLive
//
//  Created by klaus on 1/29/24.
//

import SwiftUI

struct CreatorCommunityMenuView: View {
    @Binding var isShowing: Bool
    
    let isShowCreatorMenu: Bool
    
    let modifyAction: () -> Void
    let deleteAction: () -> Void
    let reportAction: () -> Void
    
    var body: some View {
        ZStack {
            Color.black
                .opacity(0.7)
                .ignoresSafeArea()
                .onTapGesture { isShowing = false }
            
            VStack(spacing: 0) {
                Spacer()
                
                VStack(spacing: 13.3) {
                    if isShowCreatorMenu {
                        HStack(spacing: 13.3) {
                            Image("ic_make_message")
                            
                            Text("수정")
                                .font(.custom(Font.medium.rawValue, size: 16.7))
                                .foregroundColor(.white)
                            
                            Spacer()
                        }
                        .padding(.vertical, 8)
                        .padding(.horizontal, 26.7)
                        .contentShape(Rectangle())
                        .onTapGesture {
                            isShowing = false
                            modifyAction()
                        }
                        
                        HStack(spacing: 13.3) {
                            Image("ic_trash_can")
                            
                            Text("삭제")
                                .font(.custom(Font.medium.rawValue, size: 16.7))
                                .foregroundColor(.white)
                            
                            Spacer()
                        }
                        .padding(.vertical, 8)
                        .padding(.horizontal, 26.7)
                        .contentShape(Rectangle())
                        .onTapGesture {
                            isShowing = false
                            deleteAction()
                        }
                    } else {
                        HStack(spacing: 0) {
                            Text("신고")
                                .font(.custom(Font.medium.rawValue, size: 16.7))
                                .foregroundColor(.white)
                            
                            Spacer()
                        }
                        .padding(.vertical, 8)
                        .padding(.horizontal, 26.7)
                        .contentShape(Rectangle())
                        .onTapGesture {
                            isShowing = false
                            reportAction()
                        }
                    }
                }
                .padding(24)
                .background(Color(hex: "222222"))
                .cornerRadius(13.3, corners: [.topLeft, .topRight])
            }
        }
    }
}

#Preview {
    CreatorCommunityMenuView(
        isShowing: .constant(true),
        isShowCreatorMenu: true,
        modifyAction: {},
        deleteAction: {},
        reportAction: {}
    )
}
