From 0feb38d6045fdb1355f28f284e1fd5fd7b97274b Mon Sep 17 00:00:00 2001 From: "johan.lachenal" Date: Tue, 21 May 2024 12:47:07 +0200 Subject: [PATCH] =?UTF-8?q?Update(MainMenu)=20:=20Ajout=20de=20la=20correc?= =?UTF-8?q?tion,=20maintenant,=20les=20boutons=20et=20le=20menu=20principa?= =?UTF-8?q?l=20ne=20sont=20plus=20le=20m=C3=AAme=20composant=20visuel=20do?= =?UTF-8?q?nc=20on=20peut=20r=C3=A9utiliser=20les=20boutons=20du=20menu=20?= =?UTF-8?q?priincipal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Preview Content/MainMenu.swift | 42 ++++--------------- .../Preview Content/MainMenuButton.swift | 22 +++++++--- 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenu.swift b/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenu.swift index d80f4fd..04a5596 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenu.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenu.swift @@ -13,40 +13,14 @@ struct MainMenu: View { NavigationView { VStack { Spacer() - NavigationLink("parties enregistrées"){ - // ici mettre la vue sur les parties enregistrées à la place du texte n'hésite pas à tester sur la preview la navigation ça marche, faire pareil pour les autres - Text("Go to parties enregistrées") - } - .frame(maxWidth: .infinity) - .padding(EdgeInsets(top: 10, leading: 32, bottom: 10, trailing: 32)) - .buttonStyle(.bordered) - .controlSize(.large) - .foregroundColor(.white) - .background(.black) - .buttonBorderShape(.roundedRectangle) - .clipShape(Capsule()) - Spacer().frame(height: 50) - NavigationLink("paramètres"){ - Text("Go to paramètres") - } - .frame(maxWidth: .infinity) - .padding(EdgeInsets(top: 10, leading: 32, bottom: 10, trailing: 32)) - .buttonStyle(.bordered) - .controlSize(.large) - .foregroundColor(.white) - .background(.black) - .clipShape(Capsule()) - Spacer().frame(height: 50) - NavigationLink("jouer"){ - Text("Go to jouer") - } - .frame(maxWidth: .infinity) - .padding(EdgeInsets(top: 10, leading: 32, bottom: 10, trailing: 32)) - .buttonStyle(.bordered) - .controlSize(.large) - .foregroundColor(.white) - .background(.black) - .clipShape(Capsule()) + MainMenuButton(title: "parties enregistrées") + { Text("parties enregistrées page") } + Spacer().frame(height: 20) + MainMenuButton(title: "paramètres") + { Text("paramètres page") } + Spacer().frame(height: 20) + MainMenuButton(title: "jouer") + { Text("jeu page") } Spacer() } .fixedSize(horizontal: false, vertical: true) diff --git a/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenuButton.swift b/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenuButton.swift index e1d55da..2fe9fee 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenuButton.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Preview Content/MainMenuButton.swift @@ -7,10 +7,17 @@ import SwiftUI -struct MainMenuButton: View { +struct MainMenuButton: View { let content: Content + let title: String + + init(title: String, @ViewBuilder content: () -> Content) { + self.title = title + self.content = content() + } + var body: some View { - NavigationLink("parties enregistrées"){ + NavigationLink(title){ // ici mettre la vue sur les parties enregistrées à la place du texte n'hésite pas à tester sur la preview la navigation ça marche, faire pareil pour les autres content } @@ -22,12 +29,17 @@ struct MainMenuButton: View { .background(.black) .buttonBorderShape(.roundedRectangle) .clipShape(Capsule()) - Spacer().frame(height: 50) } } struct MainMenuButton_Previews: PreviewProvider { static var previews: some View { - MainMenuButton().destination = Text("je suis un test") - } + NavigationView { + VStack { + MainMenuButton(title: "Parties enregistrées") { + Text("Je suis un test") + } + } + } + } }