Improve download view

sync_v2
Laurent 8 months ago
parent f77cd9d2c9
commit f892a05851
  1. 43
      PadelClub/PadelClubApp.swift

@ -19,7 +19,7 @@ struct PadelClubApp: App {
@State private var importObserverViewModel = ImportObserver() @State private var importObserverViewModel = ImportObserver()
@Environment(\.horizontalSizeClass) var horizontalSizeClass @Environment(\.horizontalSizeClass) var horizontalSizeClass
@State var blockApp = false @State var requiredVersion: String? = nil
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@ -65,8 +65,8 @@ struct PadelClubApp: App {
var body: some Scene { var body: some Scene {
WindowGroup { WindowGroup {
if self.blockApp { if let requiredVersion {
DownloadNewVersionView() DownloadNewVersionView(version: requiredVersion)
} else { } else {
MainView() MainView()
.environment(\.horizontalSizeClass, .compact) .environment(\.horizontalSizeClass, .compact)
@ -125,7 +125,9 @@ struct PadelClubApp: App {
Logger.log(">>> REQUIRED VERSION = \(requiredVersion)") Logger.log(">>> REQUIRED VERSION = \(requiredVersion)")
if let currentVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String { if let currentVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String {
await MainActor.run { 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 { struct DownloadNewVersionView: View {
var version: String
var body: some View { var body: some View {
VStack { VStack {
// AngledStripesBackground() // AngledStripesBackground()
Spacer() Spacer()
Text("Veuillez télécharger la nouvelle version de Padel Club pour continuer à vous servir de l'app !") VStack(spacing: 20.0) {
.padding(32.0) Text("Veuillez télécharger la nouvelle version de Padel Club pour continuer à vous servir de l'app !")
.background(.logoYellow) .fontWeight(.semibold)
.clipShape(.buttonBorder) .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) .foregroundStyle(.logoBackground)
.fontWeight(.medium) .fontWeight(.medium)
.multilineTextAlignment(.center) .multilineTextAlignment(.center)
.padding(.horizontal, 64.0) .padding(.horizontal, 36.0)
Image("logo").padding(.vertical, 50.0) Image("logo").padding(.vertical, 50.0)
Spacer() Spacer()
}.background(.logoBackground) }
.background(.logoBackground)
.onTapGesture { .onTapGesture {
UIApplication.shared.open(URLs.appStore.url) UIApplication.shared.open(URLs.appStore.url)
} }
@ -235,3 +255,6 @@ struct DownloadNewVersionView: View {
} }
#Preview {
DownloadNewVersionView(version: "1.2")
}

Loading…
Cancel
Save