|
|
|
@ -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() |
|
|
|
|
|
|
|
VStack(spacing: 20.0) { |
|
|
|
Text("Veuillez télécharger la nouvelle version de Padel Club pour continuer à vous servir de l'app !") |
|
|
|
Text("Veuillez télécharger la nouvelle version de Padel Club pour continuer à vous servir de l'app !") |
|
|
|
.padding(32.0) |
|
|
|
.fontWeight(.semibold) |
|
|
|
.background(.logoYellow) |
|
|
|
.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) |
|
|
|
.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") |
|
|
|
|
|
|
|
} |
|
|
|
|