minor update

sync2
Laurent 1 year ago
parent 0dd3dc16bd
commit d6bd8842c3
  1. 8
      PadelClub.xcodeproj/project.pbxproj
  2. 1
      PadelClub/AppDelegate.swift
  3. 2
      PadelClub/Data/Court.swift
  4. 14
      PadelClub/Views/Club/ClubDetailView.swift
  5. 45
      PadelClub/Views/Navigation/Umpire/NetworkStatusView.swift
  6. 11
      PadelClub/Views/Navigation/Umpire/UmpireView.swift

@ -114,6 +114,9 @@
C488C8742CC816410082001F /* Purchase.json in Resources */ = {isa = PBXBuildFile; fileRef = C488C8702CC816410082001F /* Purchase.json */; }; C488C8742CC816410082001F /* Purchase.json in Resources */ = {isa = PBXBuildFile; fileRef = C488C8702CC816410082001F /* Purchase.json */; };
C488C8752CC816410082001F /* Purchase.json in Resources */ = {isa = PBXBuildFile; fileRef = C488C8702CC816410082001F /* Purchase.json */; }; C488C8752CC816410082001F /* Purchase.json in Resources */ = {isa = PBXBuildFile; fileRef = C488C8702CC816410082001F /* Purchase.json */; };
C488C8762CC816410082001F /* BasePurchase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C488C86F2CC816410082001F /* BasePurchase.swift */; }; C488C8762CC816410082001F /* BasePurchase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C488C86F2CC816410082001F /* BasePurchase.swift */; };
C488C8822CCBE8FC0082001F /* NetworkStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C488C8812CCBE8FC0082001F /* NetworkStatusView.swift */; };
C488C8832CCBE8FC0082001F /* NetworkStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C488C8812CCBE8FC0082001F /* NetworkStatusView.swift */; };
C488C8842CCBE8FC0082001F /* NetworkStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C488C8812CCBE8FC0082001F /* NetworkStatusView.swift */; };
C493B37E2C10AD3600862481 /* LoadingViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C493B37D2C10AD3600862481 /* LoadingViewModifier.swift */; }; C493B37E2C10AD3600862481 /* LoadingViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C493B37D2C10AD3600862481 /* LoadingViewModifier.swift */; };
C49EF0192BD694290077B5AA /* PurchaseListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0182BD694290077B5AA /* PurchaseListView.swift */; }; C49EF0192BD694290077B5AA /* PurchaseListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0182BD694290077B5AA /* PurchaseListView.swift */; };
C49EF01B2BD6A1E80077B5AA /* URLs.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF01A2BD6A1E80077B5AA /* URLs.swift */; }; C49EF01B2BD6A1E80077B5AA /* URLs.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF01A2BD6A1E80077B5AA /* URLs.swift */; };
@ -1002,6 +1005,7 @@
C488C81F2CC7E4240082001F /* Tournament.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Tournament.json; sourceTree = "<group>"; }; C488C81F2CC7E4240082001F /* Tournament.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Tournament.json; sourceTree = "<group>"; };
C488C86F2CC816410082001F /* BasePurchase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasePurchase.swift; sourceTree = "<group>"; }; C488C86F2CC816410082001F /* BasePurchase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasePurchase.swift; sourceTree = "<group>"; };
C488C8702CC816410082001F /* Purchase.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Purchase.json; sourceTree = "<group>"; }; C488C8702CC816410082001F /* Purchase.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Purchase.json; sourceTree = "<group>"; };
C488C8812CCBE8FC0082001F /* NetworkStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkStatusView.swift; sourceTree = "<group>"; };
C493B37D2C10AD3600862481 /* LoadingViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewModifier.swift; sourceTree = "<group>"; }; C493B37D2C10AD3600862481 /* LoadingViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewModifier.swift; sourceTree = "<group>"; };
C49EF0182BD694290077B5AA /* PurchaseListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseListView.swift; sourceTree = "<group>"; }; C49EF0182BD694290077B5AA /* PurchaseListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseListView.swift; sourceTree = "<group>"; };
C49EF01A2BD6A1E80077B5AA /* URLs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLs.swift; sourceTree = "<group>"; }; C49EF01A2BD6A1E80077B5AA /* URLs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLs.swift; sourceTree = "<group>"; };
@ -1810,6 +1814,7 @@
children = ( children = (
FF3F74F52B919E45004CFE0E /* UmpireView.swift */, FF3F74F52B919E45004CFE0E /* UmpireView.swift */,
FFD783FE2B91BA42000F62A6 /* PadelClubView.swift */, FFD783FE2B91BA42000F62A6 /* PadelClubView.swift */,
C488C8812CCBE8FC0082001F /* NetworkStatusView.swift */,
); );
path = Umpire; path = Umpire;
sourceTree = "<group>"; sourceTree = "<group>";
@ -2635,6 +2640,7 @@
FF8F26452BAE0A3400650388 /* TournamentDurationManagerView.swift in Sources */, FF8F26452BAE0A3400650388 /* TournamentDurationManagerView.swift in Sources */,
FF1DC5532BAB354A00FD8220 /* MockData.swift in Sources */, FF1DC5532BAB354A00FD8220 /* MockData.swift in Sources */,
FF967D092BAF3D4000A9A3BD /* TeamDetailView.swift in Sources */, FF967D092BAF3D4000A9A3BD /* TeamDetailView.swift in Sources */,
C488C8822CCBE8FC0082001F /* NetworkStatusView.swift in Sources */,
FF5DA18F2BB9268800A33061 /* GroupStagesSettingsView.swift in Sources */, FF5DA18F2BB9268800A33061 /* GroupStagesSettingsView.swift in Sources */,
FF663FBE2BE019EC0031AE83 /* TournamentFilterView.swift in Sources */, FF663FBE2BE019EC0031AE83 /* TournamentFilterView.swift in Sources */,
FF1F4B752BFA00FC000B4573 /* HtmlGenerator.swift in Sources */, FF1F4B752BFA00FC000B4573 /* HtmlGenerator.swift in Sources */,
@ -2772,6 +2778,7 @@
FF4CBF792C996C0600151637 /* LocationManager.swift in Sources */, FF4CBF792C996C0600151637 /* LocationManager.swift in Sources */,
FF4CBF7A2C996C0600151637 /* CapsuleViewModifier.swift in Sources */, FF4CBF7A2C996C0600151637 /* CapsuleViewModifier.swift in Sources */,
C488C8472CC7E4240082001F /* BaseDateInterval.swift in Sources */, C488C8472CC7E4240082001F /* BaseDateInterval.swift in Sources */,
C488C8832CCBE8FC0082001F /* NetworkStatusView.swift in Sources */,
C488C8482CC7E4240082001F /* BaseMonthData.swift in Sources */, C488C8482CC7E4240082001F /* BaseMonthData.swift in Sources */,
C488C8492CC7E4240082001F /* BaseTeamRegistration.swift in Sources */, C488C8492CC7E4240082001F /* BaseTeamRegistration.swift in Sources */,
C488C84A2CC7E4240082001F /* BaseGroupStage.swift in Sources */, C488C84A2CC7E4240082001F /* BaseGroupStage.swift in Sources */,
@ -3036,6 +3043,7 @@
FF70FAF82C90584900129CC2 /* LocationManager.swift in Sources */, FF70FAF82C90584900129CC2 /* LocationManager.swift in Sources */,
FF70FAF92C90584900129CC2 /* CapsuleViewModifier.swift in Sources */, FF70FAF92C90584900129CC2 /* CapsuleViewModifier.swift in Sources */,
C488C8542CC7E4240082001F /* BaseDateInterval.swift in Sources */, C488C8542CC7E4240082001F /* BaseDateInterval.swift in Sources */,
C488C8842CCBE8FC0082001F /* NetworkStatusView.swift in Sources */,
C488C8552CC7E4240082001F /* BaseMonthData.swift in Sources */, C488C8552CC7E4240082001F /* BaseMonthData.swift in Sources */,
C488C8562CC7E4240082001F /* BaseTeamRegistration.swift in Sources */, C488C8562CC7E4240082001F /* BaseTeamRegistration.swift in Sources */,
C488C8572CC7E4240082001F /* BaseGroupStage.swift in Sources */, C488C8572CC7E4240082001F /* BaseGroupStage.swift in Sources */,

@ -20,7 +20,6 @@ class AppDelegate : NSObject, UIApplicationDelegate, UNUserNotificationCenterDel
UIApplication.shared.registerForRemoteNotifications() UIApplication.shared.registerForRemoteNotifications()
UNUserNotificationCenter.current().delegate = self UNUserNotificationCenter.current().delegate = self
Logger.log("didFinishLaunchingWithOptions")
return true return true
} }

@ -31,7 +31,7 @@ final class Court: BaseCourt {
} }
required init(from decoder: Decoder) throws { required init(from decoder: Decoder) throws {
fatalError("init(from:) has not been implemented") try super.init(from: decoder)
} }
func courtTitle() -> String { func courtTitle() -> String {

@ -282,15 +282,11 @@ struct ClubDetailView: View {
} }
private func _deleteClub() { private func _deleteClub() {
do { clubDeleted = true
clubDeleted = true dataStore.user.clubs.removeAll(where: { $0 == club.id })
dataStore.user.clubs.removeAll(where: { $0 == club.id }) self.dataStore.saveUser()
self.dataStore.saveUser() dataStore.clubs.delete(instance: club)
try dataStore.clubs.deleteById(club.id) dismiss()
dismiss()
} catch {
Logger.error(error)
}
} }
} }

@ -0,0 +1,45 @@
//
// NetworkStatusView.swift
// PadelClub
//
// Created by Laurent Morvillier on 25/10/2024.
//
import SwiftUI
import LeStorage
struct NetworkStatusView: View {
@State private var isConnected = false
@State private var timer: Timer?
var body: some View {
Image(systemName: self.isConnected ? "network" : "network.slash")
.resizable()
.scaledToFit()
.onAppear {
self._defineStatus()
// Start the timer when the view appears
timer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { _ in
withAnimation {
self._defineStatus()
}
}
}
.onDisappear {
// Clean up timer when view disappears
timer?.invalidate()
timer = nil
}
}
fileprivate func _defineStatus() {
self.isConnected = LeStorage.NetworkMonitor.shared.isConnected
}
}
#Preview {
NetworkStatusView()
}

@ -178,11 +178,12 @@ struct UmpireView: View {
.toolbar { .toolbar {
#if DEBUG #if DEBUG
ToolbarItem(placement: .topBarTrailing) { ToolbarItem(placement: .topBarTrailing) {
if StoreCenter.main.collectionsCanSynchronize { NetworkStatusView()
Image(systemName: "checkmark.icloud") // if StoreCenter.main.collectionsCanSynchronize {
} else { // Image(systemName: "checkmark.icloud")
Image(systemName: "icloud.slash") // } else {
} // Image(systemName: "icloud.slash")
// }
} }
#endif #endif
} }

Loading…
Cancel
Save