Update(MainMenu) : Ajout de la correction, maintenant, les boutons et le menu principal ne sont plus le même

composant visuel donc on peut réutiliser les boutons du menu priincipal
pull/11/head
Johan LACHENAL 11 months ago
parent ddb8edc053
commit 0feb38d604

@ -13,40 +13,14 @@ struct MainMenu: View {
NavigationView { NavigationView {
VStack { VStack {
Spacer() Spacer()
NavigationLink("parties enregistrées"){ MainMenuButton(title: "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("parties enregistrées page") }
Text("Go to parties enregistrées") Spacer().frame(height: 20)
} MainMenuButton(title: "paramètres")
.frame(maxWidth: .infinity) { Text("paramètres page") }
.padding(EdgeInsets(top: 10, leading: 32, bottom: 10, trailing: 32)) Spacer().frame(height: 20)
.buttonStyle(.bordered) MainMenuButton(title: "jouer")
.controlSize(.large) { Text("jeu page") }
.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())
Spacer() Spacer()
} }
.fixedSize(horizontal: false, vertical: true) .fixedSize(horizontal: false, vertical: true)

@ -7,10 +7,17 @@
import SwiftUI import SwiftUI
struct MainMenuButton: View { struct MainMenuButton<Content : View>: View {
let content: Content let content: Content
let title: String
init(title: String, @ViewBuilder content: () -> Content) {
self.title = title
self.content = content()
}
var body: some View { 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 // 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 content
} }
@ -22,12 +29,17 @@ struct MainMenuButton: View {
.background(.black) .background(.black)
.buttonBorderShape(.roundedRectangle) .buttonBorderShape(.roundedRectangle)
.clipShape(Capsule()) .clipShape(Capsule())
Spacer().frame(height: 50)
} }
} }
struct MainMenuButton_Previews: PreviewProvider { struct MainMenuButton_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
MainMenuButton().destination = Text("je suis un test") NavigationView {
} VStack {
MainMenuButton(title: "Parties enregistrées") {
Text("Je suis un test")
}
}
}
}
} }

Loading…
Cancel
Save