From f892a0585117ebb65708eed454a1cb90b653ae95 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 25 Mar 2025 15:19:42 +0100 Subject: [PATCH] Improve download view --- PadelClub/PadelClubApp.swift | 43 +++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/PadelClub/PadelClubApp.swift b/PadelClub/PadelClubApp.swift index aed4326..8ac2503 100644 --- a/PadelClub/PadelClubApp.swift +++ b/PadelClub/PadelClubApp.swift @@ -19,7 +19,7 @@ struct PadelClubApp: App { @State private var importObserverViewModel = ImportObserver() @Environment(\.horizontalSizeClass) var horizontalSizeClass - @State var blockApp = false + @State var requiredVersion: String? = nil @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate @@ -65,8 +65,8 @@ struct PadelClubApp: App { var body: some Scene { WindowGroup { - if self.blockApp { - DownloadNewVersionView() + if let requiredVersion { + DownloadNewVersionView(version: requiredVersion) } else { MainView() .environment(\.horizontalSizeClass, .compact) @@ -125,7 +125,9 @@ struct PadelClubApp: App { Logger.log(">>> REQUIRED VERSION = \(requiredVersion)") if let currentVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String { await MainActor.run { - self.blockApp = VersionComparator.compare(cleanedRequired, currentVersion) == 1 + if VersionComparator.compare(cleanedRequired, currentVersion) == 1 { + self.requiredVersion = cleanedRequired + } } } } @@ -211,22 +213,40 @@ struct PadelClubApp: App { struct DownloadNewVersionView: View { + var version: String + var body: some View { VStack { // AngledStripesBackground() Spacer() - Text("Veuillez télécharger la nouvelle version de Padel Club pour continuer à vous servir de l'app !") - .padding(32.0) - .background(.logoYellow) - .clipShape(.buttonBorder) + VStack(spacing: 20.0) { + Text("Veuillez télécharger la nouvelle version de Padel Club pour continuer à vous servir de l'app !") + .fontWeight(.semibold) + .foregroundStyle(.white) + .padding() + .background(.logoRed) + .clipShape(.buttonBorder) +// .padding(32.0) + + VStack(alignment: .center, spacing: 0.0 + ) { + Text("Version \(self.version)") + .fontWeight(.bold) + + Image(systemName: "square.and.arrow.down").font(.title) + }.padding().background(.logoYellow) + .clipShape(.buttonBorder) + + }.frame(maxWidth: .infinity) .foregroundStyle(.logoBackground) .fontWeight(.medium) .multilineTextAlignment(.center) - .padding(.horizontal, 64.0) + .padding(.horizontal, 36.0) Image("logo").padding(.vertical, 50.0) Spacer() - }.background(.logoBackground) + } + .background(.logoBackground) .onTapGesture { UIApplication.shared.open(URLs.appStore.url) } @@ -235,3 +255,6 @@ struct DownloadNewVersionView: View { } +#Preview { + DownloadNewVersionView(version: "1.2") +}