// // LiveRoomMenuSelectView.swift // SodaLive // // Created by klaus on 3/8/24. // import SwiftUI struct LiveRoomMenuSelectView: View { @Binding var menu: String @Binding var isActivate: Bool let menuCount: Int let selectedMenu: SelectedMenu? let selectMenu: (SelectedMenu) -> Void var body: some View { VStack(alignment: .leading, spacing: 0) { Text("메뉴") .font(.custom(Font.bold.rawValue, size: 16.7)) .foregroundColor(Color(hex: "eeeeee")) HStack(spacing: 0) { Text("메뉴를 활성화 하시겠습니까?") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color(hex: "eeeeee")) Spacer() Image(isActivate ? "btn_toggle_on_big" : "btn_toggle_off_big") .resizable() .frame(width: 33.3, height: 20) .onTapGesture { isActivate.toggle() selectMenu(.MENU_1) } } .padding(.top, 8) if isActivate { VStack(spacing: 13.3) { HStack(spacing: 13.3) { SelectedButtonView( title: "메뉴 1", isActive: true, isSelected: selectedMenu == .MENU_1 ) .onTapGesture { selectMenu(.MENU_1) } SelectedButtonView( title: "메뉴 2", isActive: menuCount > 0, isSelected: selectedMenu == .MENU_2 ) .onTapGesture { selectMenu(.MENU_2) } SelectedButtonView( title: "메뉴 3", isActive: menuCount > 1, isSelected: selectedMenu == .MENU_3 ) .onTapGesture { selectMenu(.MENU_3) } } TextViewWrapper( text: $menu, placeholder: "메뉴판을 작성해주세요.", textColorHex: "eeeeee", backgroundColorHex: "303030" ) .frame(height: 200) .cornerRadius(6.7) } .padding(.top, 13.3) } } } } #Preview { LiveRoomMenuSelectView( menu: .constant("메뉴 1 입니다\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n테스트"), isActivate: .constant(true), menuCount: 2, selectedMenu: .MENU_1, selectMenu: { _ in } ) }