Merge remote-tracking branch 'refs/remotes/origin/main'

sync3
Raz 6 months ago
commit f2f9ec3821
  1. 8
      PadelClub.xcodeproj/project.pbxproj
  2. 4
      PadelClub/AppDelegate.swift
  3. 18
      PadelClub/Extensions/Tournament+Extensions.swift
  4. 3
      PadelClub/Views/Planning/PlanningSettingsView.swift
  5. 58
      PadelClub/Views/Tournament/Subscription/SubscriptionInfoView.swift
  6. 3
      PadelClub/Views/Tournament/TournamentView.swift

@ -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 */; };
@ -240,7 +239,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 */; };
@ -491,7 +489,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 */; };
@ -883,7 +880,6 @@
C49774BA2DC37C10005CD239 /* NetworkMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitor.swift; sourceTree = "<group>"; };
C49C731D2D5E3BE4008DD299 /* VersionComparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionComparator.swift; sourceTree = "<group>"; };
C49EF0182BD694290077B5AA /* PurchaseListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseListView.swift; sourceTree = "<group>"; };
C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionInfoView.swift; sourceTree = "<group>"; };
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 = "<group>"; };
C4A47D862B7BA36D00ADC637 /* UserCreationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserCreationView.swift; sourceTree = "<group>"; };
@ -1377,7 +1373,6 @@
children = (
C4A47D892B7BBB6500ADC637 /* SubscriptionView.swift */,
C49EF0182BD694290077B5AA /* PurchaseListView.swift */,
C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */,
C4D05D482DC10CBE009B053C /* PaymentStatusView.swift */,
);
path = Subscription;
@ -2287,7 +2282,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 */,
@ -2547,7 +2541,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 */,
@ -2788,7 +2781,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 */,

@ -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)

@ -431,6 +431,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? {

@ -48,9 +48,8 @@ struct PlanningSettingsView: View {
var body: some View {
List {
if tournament.payment == nil {
if tournament.shouldShowPaymentInfo {
PaymentStatusView()
// SubscriptionInfoView()
}
Section {

@ -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)
//}

@ -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() {

Loading…
Cancel
Save