From 768b185c0a591d1b0ca48d4963ab5b8f96865c88 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 5 May 2025 10:57:50 +0200 Subject: [PATCH 1/3] remove unused file --- PadelClub.xcodeproj/project.pbxproj | 8 --- .../Subscription/SubscriptionInfoView.swift | 58 ------------------- 2 files changed, 66 deletions(-) delete mode 100644 PadelClub/Views/Tournament/Subscription/SubscriptionInfoView.swift diff --git a/PadelClub.xcodeproj/project.pbxproj b/PadelClub.xcodeproj/project.pbxproj index 04b8973..387f3bb 100644 --- a/PadelClub.xcodeproj/project.pbxproj +++ b/PadelClub.xcodeproj/project.pbxproj @@ -69,7 +69,6 @@ C49C731F2D5E3BE8008DD299 /* VersionComparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49C731D2D5E3BE4008DD299 /* VersionComparator.swift */; }; C49C73202D5E3BE8008DD299 /* VersionComparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49C731D2D5E3BE4008DD299 /* VersionComparator.swift */; }; C49EF0192BD694290077B5AA /* PurchaseListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0182BD694290077B5AA /* PurchaseListView.swift */; }; - C49EF0262BD80AE80077B5AA /* SubscriptionInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */; }; C49EF0392BDFF4600077B5AA /* LeStorage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C49EF0372BDFF3000077B5AA /* LeStorage.framework */; }; C49EF03A2BDFF4600077B5AA /* LeStorage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C49EF0372BDFF3000077B5AA /* LeStorage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C49EF0422BE23BF50077B5AA /* PaymentTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0412BE23BF50077B5AA /* PaymentTests.swift */; }; @@ -236,7 +235,6 @@ FF4CBF872C996C0600151637 /* PointSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC00D2BBC3D4600B82851 /* PointSelectionView.swift */; }; FF4CBF882C996C0600151637 /* TeamRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EB52BB00A3800F0AEC7 /* TeamRowView.swift */; }; FF4CBF8A2C996C0600151637 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40CD2F22C412681000DBD9A /* AppDelegate.swift */; }; - FF4CBF8B2C996C0600151637 /* SubscriptionInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */; }; FF4CBF8C2C996C0600151637 /* EditScoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0012BBC39A600B82851 /* EditScoreView.swift */; }; FF4CBF8D2C996C0600151637 /* TournamentOrganizerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091612B90F04300AB08DA /* TournamentOrganizerView.swift */; }; FF4CBF8F2C996C0600151637 /* TournamentRunningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CF52BAED51600A9A3BD /* TournamentRunningView.swift */; }; @@ -487,7 +485,6 @@ FF70FB062C90584900129CC2 /* PointSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC00D2BBC3D4600B82851 /* PointSelectionView.swift */; }; FF70FB072C90584900129CC2 /* TeamRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EB52BB00A3800F0AEC7 /* TeamRowView.swift */; }; FF70FB092C90584900129CC2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40CD2F22C412681000DBD9A /* AppDelegate.swift */; }; - FF70FB0A2C90584900129CC2 /* SubscriptionInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */; }; FF70FB0B2C90584900129CC2 /* EditScoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0012BBC39A600B82851 /* EditScoreView.swift */; }; FF70FB0C2C90584900129CC2 /* TournamentOrganizerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091612B90F04300AB08DA /* TournamentOrganizerView.swift */; }; FF70FB0E2C90584900129CC2 /* TournamentRunningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CF52BAED51600A9A3BD /* TournamentRunningView.swift */; }; @@ -877,7 +874,6 @@ C49774BA2DC37C10005CD239 /* NetworkMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitor.swift; sourceTree = ""; }; C49C731D2D5E3BE4008DD299 /* VersionComparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionComparator.swift; sourceTree = ""; }; C49EF0182BD694290077B5AA /* PurchaseListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseListView.swift; sourceTree = ""; }; - C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionInfoView.swift; sourceTree = ""; }; C49EF0372BDFF3000077B5AA /* LeStorage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LeStorage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C49EF0412BE23BF50077B5AA /* PaymentTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentTests.swift; sourceTree = ""; }; C4A47D862B7BA36D00ADC637 /* UserCreationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserCreationView.swift; sourceTree = ""; }; @@ -1365,7 +1361,6 @@ children = ( C4A47D892B7BBB6500ADC637 /* SubscriptionView.swift */, C49EF0182BD694290077B5AA /* PurchaseListView.swift */, - C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */, C4D05D482DC10CBE009B053C /* PaymentStatusView.swift */, ); path = Subscription; @@ -2275,7 +2270,6 @@ FFCFC00E2BBC3D4600B82851 /* PointSelectionView.swift in Sources */, FF089EB62BB00A3800F0AEC7 /* TeamRowView.swift in Sources */, C40CD2F32C412681000DBD9A /* AppDelegate.swift in Sources */, - C49EF0262BD80AE80077B5AA /* SubscriptionInfoView.swift in Sources */, FFCFC00C2BBC3D1E00B82851 /* EditScoreView.swift in Sources */, FF7091622B90F04300AB08DA /* TournamentOrganizerView.swift in Sources */, FF967CF62BAED51600A9A3BD /* TournamentRunningView.swift in Sources */, @@ -2535,7 +2529,6 @@ FF4CBF872C996C0600151637 /* PointSelectionView.swift in Sources */, FF4CBF882C996C0600151637 /* TeamRowView.swift in Sources */, FF4CBF8A2C996C0600151637 /* AppDelegate.swift in Sources */, - FF4CBF8B2C996C0600151637 /* SubscriptionInfoView.swift in Sources */, FF4CBF8C2C996C0600151637 /* EditScoreView.swift in Sources */, FF4CBF8D2C996C0600151637 /* TournamentOrganizerView.swift in Sources */, FF4CBF8F2C996C0600151637 /* TournamentRunningView.swift in Sources */, @@ -2776,7 +2769,6 @@ FF70FB062C90584900129CC2 /* PointSelectionView.swift in Sources */, FF70FB072C90584900129CC2 /* TeamRowView.swift in Sources */, FF70FB092C90584900129CC2 /* AppDelegate.swift in Sources */, - FF70FB0A2C90584900129CC2 /* SubscriptionInfoView.swift in Sources */, FF70FB0B2C90584900129CC2 /* EditScoreView.swift in Sources */, FF70FB0C2C90584900129CC2 /* TournamentOrganizerView.swift in Sources */, FF70FB0E2C90584900129CC2 /* TournamentRunningView.swift in Sources */, diff --git a/PadelClub/Views/Tournament/Subscription/SubscriptionInfoView.swift b/PadelClub/Views/Tournament/Subscription/SubscriptionInfoView.swift deleted file mode 100644 index a94c903..0000000 --- a/PadelClub/Views/Tournament/Subscription/SubscriptionInfoView.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// OffersHeaderView.swift -// PadelClub -// -// Created by Laurent Morvillier on 23/04/2024. -// - -import SwiftUI -import TipKit -import PadelClubData - -struct SubscriptionInfoView: View { - - @State var payment: TournamentPayment? = .free - - var body: some View { - - Group { - switch self.payment { - case .free: - TipView(FreeTournamentTip()).tipStyle(tint: nil, background: .blue.opacity(0.2)) - case nil: - TipView(NoPaymentTip()).tipStyle(tint: nil, background: .logoRed) - default: - EmptyView() - } - }.onAppear { - self.payment = Guard.main.paymentForNewTournament() - } - - } - -} - -struct FreeTournamentTip: Tip { - var title: Text { - return Text("Nous vous offrons vos 3 premiers tournois ! Convoquez les équipes, créez les poules, le tableau comme vous le souhaitez. \nEnregistrez les résultats de chaque équipes et diffusez les scores en temps réel sur les écrans de votre club !\n\n Votre tournoi est décompté lorsque vous convoquez ou que vous rentrez un résultat.") - } - - var image: Image? { - Image(systemName: "gift.fill") - } - -} - -struct NoPaymentTip: Tip { - var title: Text { - return Text("Vous ne disposez plus d'une offre vous permettant de convoquer les joueurs et de rentrer les résultats des matchs. Nous vous invitons à consulter les offres dans l'onglet JA.").foregroundStyle(.white) - } - - var image: Image? { - Image(systemName: "exclamationmark.bubble.fill") - } -} - -//#Preview { -// SubscriptionInfoView(payment: .free) -//} From 661edd3534fa2015dc34912e7e4fde0a34f304a0 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 5 May 2025 10:58:07 +0200 Subject: [PATCH 2/3] Stop using websockets by default for now --- PadelClub/AppDelegate.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PadelClub/AppDelegate.swift b/PadelClub/AppDelegate.swift index dd39d25..f3f4833 100644 --- a/PadelClub/AppDelegate.swift +++ b/PadelClub/AppDelegate.swift @@ -35,9 +35,9 @@ class AppDelegate : NSObject, UIApplicationDelegate, UNUserNotificationCenterDel #if DEBUG if let secure = PListReader.readBool(plist: "local", key: "secure_server"), let domain = PListReader.readString(plist: "local", key: "server_domain") { - StoreCenter.main.configureURLs(secureScheme: secure, domain: domain) + StoreCenter.main.configureURLs(secureScheme: secure, domain: domain, webSockets: false) } else { - StoreCenter.main.configureURLs(secureScheme: true, domain: domain) + StoreCenter.main.configureURLs(secureScheme: true, domain: domain, webSockets: false) } #else StoreCenter.main.configureURLs(secureScheme: true, domain: domain) From fcbdb69270f79aa71ca1663068cdbdee273eaec9 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 5 May 2025 10:58:28 +0200 Subject: [PATCH 3/3] fix payment info being displayed when not necessary --- .../Extensions/Tournament+Extensions.swift | 18 ++++++++++++++++++ .../Views/Planning/PlanningSettingsView.swift | 3 +-- .../Views/Tournament/TournamentView.swift | 3 +-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/PadelClub/Extensions/Tournament+Extensions.swift b/PadelClub/Extensions/Tournament+Extensions.swift index 7b09900..76a516d 100644 --- a/PadelClub/Extensions/Tournament+Extensions.swift +++ b/PadelClub/Extensions/Tournament+Extensions.swift @@ -430,6 +430,24 @@ extension Tournament: TournamentBuildHolder { } } +// MARK: - UI extensions + +extension Tournament { + + public var shouldShowPaymentInfo: Bool { + if self.payment != nil { + return false + } + switch self.state() { + case .initial, .build, .running: + return true + default: + return false + } + } + +} + //extension Tournament { // func deadline(for type: TournamentDeadlineType) -> Date? { diff --git a/PadelClub/Views/Planning/PlanningSettingsView.swift b/PadelClub/Views/Planning/PlanningSettingsView.swift index 74bf764..2d56d71 100644 --- a/PadelClub/Views/Planning/PlanningSettingsView.swift +++ b/PadelClub/Views/Planning/PlanningSettingsView.swift @@ -48,9 +48,8 @@ struct PlanningSettingsView: View { var body: some View { List { - if tournament.payment == nil { + if tournament.shouldShowPaymentInfo { PaymentStatusView() -// SubscriptionInfoView() } Section { diff --git a/PadelClub/Views/Tournament/TournamentView.swift b/PadelClub/Views/Tournament/TournamentView.swift index d0fdd52..81a00f9 100644 --- a/PadelClub/Views/Tournament/TournamentView.swift +++ b/PadelClub/Views/Tournament/TournamentView.swift @@ -51,9 +51,8 @@ struct TournamentView: View { var body: some View { VStack(spacing: 0.0) { List { - if tournament.state() != .finished && tournament.payment == nil { + if tournament.shouldShowPaymentInfo { PaymentStatusView() -// SubscriptionInfoView() } switch tournament.state() {