|
|
|
@ -9,45 +9,55 @@ import SwiftUI
|
|
|
|
|
|
|
|
|
|
struct MainMenu: View {
|
|
|
|
|
@EnvironmentObject var languageSettings: LanguageSettings
|
|
|
|
|
let playButtonText : String
|
|
|
|
|
let registeredGamesButtonText : String
|
|
|
|
|
let ParametersButtontText : String
|
|
|
|
|
let playButtonText: String
|
|
|
|
|
let registeredGamesButtonText: String
|
|
|
|
|
let parametersButtonText: String
|
|
|
|
|
@State private var action: Int? = 0
|
|
|
|
|
@AppStorage("isDarkMode") private var isDarkMode = false
|
|
|
|
|
@State private var reloadView = false // Déclarer reloadView ici
|
|
|
|
|
|
|
|
|
|
var body: some View {
|
|
|
|
|
ZStack {
|
|
|
|
|
NavigationView {
|
|
|
|
|
VStack {
|
|
|
|
|
Spacer()
|
|
|
|
|
HStack() {
|
|
|
|
|
Text("DouShiQi")
|
|
|
|
|
.bold()
|
|
|
|
|
.font(.title).padding()
|
|
|
|
|
VStack {
|
|
|
|
|
Spacer()
|
|
|
|
|
HStack {
|
|
|
|
|
Text("DouShiQi")
|
|
|
|
|
.bold()
|
|
|
|
|
.font(.title).padding()
|
|
|
|
|
}
|
|
|
|
|
Spacer().frame(height: 40)
|
|
|
|
|
VStack(alignment: .leading) {
|
|
|
|
|
ButtonComponent(title: playButtonText) {
|
|
|
|
|
GameParametersMenuView()
|
|
|
|
|
}
|
|
|
|
|
Spacer().frame(height: 40)
|
|
|
|
|
VStack(alignment: .leading) {
|
|
|
|
|
ButtonComponent(title: playButtonText)
|
|
|
|
|
{ GameParametersMenuView() }
|
|
|
|
|
Spacer().frame(height: 30)
|
|
|
|
|
ButtonComponent(title: registeredGamesButtonText)
|
|
|
|
|
{ Text("parties enregistrées page") }
|
|
|
|
|
Spacer().frame(height: 30)
|
|
|
|
|
ButtonComponent(title: ParametersButtontText)
|
|
|
|
|
{ GeneralParametersMenuView(
|
|
|
|
|
Spacer().frame(height: 30)
|
|
|
|
|
ButtonComponent(title: registeredGamesButtonText) {
|
|
|
|
|
Text("parties enregistrées page")
|
|
|
|
|
}
|
|
|
|
|
Spacer().frame(height: 30)
|
|
|
|
|
ButtonComponent(title: parametersButtonText) {
|
|
|
|
|
GeneralParametersMenuView(
|
|
|
|
|
selectedAIOption: .RandomAction,
|
|
|
|
|
selectedRulesOption: .Regular
|
|
|
|
|
)}
|
|
|
|
|
).id(reloadView) // Utilisez l'ID pour forcer le rechargement de la vue
|
|
|
|
|
}
|
|
|
|
|
Spacer()
|
|
|
|
|
}
|
|
|
|
|
.padding(EdgeInsets(top: 10, leading: 32, bottom: 10, trailing: 32))
|
|
|
|
|
Spacer()
|
|
|
|
|
}
|
|
|
|
|
.padding(EdgeInsets(top: 10, leading: 32, bottom: 10, trailing: 32))
|
|
|
|
|
}
|
|
|
|
|
.environmentObject(languageSettings)
|
|
|
|
|
.onReceive(NotificationCenter.default.publisher(for: NSNotification.Name("LanguageChanged"))) { _ in
|
|
|
|
|
self.reloadView.toggle() // Changez la valeur pour forcer le rechargement
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct MainMenu_Previews: PreviewProvider {
|
|
|
|
|
static var previews: some View {
|
|
|
|
|
MainMenu(playButtonText: "Jouer", registeredGamesButtonText: "Parties enregistrées",ParametersButtontText: "Paramètres")
|
|
|
|
|
MainMenu(playButtonText: "Jouer", registeredGamesButtonText: "Parties enregistrées", parametersButtonText: "Paramètres")
|
|
|
|
|
.environmentObject(LanguageSettings(selectedLanguage: .French))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|