You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.3 KiB

//
// ParametersMenuView.swift
// ArkitDoushiQi
//
// Created by Johan LACHENAL on 21/05/2024.
//
import SwiftUI
struct GeneralParametersMenuView: View {
@State private var selectedAIOption: AI
@State private var selectedLanguageOption: Language
@State private var selectedRulesOption: Rules
let ParametersTitle : String
let DarkModeDescription : String
let DarModeBooleanName : String
let DarkModeDefaultValue : Bool
let LanguagePickerTitle : String
init(parametersTitle: String,selectedAIOption: AI, selectedLanguageOption: Language, selectedRulesOption: Rules, DarkModeDescription: String, DarModeBooleanName: String, DarkModeDefaultValue: Bool, LanguagePickerTitle: String) {
self.ParametersTitle = parametersTitle
self.selectedAIOption = selectedAIOption
self.selectedLanguageOption = selectedLanguageOption
self.selectedRulesOption = selectedRulesOption
self.DarkModeDescription = DarkModeDescription
self.DarModeBooleanName = DarModeBooleanName
self.DarkModeDefaultValue = DarkModeDefaultValue
self.LanguagePickerTitle = LanguagePickerTitle
}
var body: some View {
VStack(alignment: .leading) {
HStack(alignment: .center) {
Text(ParametersTitle).bold().font(.title)
}.frame(maxWidth: .infinity)
Spacer().frame(maxHeight: 30)
ToggleComponent(description: "Dark mode", booleanName: "isDarkMode", booleanDefaultValue: false)
PickerComponent(title: "Sélectionne un langage :",
selectedOption: $selectedLanguageOption,
options: Language.allCases)
}.frame(maxHeight: .infinity, alignment: .top)
}
}
struct GeneralParametersMenuView_Previews: PreviewProvider {
static var previews: some View {
GeneralParametersMenuView(
parametersTitle: "Paramètres",
selectedAIOption: .RandomAction,
selectedLanguageOption: .French,
selectedRulesOption: .Regular,
DarkModeDescription: "Dark Mode",
DarModeBooleanName: "isDarkMode",
DarkModeDefaultValue: false,
LanguagePickerTitle: "Séléctionne un langage"
)
}
}