// // MenuSettingsView.swift // SodaLive // // Created by klaus on 10/7/24. // import SwiftUI struct MenuSettingsView: View { @StateObject var viewModel = MenuSettingsViewModel() @Binding var isShowing: Bool var body: some View { BaseView(isLoading: $viewModel.isLoading) { VStack(spacing: 13.3) { DetailNavigationBar(title: I18n.MemberChannel.menuSettings) { isShowing = false } HStack(spacing: 13.3) { SelectedButtonView( title: I18n.MissionMenu.menu1, isActive: true, isSelected: viewModel.selectedMenu == .MENU_1 ) .onTapGesture { viewModel.selectMenuPreset(selectedMenuPreset: .MENU_1) } SelectedButtonView( title: I18n.MissionMenu.menu2, isActive: viewModel.menuList.count > 0, isSelected: viewModel.selectedMenu == .MENU_2 ) .onTapGesture { viewModel.selectMenuPreset(selectedMenuPreset: .MENU_2) } SelectedButtonView( title: I18n.MissionMenu.menu3, isActive: viewModel.menuList.count > 1, isSelected: viewModel.selectedMenu == .MENU_3 ) .onTapGesture { viewModel.selectMenuPreset(selectedMenuPreset: .MENU_3) } } .padding(.horizontal, 13.3) TextViewWrapper( text: $viewModel.menu, placeholder: I18n.CreateLive.menuPlaceholder, textColorHex: "eeeeee", backgroundColorHex: "303030" ) .frame(height: 300) .cornerRadius(6.7) .padding(.horizontal, 13.3) Text(I18n.CreateLive.saveMenuAction) .appFont(size: 18.3, weight: .bold) .foregroundColor(.white) .padding(.vertical, 16) .frame(maxWidth: .infinity) .background(Color.button) .cornerRadius(10) .padding(.horizontal, 13.3) .clipShape(Rectangle()) .onTapGesture { viewModel.saveMenu() } Spacer() } .edgesIgnoringSafeArea(.bottom) .onAppear { viewModel.getAllMenuPreset { self.isShowing = false } } .onTapGesture { hideKeyboard() } .sodaToast(isPresented: $viewModel.isShowPopup, message: viewModel.errorMessage, autohideIn: 2) } } } #Preview { MenuSettingsView(isShowing: .constant(true)) }