From c3db0a8e86fba4c5603d6caa086d52bbdd2167b3 Mon Sep 17 00:00:00 2001 From: Mathieu GROUSSEAU Date: Wed, 11 Jun 2025 11:15:28 +0200 Subject: [PATCH] WIP fix view constructed when not used...? --- App/App/View/NewGameView.swift | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/App/App/View/NewGameView.swift b/App/App/View/NewGameView.swift index 3b5d168..6e45fee 100644 --- a/App/App/View/NewGameView.swift +++ b/App/App/View/NewGameView.swift @@ -48,15 +48,29 @@ struct NewGameView: View { Section(header: Label("newGame.timeLimit", systemImage: "stopwatch")) { } - - NavigationLink(destination: IngameView(settings: vm, player1: p1, player2: p2)/*.navigationTitle("inGame.title")*/) { - Label("newGame.play", systemImage: "play") - } + } + }.toolbar { + NavigationLink { + NavigationLazyView(IngameView(settings: vm, player1: p1, player2: p2)) + // .navigationTitle(Text("Titre" as String)) + } label: { + Label("newGame.play", systemImage: "play") } } } } +// https://stackoverflow.com/questions/57594159/swiftui-navigationlink-loads-destination-view-immediately-without-clicking/61234030#61234030 +struct NavigationLazyView: View { + let build: () -> Content + init(_ build: @autoclosure @escaping () -> Content) { + self.build = build + } + var body: Content { + build() + } +} + private struct PlayerSectionView: View { @ObservedObject private var settings: PlayerSettingsVM