108 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  ContentDetailMenuView.swift
 | 
						|
//  SodaLive
 | 
						|
//
 | 
						|
//  Created by klaus on 2023/08/13.
 | 
						|
//
 | 
						|
 | 
						|
import SwiftUI
 | 
						|
 | 
						|
struct ContentDetailMenuView: View {
 | 
						|
    
 | 
						|
    @Binding var isShowing: Bool
 | 
						|
    
 | 
						|
    let isPin: Bool
 | 
						|
    let isShowCreatorMenu: Bool
 | 
						|
    
 | 
						|
    let pinAction: () -> Void
 | 
						|
    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(isPin ? "ic_pin_cancel" : "ic_pin")
 | 
						|
                            
 | 
						|
                            Text(isPin ? "내 채널에 고정 취소" : "내 채널에 고정")
 | 
						|
                                .font(.custom(Font.medium.rawValue, size: 16.7))
 | 
						|
                                .foregroundColor(.white)
 | 
						|
                            
 | 
						|
                            Spacer()
 | 
						|
                        }
 | 
						|
                        .padding(.vertical, 8)
 | 
						|
                        .padding(.horizontal, 26.7)
 | 
						|
                        .contentShape(Rectangle())
 | 
						|
                        .onTapGesture {
 | 
						|
                            isShowing = false
 | 
						|
                            pinAction()
 | 
						|
                        }
 | 
						|
                        
 | 
						|
                        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])
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |