From 686df2250b430d6404c39ed2697f0266ac2e20ad Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Wed, 3 Jul 2024 11:25:12 +0200 Subject: [PATCH] fix stuff --- PadelClub.xcodeproj/project.pbxproj | 4 + .../Contents.json | 10 +++ .../PadelClub_logo_fondfonce_transparent.png | Bin 0 -> 74791 bytes .../logoBackground.colorset/Contents.json | 6 +- .../logoYellow.colorset/Contents.json | 6 +- PadelClub/Views/Calling/CallView.swift | 1 + .../Calling/Components/MenuWarningView.swift | 1 + PadelClub/Views/Calling/SendToAllView.swift | 1 + .../Views/Cashier/CashierDetailView.swift | 7 +- .../Views/Cashier/Event/EventLinksView.swift | 4 +- .../Cashier/Event/EventSettingsView.swift | 43 +++++++++++ PadelClub/Views/Cashier/Event/EventView.swift | 21 ++++- PadelClub/Views/Match/MatchDetailView.swift | 1 + .../Organizer/TournamentButtonView.swift | 3 +- .../Views/Navigation/Umpire/UmpireView.swift | 1 + .../CourtAvailabilitySettingsView.swift | 1 + .../Views/Planning/PlanningSettingsView.swift | 4 +- .../Components/EventClubSettingsView.swift | 64 ++++++++++++++++ .../TournamentClubSettingsView.swift | 72 ++++++++---------- .../Screen/InscriptionManagerView.swift | 4 +- .../Screen/TournamentSettingsView.swift | 22 +++--- .../Views/Tournament/TournamentInitView.swift | 2 +- .../ViewModifiers/DeferredViewModifier.swift | 2 + 23 files changed, 208 insertions(+), 72 deletions(-) create mode 100644 PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/PadelClub_logo_fondfonce_transparent.png create mode 100644 PadelClub/Views/Tournament/Screen/Components/EventClubSettingsView.swift diff --git a/PadelClub.xcodeproj/project.pbxproj b/PadelClub.xcodeproj/project.pbxproj index 949db25..077db88 100644 --- a/PadelClub.xcodeproj/project.pbxproj +++ b/PadelClub.xcodeproj/project.pbxproj @@ -241,6 +241,7 @@ FFDB1C6D2BB2A02000F1E467 /* AppSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDB1C6C2BB2A02000F1E467 /* AppSettings.swift */; }; FFDB1C732BB2CFE900F1E467 /* MySortDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDB1C722BB2CFE900F1E467 /* MySortDescriptor.swift */; }; FFDDD40C2B93B2BB00C91A49 /* DeferredViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDDD40B2B93B2BB00C91A49 /* DeferredViewModifier.swift */; }; + FFE103082C353B7600684FC9 /* EventClubSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE103072C353B7600684FC9 /* EventClubSettingsView.swift */; }; FFE2D2E22C231BEE00D0C7BE /* SupportButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE2D2E12C231BEE00D0C7BE /* SupportButtonView.swift */; }; FFEF7F4E2BDE69130033D0F0 /* MenuWarningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFEF7F4D2BDE69130033D0F0 /* MenuWarningView.swift */; }; FFF0241E2BF48B15001F14B4 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = FFF0241D2BF48B15001F14B4 /* Localizable.strings */; }; @@ -572,6 +573,7 @@ FFDB1C6C2BB2A02000F1E467 /* AppSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppSettings.swift; sourceTree = ""; }; FFDB1C722BB2CFE900F1E467 /* MySortDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MySortDescriptor.swift; sourceTree = ""; }; FFDDD40B2B93B2BB00C91A49 /* DeferredViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeferredViewModifier.swift; sourceTree = ""; }; + FFE103072C353B7600684FC9 /* EventClubSettingsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EventClubSettingsView.swift; path = PadelClub/Views/Tournament/Screen/Components/EventClubSettingsView.swift; sourceTree = SOURCE_ROOT; }; FFE2D2E12C231BEE00D0C7BE /* SupportButtonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupportButtonView.swift; sourceTree = ""; }; FFEF7F4D2BDE69130033D0F0 /* MenuWarningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuWarningView.swift; sourceTree = ""; }; FFF0241C2BF48B15001F14B4 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; @@ -1203,6 +1205,7 @@ FFBF41832BF75ED7001B24CB /* EventTournamentsView.swift */, FFBF41852BF75FDA001B24CB /* EventSettingsView.swift */, FF8F263A2BAD528600650388 /* EventCreationView.swift */, + FFE103072C353B7600684FC9 /* EventClubSettingsView.swift */, FF8F263C2BAD627A00650388 /* TournamentConfiguratorView.swift */, ); name = Event; @@ -1520,6 +1523,7 @@ FF7091682B90F79F00AB08DA /* TournamentCellView.swift in Sources */, FF6EC9042B9479F500EA7F5A /* Sequence+Extensions.swift in Sources */, FF9267FA2BCE78EC0080F940 /* CashierDetailView.swift in Sources */, + FFE103082C353B7600684FC9 /* EventClubSettingsView.swift in Sources */, C4A47DB32B86387500ADC637 /* AccountView.swift in Sources */, FFCEDA4C2C2C08EA00F8C0F2 /* PlayersWithoutContactView.swift in Sources */, FF1CBC1D2BB53DC10036DAAB /* Calendar+Extensions.swift in Sources */, diff --git a/PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/Contents.json b/PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/Contents.json index 52c21a3..a570ec8 100644 --- a/PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/Contents.json +++ b/PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/Contents.json @@ -3,6 +3,16 @@ { "filename" : "PadelClub_logo_fondclair_transparent.png", "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "PadelClub_logo_fondfonce_transparent.png", + "idiom" : "universal" } ], "info" : { diff --git a/PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/PadelClub_logo_fondfonce_transparent.png b/PadelClub/Assets.xcassets/PadelClub_logo_fondclair_transparent.imageset/PadelClub_logo_fondfonce_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..018ab3d5f423f26ef99637e59beb389de7e9359e GIT binary patch literal 74791 zcmeFZc{tSX_c;6#S;sD>>=fD$<+5@5g=L=iFyM=RRjXMO&B|^Kx(CMi7Me zz<$Fc2*N=^5YFSA?64w`kbe^XAD8=nYcB*56GZ=y<)gxs9)idq2MqUG`X!HcEqR>! zaEC^9Ok5W0;e3CC7$6_7utqiPrhM-1t6vNqG_N)r=6bRj80DU3GdYJh!kxm}o!q#V zDC4eI+~l9SrP;6ctoUz}orJ~DGmF3C^p^d^1S>f3)n^Smb*v(rE0(8wCz{k3z0Ow+ zM$MLN-CO4>-}ip)Pkg8qUTLK7gYe39Z`o2aO;M^elcPe7_5zb)B?3TZ_UpTGMZbWX0d{b%4{40-`@8X zb%d;`Jd#=-r#GW3g&^rFWL)msW=wymVf6}M!Luo<(1HNzLv@oHvd3?sH+b=)^5kHY zU;jrI1bJ(MWk2aT-%EMge4tP5M5JVLl8WgLAgoL?Hmbt7dIfW{HE|Cd+^`YD`s!rL z#^niW*i&;skDmu$Ux_l>9g@NFyKOQ-C2+nBwEdZrfIZ(eiK{o2IVUW=`_>Ij3UX#L zBH#jfxO9 zBOUz}e`AT47!xba29#kD#KDe?`<&HJeRtWu%dU9mWX#J&7uNW;;j+b0J!CT+$dhcM~N!E!DC z#H({;OL+`yWy*ra=$<_YQYjTqNWaz0alqbYayq-0ujGaa4CmFu;Zf$JFf=5g zKO9aCi8^gLxC=oZl+Ba~fl9Rr*k`WZ#k~gq_Wcg$pMTZ}2GKg6@DKQGHN~>KUn~?O zsO|LQ;RW5!Fm2Fy^=m54bJ|5l9KkcJ$w`j4M?}di~9K;R+oPw~oTQw;&^{CcCvrQ{Y4_9!~dw zPU51sU-H=FuqTHXM0^yr8&;r4)r-_27g7~~a^M<{GIj-rp*>dr@nk(2=Q04|YVy)X z#g8t_zkbR)z(etw-U29kfDF7p_|?l_)$Za!M2-&s8%U*Vr`ZMsQBncvJF7VSXgWE%L$pVXX*J zaR&kGut$2s_PQW~-+BTT@#(Jz$HZSi@#yY68T)>%ir2X^#6hv!X$^ur1zC+~zAl!K zZmp^>ojxmyv_=;#GS8pWuip_)@YBo@2ij+5R#yiwO-(_B);JsnY0}O&g5|S-{2ZCK zSiQY9u7wX7twoI{eH&1sCcWX4dFRz7)V)e3f0;9uiFY|Exq3O$fVL+Q;H^=3#UJO6 zgS-hrpLszIry&w5LDUBGO-+2ZHga;q8sgykGEn4gh$Wx75A*OjHiE$-NbXG>2ER3& zppo1nh`7xBn1?mgEgxw5t4o87B_QCS#~>u<-m}n@R^_Rs=CdJ9Q)?}NnvDc3Q8c-T z8^`TMV(Ila{=tbL&-P>4)7PFWtMa2;If8_MrRDAvz zw^Y1P!Dp5Zpi2l)(H3pFG;b5kqV+3W7hM7|;YXT$|SWnjgB%0Ajmx}qxgY@Hp{~b@Rejd`rK~N+uyw!RhY8ebA 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 rr{RL!`KKZfWh3EZt~ some View { diff --git a/PadelClub/Views/Cashier/Event/EventLinksView.swift b/PadelClub/Views/Cashier/Event/EventLinksView.swift index 81e77cf..5ae957f 100644 --- a/PadelClub/Views/Cashier/Event/EventLinksView.swift +++ b/PadelClub/Views/Cashier/Event/EventLinksView.swift @@ -37,7 +37,7 @@ struct EventLinksView: View { Text(pageLink.localizedLabel()).tag(pageLink) } } label: { - Text("Choisir une page du tournoi en particulier") + Text("Choisir une page en particulier") } .pickerStyle(.menu) } @@ -49,7 +49,7 @@ struct EventLinksView: View { .multilineTextAlignment(.leading) - ShareLink("Partagez ce lien", item: eventLinksPasteData) + ShareLink("Partagez ce message", item: eventLinksPasteData) } } } diff --git a/PadelClub/Views/Cashier/Event/EventSettingsView.swift b/PadelClub/Views/Cashier/Event/EventSettingsView.swift index 8392bed..9aad036 100644 --- a/PadelClub/Views/Cashier/Event/EventSettingsView.swift +++ b/PadelClub/Views/Cashier/Event/EventSettingsView.swift @@ -13,6 +13,28 @@ struct EventSettingsView: View { @Bindable var event: Event @State private var eventName: String = "" @FocusState private var textFieldIsFocus: Bool + @State private var pageLink: PageLink = .teams + + func eventLinksPasteData() -> String { + let tournaments = event.tournaments + var link = [String]() + link.append(event.eventTitle()) + + link.append("\n\n") + link.append("Retrouvez toutes les infos en suivant le\(tournaments.count.pluralSuffix) lien\(tournaments.count.pluralSuffix) ci-dessous") + link.append("\n\n") + + tournaments.forEach({ tournament in + if let url = tournament.shareURL(pageLink) { + var tournamentLink = [String]() + tournamentLink.append(tournament.tournamentTitle()) + tournamentLink.append(url.absoluteString) + link.append(tournamentLink.joined(separator: "\n")) + } + }) + + return link.joined(separator: "\n\n") + } init(event: Event) { self.event = event @@ -37,6 +59,27 @@ struct EventSettingsView: View { } } } + + let eventLinksPasteData = eventLinksPasteData() + Section { + Text(eventLinksPasteData) + .italic() + .multilineTextAlignment(.leading) + + let links : [PageLink] = [.teams, .summons, .groupStages, .matches, .rankings] + Picker(selection: $pageLink) { + ForEach(links) { pageLink in + Text(pageLink.localizedLabel()).tag(pageLink) + } + } label: { + Text("Choisir une page en particulier") + } + .pickerStyle(.menu) + + ShareLink("Partagez ce message", item: eventLinksPasteData) + } header: { + Text("Liens à partager") + } } .toolbar { if textFieldIsFocus { diff --git a/PadelClub/Views/Cashier/Event/EventView.swift b/PadelClub/Views/Cashier/Event/EventView.swift index 3d73901..736d0f4 100644 --- a/PadelClub/Views/Cashier/Event/EventView.swift +++ b/PadelClub/Views/Cashier/Event/EventView.swift @@ -13,6 +13,7 @@ enum EventDestination: Identifiable, Selectable, Equatable { return lhs.id == rhs.id } + case club(Event) case links case tournaments(Event) case cashier @@ -23,6 +24,8 @@ enum EventDestination: Identifiable, Selectable, Equatable { func selectionLabel(index: Int) -> String { switch self { + case .club: + return "Club" case .links: return "Liens" case .tournaments: @@ -34,7 +37,7 @@ enum EventDestination: Identifiable, Selectable, Equatable { func badgeValue() -> Int? { switch self { - case .links: + case .links, .club: return nil case .tournaments(let event): return event.tournaments.count @@ -48,7 +51,17 @@ enum EventDestination: Identifiable, Selectable, Equatable { } func badgeImage() -> Badge? { - return nil + + switch self { + case .club(let event): + if event.club != nil { + return .checkmark + } else { + return .xmark + } + default: + return nil + } } } @@ -58,7 +71,7 @@ struct EventView: View { @State private var selectedDestination: EventDestination? func allDestinations() -> [EventDestination] { - [.links, .tournaments(event), .cashier] + [.club(event), .tournaments(event), .cashier] } var body: some View { @@ -69,6 +82,8 @@ struct EventView: View { EventSettingsView(event: event) case .some(let selectedEventDestination): switch selectedEventDestination { + case .club(let event): + EventClubSettingsView(event: event) case .links: EventLinksView(event: event) case .tournaments(let event): diff --git a/PadelClub/Views/Match/MatchDetailView.swift b/PadelClub/Views/Match/MatchDetailView.swift index 6a17ec1..938733a 100644 --- a/PadelClub/Views/Match/MatchDetailView.swift +++ b/PadelClub/Views/Match/MatchDetailView.swift @@ -137,6 +137,7 @@ struct MatchDetailView: View { .sheet(isPresented: self.$showSubscriptionView, content: { NavigationStack { SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true) + .environment(\.colorScheme, .light) } }) .sheet(isPresented: self.$showUserCreationView, content: { diff --git a/PadelClub/Views/Navigation/Organizer/TournamentButtonView.swift b/PadelClub/Views/Navigation/Organizer/TournamentButtonView.swift index 7d7a54b..05f4eb5 100644 --- a/PadelClub/Views/Navigation/Organizer/TournamentButtonView.swift +++ b/PadelClub/Views/Navigation/Organizer/TournamentButtonView.swift @@ -8,6 +8,7 @@ import SwiftUI struct TournamentButtonView: View { + @Environment(\.colorScheme) var colorScheme @Environment(NavigationViewModel.self) private var navigation let tournament: Tournament @@ -23,7 +24,7 @@ struct TournamentButtonView: View { .padding(8) .overlay( RoundedRectangle(cornerRadius: 20) - .stroke(Color.black, lineWidth: 2) + .stroke(colorScheme == .light ? Color.black : Color.white, lineWidth: 2) ) .fixedSize(horizontal: false, vertical: true) } diff --git a/PadelClub/Views/Navigation/Umpire/UmpireView.swift b/PadelClub/Views/Navigation/Umpire/UmpireView.swift index 968edc9..1254e6e 100644 --- a/PadelClub/Views/Navigation/Umpire/UmpireView.swift +++ b/PadelClub/Views/Navigation/Umpire/UmpireView.swift @@ -183,6 +183,7 @@ struct UmpireView: View { .sheet(isPresented: self.$showSubscriptions, content: { NavigationStack { SubscriptionView(isPresented: self.$showSubscriptions) + .environment(\.colorScheme, .light) } }) .sheet(isPresented: $presentSearchView) { diff --git a/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift b/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift index 37680cb..ff9f521 100644 --- a/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift +++ b/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift @@ -87,6 +87,7 @@ struct CourtAvailabilitySettingsView: View { LabelDelete() } } + .buttonStyle(.plain) } } header: { HStack { diff --git a/PadelClub/Views/Planning/PlanningSettingsView.swift b/PadelClub/Views/Planning/PlanningSettingsView.swift index cc52342..35bf2f3 100644 --- a/PadelClub/Views/Planning/PlanningSettingsView.swift +++ b/PadelClub/Views/Planning/PlanningSettingsView.swift @@ -64,7 +64,7 @@ struct PlanningSettingsView: View { CourtAvailabilitySettingsView(event: event) .environment(tournament) } label: { - Text("Préciser la disponibilité des terrains") + Text("Préciser les indisponibilités des terrains") } } } footer: { @@ -72,7 +72,7 @@ struct PlanningSettingsView: View { if tournament.courtCount < club.courtCount { let plural = tournament.courtCount.pluralSuffix let verb = tournament.courtCount > 1 ? "seront" : "sera" - Text("En réduisant les terrains maximum, seul\(plural) le\(plural) \(tournament.courtCount) premier\(plural) terrain\(plural) \(verb) utilisé\(plural)") + Text(", par contre, si vous augmentez le nombre de terrains, vous pourrez plutôt préciser quel terrain n'est pas disponible.") + Text("En réduisant les terrains maximum, seul\(plural) le\(plural) \(tournament.courtCount) premier\(plural) terrain\(plural) \(verb) utilisé\(plural)") + Text(", par contre, si vous gardez le nombre de terrains du club, vous pourrez plutôt préciser quel terrain n'est pas disponible.") } else if tournament.courtCount > club.courtCount { let isCreatedByUser = club.hasBeenCreated(by: StoreCenter.main.userId) Button { diff --git a/PadelClub/Views/Tournament/Screen/Components/EventClubSettingsView.swift b/PadelClub/Views/Tournament/Screen/Components/EventClubSettingsView.swift new file mode 100644 index 0000000..503a7e7 --- /dev/null +++ b/PadelClub/Views/Tournament/Screen/Components/EventClubSettingsView.swift @@ -0,0 +1,64 @@ +// +// EventClubSettingsView.swift +// PadelClub +// +// Created by Razmig Sarkissian on 18/04/2024. +// + +import SwiftUI +import LeStorage + +struct EventClubSettingsView: View { + @EnvironmentObject var dataStore: DataStore + @State private var selectedCourt: Court? + @State private var showClubDetail: Club? + var event: Event + + var body: some View { + List { + let selectedClub = event.clubObject() + + Section { + NavigationLink { + ClubsView() { club in + event.club = club.id + do { + try dataStore.events.addOrUpdate(instance: event) + } catch { + Logger.error(error) + } + } + } label: { + if let selectedClub = event.clubObject() { + ClubRowView(club: selectedClub) + } else { + Text("Choisir un club") + } + } + } header: { + Text("Lieu de l'événement") + } footer: { + HStack { + Spacer() + FooterButtonView("détails du club") { + showClubDetail = selectedClub + } + } + } + + if let selectedClub { + ClubCourtSetupView(club: selectedClub, displayContext: selectedClub.hasBeenCreated(by: StoreCenter.main.userId) ? .edition : .lockedForEditing, selectedCourt: $selectedCourt) + } + } + .navigationDestination(item: $showClubDetail) { club in + ClubDetailView(club: club, displayContext: club.hasBeenCreated(by: StoreCenter.main.userId) ? .edition : .lockedForEditing) + } + .navigationDestination(item: $selectedCourt) { court in + CourtView(court: court) + } + } +} + +//#Preview { +// TournamentClubSettingsView() +//} diff --git a/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift b/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift index 508410d..4daedb1 100644 --- a/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift +++ b/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift @@ -19,36 +19,6 @@ struct TournamentClubSettingsView: View { List { let event = tournament.eventObject() let selectedClub = event?.clubObject() - Section { - NavigationLink { - ClubsView() { club in - if let event { - event.club = club.id - do { - try dataStore.events.addOrUpdate(instance: event) - } catch { - Logger.error(error) - } - } - } - } label: { - if let selectedClub { - ClubRowView(club: selectedClub) - } else { - Text("Choisir un club") - } - } - } header: { - Text("Lieu du tournoi") - } footer: { - HStack { - Spacer() - FooterButtonView("détails du club") { - showClubDetail = selectedClub - } - } - } - Section { TournamentFieldsManagerView(localizedStringKey: "Terrains pour le tournoi", count: $tournament.courtCount) @@ -65,7 +35,7 @@ struct TournamentClubSettingsView: View { CourtAvailabilitySettingsView(event: event) .environment(tournament) } label: { - Text("Préciser la disponibilité des terrains") + Text("Préciser les indisponibilités des terrains") } } } footer: { @@ -73,7 +43,7 @@ struct TournamentClubSettingsView: View { if tournament.courtCount < club.courtCount { let plural = tournament.courtCount.pluralSuffix let verb = tournament.courtCount > 1 ? "seront" : "sera" - Text("En réduisant les terrains maximum, seul\(plural) le\(plural) \(tournament.courtCount) premier\(plural) terrain\(plural) \(verb) utilisé\(plural)") + Text(", par contre, si vous augmentez le nombre de terrains, vous pourrez plutôt préciser quel terrain n'est pas disponible.") + Text("En réduisant les terrains maximum, seul\(plural) le\(plural) \(tournament.courtCount) premier\(plural) terrain\(plural) \(verb) utilisé\(plural)") + Text(", par contre, si vous gardez le nombre de terrains du club, vous pourrez plutôt préciser quel terrain n'est pas disponible.") } else if tournament.courtCount > club.courtCount { let isCreatedByUser = club.hasBeenCreated(by: StoreCenter.main.userId) Button { @@ -97,18 +67,38 @@ struct TournamentClubSettingsView: View { } } - + Section { + NavigationLink { + ClubsView() { club in + if let event { + event.club = club.id + do { + try dataStore.events.addOrUpdate(instance: event) + } catch { + Logger.error(error) + } + } + } + } label: { + if let selectedClub { + ClubRowView(club: selectedClub) + } else { + Text("Choisir un club") + } + } + } header: { + Text("Lieu du tournoi") + } footer: { + HStack { + Spacer() + FooterButtonView("détails du club") { + showClubDetail = selectedClub + } + } + } if let selectedClub { ClubCourtSetupView(club: selectedClub, displayContext: selectedClub.hasBeenCreated(by: StoreCenter.main.userId) ? .edition : .lockedForEditing, selectedCourt: $selectedCourt) - .onChange(of: selectedClub.courtCount) { - tournament.courtCount = max(tournament.courtCount, selectedClub.courtCount) - do { - try dataStore.tournaments.addOrUpdate(instance: tournament) - } catch { - Logger.error(error) - } - } } } .navigationDestination(item: $showClubDetail) { club in diff --git a/PadelClub/Views/Tournament/Screen/InscriptionManagerView.swift b/PadelClub/Views/Tournament/Screen/InscriptionManagerView.swift index cb017e6..5217b37 100644 --- a/PadelClub/Views/Tournament/Screen/InscriptionManagerView.swift +++ b/PadelClub/Views/Tournament/Screen/InscriptionManagerView.swift @@ -242,6 +242,7 @@ struct InscriptionManagerView: View { } } else { SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true) + .environment(\.colorScheme, .light) } case .mail(_, let recipients, let bccRecipients, let body, let subject, _): if Guard.main.paymentForNewTournament() != nil { @@ -263,6 +264,7 @@ struct InscriptionManagerView: View { } } else { SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true) + .environment(\.colorScheme, .light) } } } @@ -606,7 +608,7 @@ struct InscriptionManagerView: View { } } .buttonStyle(.borderedProminent) - .tint(.logoBackground) + .tint(.master) .fixedSize(horizontal: false, vertical: true) .padding(16) } diff --git a/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift b/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift index bc9db77..98837ad 100644 --- a/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift +++ b/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift @@ -28,29 +28,25 @@ enum TournamentSettings: Identifiable, Selectable, Equatable { case .general: return "Général" case .club: - return "Club" + return "Terrains" } } func badgeValue() -> Int? { - nil + switch self { + case .club(let tournament): + return tournament.courtCount + default: + return nil + } } func badgeValueColor() -> Color? { - return nil + return .logoBackground } func badgeImage() -> Badge? { - switch self { - case .club(let tournament): - if tournament.club() != nil { - return .checkmark - } else { - return .xmark - } - default: - return nil - } + return nil } } diff --git a/PadelClub/Views/Tournament/TournamentInitView.swift b/PadelClub/Views/Tournament/TournamentInitView.swift index 7c0d6fd..b9beeb4 100644 --- a/PadelClub/Views/Tournament/TournamentInitView.swift +++ b/PadelClub/Views/Tournament/TournamentInitView.swift @@ -44,7 +44,7 @@ struct TournamentInitView: View { Text(tournament.localizedTournamentType()) } label: { LabelSettings() - Text("Formats, club, prix et plus") + Text("Formats, terrains, prix et plus") } } diff --git a/PadelClub/Views/ViewModifiers/DeferredViewModifier.swift b/PadelClub/Views/ViewModifiers/DeferredViewModifier.swift index 6a2976d..153fa91 100644 --- a/PadelClub/Views/ViewModifiers/DeferredViewModifier.swift +++ b/PadelClub/Views/ViewModifiers/DeferredViewModifier.swift @@ -24,11 +24,13 @@ import SwiftUI /// Stack Overflow, see https://stackoverflow.com/a/74765430/1558022 /// private struct DeferredViewModifier: ViewModifier { + @Environment(\.colorScheme) var colorScheme let delay: DispatchTimeInterval func body(content: Content) -> some View { _content(content) + .foregroundStyle(colorScheme == .light ? .white : .black) .onAppear { DispatchQueue.main.asyncAfter(deadline: .now() + delay) { self.shouldHide = true