From 3e503bfcd12524356ad08bdb655d3e4440729c79 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Tue, 10 Sep 2024 10:57:46 +0200 Subject: [PATCH] add a testflight target --- PadelClub.xcodeproj/project.pbxproj | 707 ++++++++++++++++++ .../xcschemes/PadelClub-TestFlight.xcscheme | 68 ++ PadelClub/Extensions/String+Extensions.swift | 4 + PadelClub/PadelClubApp.swift | 13 + PadelClub/Utils/URLs.swift | 4 + .../Tournament/Screen/BroadcastView.swift | 4 - .../Views/Tournament/Subscription/Guard.swift | 2 + 7 files changed, 798 insertions(+), 4 deletions(-) create mode 100644 PadelClub.xcodeproj/xcshareddata/xcschemes/PadelClub-TestFlight.xcscheme diff --git a/PadelClub.xcodeproj/project.pbxproj b/PadelClub.xcodeproj/project.pbxproj index 38bcf36..d0d90e0 100644 --- a/PadelClub.xcodeproj/project.pbxproj +++ b/PadelClub.xcodeproj/project.pbxproj @@ -162,6 +162,266 @@ FF70916A2B90F95E00AB08DA /* DateBoxView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091692B90F95E00AB08DA /* DateBoxView.swift */; }; FF70916C2B91005400AB08DA /* TournamentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF70916B2B91005400AB08DA /* TournamentView.swift */; }; FF70916E2B9108C600AB08DA /* InscriptionManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF70916D2B9108C600AB08DA /* InscriptionManagerView.swift */; }; + FF8044B42C90379300A49A52 /* UserCreationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D862B7BA36D00ADC637 /* UserCreationView.swift */; }; + FF8044B52C90379300A49A52 /* TabDestination.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091652B90F0B000AB08DA /* TabDestination.swift */; }; + FF8044B62C90379300A49A52 /* CashierView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9267F72BCE78C70080F940 /* CashierView.swift */; }; + FF8044B72C90379300A49A52 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F263E2BAD7D5C00650388 /* Event.swift */; }; + FF8044B82C90379300A49A52 /* PlayerHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D30522BD94E2E00F2B93D /* PlayerHolder.swift */; }; + FF8044B92C90379300A49A52 /* LoserRoundStepScheduleEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF11628B2BD05267000C4809 /* LoserRoundStepScheduleEditorView.swift */; }; + FF8044BA2C90379300A49A52 /* ClubCourtSetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF53FBB72BFB302B0051D4C3 /* ClubCourtSetupView.swift */; }; + FF8044BB2C90379300A49A52 /* Patcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B3A1542C2581DA0078EAA8 /* Patcher.swift */; }; + FF8044BC2C90379300A49A52 /* FileImportView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EBE2BB0B14600F0AEC7 /* FileImportView.swift */; }; + FF8044BD2C90379300A49A52 /* StepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D9E2B7D0BCE00ADC637 /* StepperView.swift */; }; + FF8044BE2C90379300A49A52 /* RoundsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC83D4E2BB807D100750834 /* RoundsView.swift */; }; + FF8044BF2C90379300A49A52 /* FederalTournament.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1CBC182BB53D1F0036DAAB /* FederalTournament.swift */; }; + FF8044C02C90379300A49A52 /* TournamentInitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26402BADFC8700650388 /* TournamentInitView.swift */; }; + FF8044C12C90379300A49A52 /* SubscriptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D892B7BBB6500ADC637 /* SubscriptionView.swift */; }; + FF8044C22C90379300A49A52 /* ClubsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DC5562BAB3AED00FD8220 /* ClubsView.swift */; }; + FF8044C32C90379300A49A52 /* ImagePickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE103112C366E5900684FC9 /* ImagePickerView.swift */; }; + FF8044C42C90379300A49A52 /* MatchTypeSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F264E2BAE0B9600650388 /* MatchTypeSelectionView.swift */; }; + FF8044C52C90379300A49A52 /* MatchSetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D052BAF3C4200A9A3BD /* MatchSetupView.swift */; }; + FF8044C62C90379300A49A52 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4AB6B42B9248200002987F /* NetworkManager.swift */; }; + FF8044C72C90379300A49A52 /* EventLinksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF2B6F5D2C036A1400835EE7 /* EventLinksView.swift */; }; + FF8044C82C90379300A49A52 /* SeedInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB9C8742BBADDF700A0EF4F /* SeedInterval.swift */; }; + FF8044C92C90379300A49A52 /* TournamentClubSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AE02BD0EB9000A86CF8 /* TournamentClubSettingsView.swift */; }; + FF8044CA2C90379300A49A52 /* GroupStageTeamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBF065B2BBD2657009D6715 /* GroupStageTeamView.swift */; }; + FF8044CB2C90379300A49A52 /* RoundSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5DA1922BB9279B00A33061 /* RoundSettingsView.swift */; }; + FF8044CC2C90379300A49A52 /* SupportButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE2D2E12C231BEE00D0C7BE /* SupportButtonView.swift */; }; + FF8044CD2C90379300A49A52 /* TournamentBroadcastRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB1C98A2C10255100B154A7 /* TournamentBroadcastRowView.swift */; }; + FF8044CE2C90379300A49A52 /* TeamWeightView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025ADE2BD0CE0A00A86CF8 /* TeamWeightView.swift */; }; + FF8044CF2C90379300A49A52 /* SeedsCallingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9268002BCE94920080F940 /* SeedsCallingView.swift */; }; + FF8044D02C90379300A49A52 /* CallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9268082BCEDC2C0080F940 /* CallView.swift */; }; + FF8044D12C90379300A49A52 /* Color+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D732BB41DF8005CB568 /* Color+Extensions.swift */; }; + FF8044D22C90379300A49A52 /* EditSharingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE1030F2C366DCD00684FC9 /* EditSharingView.swift */; }; + FF8044D32C90379300A49A52 /* TournamentCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091672B90F79F00AB08DA /* TournamentCellView.swift */; }; + FF8044D42C90379300A49A52 /* Sequence+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC9032B9479F500EA7F5A /* Sequence+Extensions.swift */; }; + FF8044D52C90379300A49A52 /* CashierDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9267F92BCE78EB0080F940 /* CashierDetailView.swift */; }; + FF8044D62C90379300A49A52 /* EventClubSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE103072C353B7600684FC9 /* EventClubSettingsView.swift */; }; + FF8044D72C90379300A49A52 /* AccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47DB22B86387500ADC637 /* AccountView.swift */; }; + FF8044D82C90379300A49A52 /* PlayersWithoutContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCEDA4B2C2C08EA00F8C0F2 /* PlayersWithoutContactView.swift */; }; + FF8044D92C90379300A49A52 /* TeamsCallingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCD16B22C3E5E590092707B /* TeamsCallingView.swift */; }; + FF8044DA2C90379300A49A52 /* Calendar+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1CBC1C2BB53DC10036DAAB /* Calendar+Extensions.swift */; }; + FF8044DB2C90379300A49A52 /* TeamScore.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CEF2BAECC0A00A9A3BD /* TeamScore.swift */; }; + FF8044DC2C90379300A49A52 /* EditablePlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1162822BCFBE4E000C4809 /* EditablePlayerView.swift */; }; + FF8044DD2C90379300A49A52 /* PlayerDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1162842BD00279000C4809 /* PlayerDetailView.swift */; }; + FF8044DE2C90379300A49A52 /* ListRowViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D752BB428B2005CB568 /* ListRowViewModifier.swift */; }; + FF8044DF2C90379300A49A52 /* PresentationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC8FF2B94794700EA7F5A /* PresentationContext.swift */; }; + FF8044E02C90379300A49A52 /* AppSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDB1C6C2BB2A02000F1E467 /* AppSettings.swift */; }; + FF8044E12C90379300A49A52 /* SwiftParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF0EC51D2BB16F680056B6D1 /* SwiftParser.swift */; }; + FF8044E22C90379300A49A52 /* ChangePasswordView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47DA82B85F82100ADC637 /* ChangePasswordView.swift */; }; + FF8044E32C90379300A49A52 /* RoundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC83D502BB8087E00750834 /* RoundView.swift */; }; + FF8044E42C90379300A49A52 /* RowButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC8F62B94773100EA7F5A /* RowButtonView.swift */; }; + FF8044E52C90379300A49A52 /* SendToAllView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF2EFBEF2BDE295E0049CE3B /* SendToAllView.swift */; }; + FF8044E62C90379300A49A52 /* EventCreationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F263A2BAD528600650388 /* EventCreationView.swift */; }; + FF8044E72C90379300A49A52 /* LoserGroupStageSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF135BF82C2FCB8300C9247A /* LoserGroupStageSettingsView.swift */; }; + FF8044E82C90379300A49A52 /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC1E1072BAC29FC008D6F59 /* LocationManager.swift */; }; + FF8044E92C90379300A49A52 /* CapsuleViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C01D972C481C0C0059087C /* CapsuleViewModifier.swift */; }; + FF8044EA2C90379300A49A52 /* BroadcastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6087EB2BE26A2F004E1E47 /* BroadcastView.swift */; }; + FF8044EB2C90379300A49A52 /* SchedulerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF964542BC266CF00EEF017 /* SchedulerView.swift */; }; + FF8044EC2C90379300A49A52 /* PadelClubButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFA1B1282BB71773006CE248 /* PadelClubButtonView.swift */; }; + FF8044ED2C90379300A49A52 /* TournamentSeedEditing.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5DA19A2BB9662200A33061 /* TournamentSeedEditing.swift */; }; + FF8044EE2C90379300A49A52 /* TournamentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF70916B2B91005400AB08DA /* TournamentView.swift */; }; + FF8044EF2C90379300A49A52 /* OngoingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D30552BD95B1100F2B93D /* OngoingView.swift */; }; + FF8044F02C90379300A49A52 /* CreateClubView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DC5542BAB36DD00FD8220 /* CreateClubView.swift */; }; + FF8044F12C90379300A49A52 /* APICallsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4607A7C2C04DDE2004CB781 /* APICallsListView.swift */; }; + FF8044F22C90379300A49A52 /* NetworkFederalService.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC1E1092BAC2A77008D6F59 /* NetworkFederalService.swift */; }; + FF8044F32C90379300A49A52 /* DurationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AEE2BD1AE9400A86CF8 /* DurationSettingsView.swift */; }; + FF8044F42C90379300A49A52 /* AppScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AEC2BD1513700A86CF8 /* AppScreen.swift */; }; + FF8044F52C90379300A49A52 /* CourtView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC91B022BD85E2400B29808 /* CourtView.swift */; }; + FF8044F62C90379300A49A52 /* PointSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC00D2BBC3D4600B82851 /* PointSelectionView.swift */; }; + FF8044F72C90379300A49A52 /* TeamRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EB52BB00A3800F0AEC7 /* TeamRowView.swift */; }; + FF8044F82C90379300A49A52 /* ContactManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF92680A2BCEE3E10080F940 /* ContactManager.swift */; }; + FF8044F92C90379300A49A52 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40CD2F22C412681000DBD9A /* AppDelegate.swift */; }; + FF8044FA2C90379300A49A52 /* SubscriptionInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0252BD80AE80077B5AA /* SubscriptionInfoView.swift */; }; + FF8044FB2C90379300A49A52 /* EditScoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0012BBC39A600B82851 /* EditScoreView.swift */; }; + FF8044FC2C90379300A49A52 /* TournamentOrganizerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091612B90F04300AB08DA /* TournamentOrganizerView.swift */; }; + FF8044FD2C90379300A49A52 /* NetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF92680C2BCEE5EA0080F940 /* NetworkMonitor.swift */; }; + FF8044FE2C90379300A49A52 /* TournamentRunningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CF52BAED51600A9A3BD /* TournamentRunningView.swift */; }; + FF8044FF2C90379300A49A52 /* TournamentDatePickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F264A2BAE0B4100650388 /* TournamentDatePickerView.swift */; }; + FF8045002C90379300A49A52 /* CourtAvailabilitySettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF116E22BD2AF4800A33B06 /* CourtAvailabilitySettingsView.swift */; }; + FF8045012C90379300A49A52 /* ConfirmButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE8C2BF2C7601E80046B243 /* ConfirmButtonView.swift */; }; + FF8045022C90379300A49A52 /* PasswordField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4FC2E262C2AABC90021F3BF /* PasswordField.swift */; }; + FF8045032C90379300A49A52 /* MatchRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CFF2BAEEF6400A9A3BD /* MatchRowView.swift */; }; + FF8045042C90379300A49A52 /* Locale+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44B79102BBDA63A00906534 /* Locale+Extensions.swift */; }; + FF8045052C90379300A49A52 /* HtmlService.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1F4B732BFA00FC000B4573 /* HtmlService.swift */; }; + FF8045062C90379300A49A52 /* GroupStage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CE72BAEC70100A9A3BD /* GroupStage.swift */; }; + FF8045072C90379300A49A52 /* TournamentCashierView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1162802BCF945C000C4809 /* TournamentCashierView.swift */; }; + FF8045082C90379300A49A52 /* StoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D8D2B7BBBEC00ADC637 /* StoreManager.swift */; }; + FF8045092C90379300A49A52 /* SearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4AB6BA2B9256D50002987F /* SearchViewModel.swift */; }; + FF80450A2C90379300A49A52 /* PlayerRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CF12BAECC0B00A9A3BD /* PlayerRegistration.swift */; }; + FF80450B2C90379300A49A52 /* ImportedPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4AB6BE2B92577A0002987F /* ImportedPlayerView.swift */; }; + FF80450C2C90379300A49A52 /* EditingTeamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1162862BD004AD000C4809 /* EditingTeamView.swift */; }; + FF80450D2C90379300A49A52 /* NetworkManagerError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC9052B947A1000EA7F5A /* NetworkManagerError.swift */; }; + FF80450E2C90379300A49A52 /* Tournament.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D592B6D383C00ADC637 /* Tournament.swift */; }; + FF80450F2C90379300A49A52 /* TournamentStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4FC2E2A2C2C0E4D0021F3BF /* TournamentStore.swift */; }; + FF8045102C90379300A49A52 /* LoserRoundSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5647122C0B6F380081F995 /* LoserRoundSettingsView.swift */; }; + FF8045112C90379300A49A52 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3795652B9399AA004EA093 /* Persistence.swift */; }; + FF8045122C90379300A49A52 /* CloseDatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCF76062C3BE9BC006C8C3D /* CloseDatePicker.swift */; }; + FF8045132C90379300A49A52 /* BarButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DF49A2BD8D23900822FA0 /* BarButtonView.swift */; }; + FF8045142C90379300A49A52 /* PlanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF9644F2BC25E3700EEF017 /* PlanningView.swift */; }; + FF8045152C90379300A49A52 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CEB2BAECB9900A9A3BD /* Match.swift */; }; + FF8045162C90379300A49A52 /* TournamentLevelPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26492BAE0B4100650388 /* TournamentLevelPickerView.swift */; }; + FF8045172C90379300A49A52 /* FederalTournamentHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1CBC212BB53E590036DAAB /* FederalTournamentHolder.swift */; }; + FF8045182C90379300A49A52 /* DataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D5D2B6D38EC00ADC637 /* DataStore.swift */; }; + FF8045192C90379300A49A52 /* SetDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC01B2BBC5AAA00B82851 /* SetDescriptor.swift */; }; + FF80451A2C90379300A49A52 /* TeamHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AD72BD0C10F00A86CF8 /* TeamHeaderView.swift */; }; + FF80451B2C90379300A49A52 /* OrganizedTournamentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF82CFC42B911F5B00B0CAF2 /* OrganizedTournamentView.swift */; }; + FF80451C2C90379300A49A52 /* RoundScheduleEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF964562BC26B3400EEF017 /* RoundScheduleEditorView.swift */; }; + FF80451D2C90379300A49A52 /* EventListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF59FFB22B90EFAC0061EFF9 /* EventListView.swift */; }; + FF80451E2C90379300A49A52 /* TournamentConfiguratorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F263C2BAD627A00650388 /* TournamentConfiguratorView.swift */; }; + FF80451F2C90379300A49A52 /* ClubImportView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC1E10B2BAC7FB0008D6F59 /* ClubImportView.swift */; }; + FF8045202C90379300A49A52 /* UnderlineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF558C622C6CDD020071F9AE /* UnderlineView.swift */; }; + FF8045212C90379300A49A52 /* MatchScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3B60A22BC49BBC008C2E66 /* MatchScheduler.swift */; }; + FF8045222C90379300A49A52 /* CallMessageCustomizationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1162792BCF8109000C4809 /* CallMessageCustomizationView.swift */; }; + FF8045232C90379300A49A52 /* TournamentStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6087E92BE25EF1004E1E47 /* TournamentStatusView.swift */; }; + FF8045242C90379300A49A52 /* MatchTeamDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025ADA2BD0C2D000A86CF8 /* MatchTeamDetailView.swift */; }; + FF8045252C90379300A49A52 /* GenericDestinationPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5DA1942BB927E800A33061 /* GenericDestinationPickerView.swift */; }; + FF8045262C90379300A49A52 /* DateInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF116E02BD2A9B600A33B06 /* DateInterval.swift */; }; + FF8045272C90379300A49A52 /* TableStructureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26532BAE1E4400650388 /* TableStructureView.swift */; }; + FF8045282C90379300A49A52 /* Purchase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45BAE432BCA753E002EEC8A /* Purchase.swift */; }; + FF8045292C90379300A49A52 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC8FD2B94792300EA7F5A /* Screen.swift */; }; + FF80452A2C90379300A49A52 /* Round.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CED2BAECBD700A9A3BD /* Round.swift */; }; + FF80452B2C90379300A49A52 /* FederalDataViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5BAF6D2BE0B3C8008B4B7E /* FederalDataViewModel.swift */; }; + FF80452C2C90379300A49A52 /* AgendaDestination.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3F74FE2B91A2D4004CFE0E /* AgendaDestination.swift */; }; + FF80452D2C90379300A49A52 /* PadelClubApp.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = FF3795602B9396D0004EA093 /* PadelClubApp.xcdatamodeld */; }; + FF80452E2C90379300A49A52 /* SetInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0152BBC5A4C00B82851 /* SetInputView.swift */; }; + FF80452F2C90379300A49A52 /* ButtonValidateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF03C932BD91D0C00B516FC /* ButtonValidateView.swift */; }; + FF8045302C90379300A49A52 /* ClubRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D882BB4935C005CB568 /* ClubRowView.swift */; }; + FF8045312C90379300A49A52 /* ClubDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DC5502BAB351300FD8220 /* ClubDetailView.swift */; }; + FF8045322C90379300A49A52 /* GroupStageCallingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9268022BCE94A30080F940 /* GroupStageCallingView.swift */; }; + FF8045332C90379300A49A52 /* Key.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0432BE286780077B5AA /* Key.swift */; }; + FF8045342C90379300A49A52 /* CashierSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF11627C2BCF941A000C4809 /* CashierSettingsView.swift */; }; + FF8045352C90379300A49A52 /* LoserRoundScheduleEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFFCDE0D2BCC833600317DEF /* LoserRoundScheduleEditorView.swift */; }; + FF8045362C90379300A49A52 /* Club.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D622B6D3D6500ADC637 /* Club.swift */; }; + FF8045372C90379300A49A52 /* Array+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC90A2B947AC000EA7F5A /* Array+Extensions.swift */; }; + FF8045382C90379300A49A52 /* ToolboxView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF59FFB82B90EFD70061EFF9 /* ToolboxView.swift */; }; + FF8045392C90379300A49A52 /* Alphabet.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8E1CE52C006E0200184680 /* Alphabet.swift */; }; + FF80453A2C90379300A49A52 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8ACD82B923F3C008466FA /* String+Extensions.swift */; }; + FF80453B2C90379300A49A52 /* GroupStageSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCB74122C4625BB008384D0 /* GroupStageSettingsView.swift */; }; + FF80453C2C90379300A49A52 /* TournamentGeneralSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AE42BD0EBB800A86CF8 /* TournamentGeneralSettingsView.swift */; }; + FF80453D2C90379300A49A52 /* LoserRoundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC2DCB12BBE75D40046DB9F /* LoserRoundView.swift */; }; + FF80453E2C90379300A49A52 /* AddTeamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF90FC1C2C44FB3E009339B2 /* AddTeamView.swift */; }; + FF80453F2C90379300A49A52 /* PlayerPayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9267FB2BCE84870080F940 /* PlayerPayView.swift */; }; + FF8045402C90379300A49A52 /* PlanningByCourtView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF2B51542C7A4DAF00FFF126 /* PlanningByCourtView.swift */; }; + FF8045412C90379300A49A52 /* FileImportManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFA6D7842BB0B795003A31F3 /* FileImportManager.swift */; }; + FF8045422C90379300A49A52 /* TournamentButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC8FA2B94788600EA7F5A /* TournamentButtonView.swift */; }; + FF8045432C90379300A49A52 /* FederalPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8ACCC2B92367B008466FA /* FederalPlayer.swift */; }; + FF8045442C90379300A49A52 /* NavigationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBF065F2BBD9F6D009D6715 /* NavigationViewModel.swift */; }; + FF8045452C90379300A49A52 /* FixedWidthInteger+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6EC9082B947A5300EA7F5A /* FixedWidthInteger+Extensions.swift */; }; + FF8045462C90379300A49A52 /* ImportedPlayer+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D30502BD94E1000F2B93D /* ImportedPlayer+Extensions.swift */; }; + FF8045472C90379300A49A52 /* ClubSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC1E1032BAC28C6008D6F59 /* ClubSearchView.swift */; }; + FF8045482C90379300A49A52 /* PlayerPopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EBA2BB0120700F0AEC7 /* PlayerPopoverView.swift */; }; + FF8045492C90379300A49A52 /* InscriptionManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF70916D2B9108C600AB08DA /* InscriptionManagerView.swift */; }; + FF80454A2C90379300A49A52 /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF82CFC82B9132AF00B0CAF2 /* ActivityView.swift */; }; + FF80454B2C90379300A49A52 /* MySortDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDB1C722BB2CFE900F1E467 /* MySortDescriptor.swift */; }; + FF80454C2C90379300A49A52 /* CalendarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D8A2BB4D1E3005CB568 /* CalendarView.swift */; }; + FF80454D2C90379300A49A52 /* FederalTournamentSearchScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1CBC1E2BB53E0C0036DAAB /* FederalTournamentSearchScope.swift */; }; + FF80454E2C90379300A49A52 /* TournamentFieldsManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26462BAE0ACB00650388 /* TournamentFieldsManagerView.swift */; }; + FF80454F2C90379300A49A52 /* PrintSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1F4B812BFA0124000B4573 /* PrintSettingsView.swift */; }; + FF8045502C90379300A49A52 /* TournamentMatchFormatsSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AE22BD0EBA900A86CF8 /* TournamentMatchFormatsSettingsView.swift */; }; + FF8045512C90379300A49A52 /* DateUpdateManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1162892BD05247000C4809 /* DateUpdateManagerView.swift */; }; + FF8045522C90379300A49A52 /* MatchTypeSmallSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0192BBC5A8500B82851 /* MatchTypeSmallSelectionView.swift */; }; + FF8045532C90379300A49A52 /* MonthData.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AE82BD1307E00A86CF8 /* MonthData.swift */; }; + FF8045542C90379300A49A52 /* MenuWarningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFEF7F4D2BDE69130033D0F0 /* MenuWarningView.swift */; }; + FF8045552C90379300A49A52 /* TournamentBuildView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1F4B6C2BF9E60B000B4573 /* TournamentBuildView.swift */; }; + FF8045562C90379300A49A52 /* TeamPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D0A2BAF3D4C00A9A3BD /* TeamPickerView.swift */; }; + FF8045572C90379300A49A52 /* CloudConvert.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFA6D7862BB0B7A2003A31F3 /* CloudConvert.swift */; }; + FF8045582C90379300A49A52 /* EventTournamentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBF41832BF75ED7001B24CB /* EventTournamentsView.swift */; }; + FF8045592C90379300A49A52 /* DisplayContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DC55A2BAB80C400FD8220 /* DisplayContext.swift */; }; + FF80455A2C90379300A49A52 /* TournamentCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9268062BCE94D90080F940 /* TournamentCallView.swift */; }; + FF80455B2C90379300A49A52 /* LoserRoundsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC2DCB32BBE9ECD0046DB9F /* LoserRoundsView.swift */; }; + FF80455C2C90379300A49A52 /* GroupStagesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CFB2BAEE13900A9A3BD /* GroupStagesView.swift */; }; + FF80455D2C90379300A49A52 /* PadelClubView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFD783FE2B91BA42000F62A6 /* PadelClubView.swift */; }; + FF80455E2C90379300A49A52 /* URLs.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF01A2BD6A1E80077B5AA /* URLs.swift */; }; + FF80455F2C90379300A49A52 /* MatchDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0132BBC59FC00B82851 /* MatchDescriptor.swift */; }; + FF8045602C90379300A49A52 /* TournamentFormatSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26482BAE0B4100650388 /* TournamentFormatSelectionView.swift */; }; + FF8045612C90379300A49A52 /* MatchListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBF065D2BBD8040009D6715 /* MatchListView.swift */; }; + FF8045622C90379300A49A52 /* PadelClubApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = C425D4002B6D249D002A7B48 /* PadelClubApp.swift */; }; + FF8045632C90379300A49A52 /* TournamentSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26422BADFE5B00650388 /* TournamentSettingsView.swift */; }; + FF8045642C90379300A49A52 /* String+Crypto.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF03B2BE15AF80077B5AA /* String+Crypto.swift */; }; + FF8045652C90379300A49A52 /* GroupStageTeamReplacementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9AC3942BE3627B00C2E883 /* GroupStageTeamReplacementView.swift */; }; + FF8045662C90379300A49A52 /* TabItemModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4C7F012BBBD7150031B6A3 /* TabItemModifier.swift */; }; + FF8045672C90379300A49A52 /* DeferredViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDDD40B2B93B2BB00C91A49 /* DeferredViewModifier.swift */; }; + FF8045682C90379300A49A52 /* TournamentScheduleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF0E0B6C2BC254C6005F00A9 /* TournamentScheduleView.swift */; }; + FF8045692C90379300A49A52 /* MatchFormatStorageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AF02BD1AEBD00A86CF8 /* MatchFormatStorageView.swift */; }; + FF80456A2C90379300A49A52 /* UmpireView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3F74F52B919E45004CFE0E /* UmpireView.swift */; }; + FF80456B2C90379300A49A52 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47DAC2B85FCCD00ADC637 /* User.swift */; }; + FF80456C2C90379300A49A52 /* MatchSummaryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D002BAEF0B400A9A3BD /* MatchSummaryView.swift */; }; + FF80456D2C90379300A49A52 /* TournamentDurationManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26442BAE0A3400650388 /* TournamentDurationManagerView.swift */; }; + FF80456E2C90379300A49A52 /* MockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DC5522BAB354A00FD8220 /* MockData.swift */; }; + FF80456F2C90379300A49A52 /* TeamDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D082BAF3D4000A9A3BD /* TeamDetailView.swift */; }; + FF8045702C90379300A49A52 /* GroupStagesSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5DA18E2BB9268800A33061 /* GroupStagesSettingsView.swift */; }; + FF8045712C90379300A49A52 /* TournamentFilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF663FBD2BE019EC0031AE83 /* TournamentFilterView.swift */; }; + FF8045722C90379300A49A52 /* HtmlGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1F4B722BFA00FB000B4573 /* HtmlGenerator.swift */; }; + FF8045732C90379300A49A52 /* PadelRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26352BAD523300650388 /* PadelRule.swift */; }; + FF8045742C90379300A49A52 /* TeamRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CF02BAECC0B00A9A3BD /* TeamRegistration.swift */; }; + FF8045752C90379300A49A52 /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8ACDA2B923F48008466FA /* Date+Extensions.swift */; }; + FF8045762C90379300A49A52 /* GroupStageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CFA2BAEE13800A9A3BD /* GroupStageView.swift */; }; + FF8045772C90379300A49A52 /* Tips.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1DC5582BAB767000FD8220 /* Tips.swift */; }; + FF8045782C90379300A49A52 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF59FFB62B90EFBF0061EFF9 /* MainView.swift */; }; + FF8045792C90379300A49A52 /* MatchDateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D0C2BAF3EB200A9A3BD /* MatchDateView.swift */; }; + FF80457A2C90379300A49A52 /* PlanningSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF964522BC262B000EEF017 /* PlanningSettingsView.swift */; }; + FF80457B2C90379300A49A52 /* MatchScheduleEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF527D52BC6DDD000FF4EF2 /* MatchScheduleEditorView.swift */; }; + FF80457C2C90379300A49A52 /* FortuneWheelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC91AF82BD6A09100B29808 /* FortuneWheelView.swift */; }; + FF80457D2C90379300A49A52 /* URL+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8ACD52B923960008466FA /* URL+Extensions.swift */; }; + FF80457E2C90379300A49A52 /* LoadingViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C493B37D2C10AD3600862481 /* LoadingViewModifier.swift */; }; + FF80457F2C90379300A49A52 /* PlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EBC2BB0287D00F0AEC7 /* PlayerView.swift */; }; + FF8045802C90379300A49A52 /* MatchDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D022BAEF0C000A9A3BD /* MatchDetailView.swift */; }; + FF8045812C90379300A49A52 /* ExportFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF1D2CA2C4A22B200C8D33D /* ExportFormat.swift */; }; + FF8045822C90379300A49A52 /* PlayerBlockView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967D0E2BAF63B000A9A3BD /* PlayerBlockView.swift */; }; + FF8045832C90379300A49A52 /* StoreItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D8F2B7BBBEC00ADC637 /* StoreItem.swift */; }; + FF8045842C90379300A49A52 /* Selectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB9C8702BBADDE200A0EF4F /* Selectable.swift */; }; + FF8045852C90379300A49A52 /* PointView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0112BBC3E1A00B82851 /* PointView.swift */; }; + FF8045862C90379300A49A52 /* ClubHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1CBC202BB53E590036DAAB /* ClubHolder.swift */; }; + FF8045872C90379300A49A52 /* EventSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBF41852BF75FDA001B24CB /* EventSettingsView.swift */; }; + FF8045882C90379300A49A52 /* InscriptionInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D772BB42C5B005CB568 /* InscriptionInfoView.swift */; }; + FF8045892C90379300A49A52 /* SelectablePlayerListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4AB6BC2B9256E10002987F /* SelectablePlayerListView.swift */; }; + FF80458A2C90379300A49A52 /* MatchFormatPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8F26502BAE0BAD00650388 /* MatchFormatPickerView.swift */; }; + FF80458B2C90379300A49A52 /* TournamentRankView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5BAF712BE19274008B4B7E /* TournamentRankView.swift */; }; + FF80458C2C90379300A49A52 /* NumberFormatter+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D862BB48AFD005CB568 /* NumberFormatter+Extensions.swift */; }; + FF80458D2C90379300A49A52 /* SetLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCFC0172BBC5A6800B82851 /* SetLabelView.swift */; }; + FF80458E2C90379300A49A52 /* DebugSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4489BE12C05BF5000043F3D /* DebugSettingsView.swift */; }; + FF80458F2C90379300A49A52 /* GroupStageScheduleEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF9645A2BC2D53B00EEF017 /* GroupStageScheduleEditorView.swift */; }; + FF8045902C90379300A49A52 /* EventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBF41812BF73EB3001B24CB /* EventView.swift */; }; + FF8045912C90379300A49A52 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47DA52B83948E00ADC637 /* LoginView.swift */; }; + FF8045922C90379300A49A52 /* Court.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC91B002BD85C2F00B29808 /* Court.swift */; }; + FF8045932C90379300A49A52 /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF967CF72BAEDF0000A9A3BD /* Labels.swift */; }; + FF8045942C90379300A49A52 /* CopyPasteButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCB74162C480411008384D0 /* CopyPasteButtonView.swift */; }; + FF8045952C90379300A49A52 /* PlayerSexPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF089EB32BB0020000F0AEC7 /* PlayerSexPickerView.swift */; }; + FF8045962C90379300A49A52 /* TournamentInscriptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1F4B702BF9EFE9000B4573 /* TournamentInscriptionView.swift */; }; + FF8045972C90379300A49A52 /* CallSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9267FE2BCE94830080F940 /* CallSettingsView.swift */; }; + FF8045982C90379300A49A52 /* FooterButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025ADC2BD0C94300A86CF8 /* FooterButtonView.swift */; }; + FF8045992C90379300A49A52 /* RankCalculatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D822BB48997005CB568 /* RankCalculatorView.swift */; }; + FF80459A2C90379300A49A52 /* DateBoxView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7091692B90F95E00AB08DA /* DateBoxView.swift */; }; + FF80459B2C90379300A49A52 /* LearnMoreSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D0D6F2BB3EFA5005CB568 /* LearnMoreSheetView.swift */; }; + FF80459C2C90379300A49A52 /* SourceFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8ACD32B92392C008466FA /* SourceFileManager.swift */; }; + FF80459D2C90379300A49A52 /* PListReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4EC6F582BE92D88000CEAB4 /* PListReader.swift */; }; + FF80459E2C90379300A49A52 /* UpdateSourceRankDateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF0EC5212BB173E70056B6D1 /* UpdateSourceRankDateView.swift */; }; + FF80459F2C90379300A49A52 /* GlobalSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF025AE62BD1111000A86CF8 /* GlobalSettingsView.swift */; }; + FF8045A02C90379300A49A52 /* Guard.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D8E2B7BBBEC00ADC637 /* Guard.swift */; }; + FF8045A12C90379300A49A52 /* PurchaseListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0182BD694290077B5AA /* PurchaseListView.swift */; }; + FF8045A32C90379300A49A52 /* Algorithms in Frameworks */ = {isa = PBXBuildFile; productRef = FF8044AF2C90379300A49A52 /* Algorithms */; }; + FF8045A42C90379300A49A52 /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = FF8044B12C90379300A49A52 /* Zip */; }; + FF8045A52C90379300A49A52 /* LeStorage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C49EF0372BDFF3000077B5AA /* LeStorage.framework */; }; + FF8045A72C90379300A49A52 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C425D4072B6D249E002A7B48 /* Preview Assets.xcassets */; }; + FF8045A82C90379300A49A52 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FFD784002B91BF79000F62A6 /* Launch Screen.storyboard */; }; + FF8045A92C90379300A49A52 /* tournament-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B7F2BFA0105000B4573 /* tournament-template.html */; }; + FF8045AA2C90379300A49A52 /* local.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = FF2B51602C7E302C00FFF126 /* local.sqlite */; }; + FF8045AB2C90379300A49A52 /* groupstagescore-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B7B2BFA0105000B4573 /* groupstagescore-template.html */; }; + FF8045AC2C90379300A49A52 /* player-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B7E2BFA0105000B4573 /* player-template.html */; }; + FF8045AD2C90379300A49A52 /* groupstagerow-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B7A2BFA0105000B4573 /* groupstagerow-template.html */; }; + FF8045AE2C90379300A49A52 /* hiddenplayer-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B7C2BFA0105000B4573 /* hiddenplayer-template.html */; }; + FF8045AF2C90379300A49A52 /* bracket-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B762BFA0105000B4573 /* bracket-template.html */; }; + FF8045B02C90379300A49A52 /* groupstagecol-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B782BFA0105000B4573 /* groupstagecol-template.html */; }; + FF8045B12C90379300A49A52 /* groupstage-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B772BFA0105000B4573 /* groupstage-template.html */; }; + FF8045B22C90379300A49A52 /* groupstageentrant-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B792BFA0105000B4573 /* groupstageentrant-template.html */; }; + FF8045B32C90379300A49A52 /* match-template.html in Resources */ = {isa = PBXBuildFile; fileRef = FF1F4B7D2BFA0105000B4573 /* match-template.html */; }; + FF8045B42C90379300A49A52 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = FFF0241D2BF48B15001F14B4 /* Localizable.strings */; }; + FF8045B52C90379300A49A52 /* SyncedProducts.storekit in Resources */ = {isa = PBXBuildFile; fileRef = C45BAE3A2BC6DF10002EEC8A /* SyncedProducts.storekit */; }; + FF8045B62C90379300A49A52 /* local.plist in Resources */ = {isa = PBXBuildFile; fileRef = C4EC6F562BE92CAC000CEAB4 /* local.plist */; }; + FF8045B72C90379300A49A52 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = FF0CA5742BDA4AE10080E843 /* PrivacyInfo.xcprivacy */; }; + FF8045B82C90379300A49A52 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C425D4042B6D249E002A7B48 /* Assets.xcassets */; }; + FF8045BA2C90379300A49A52 /* LeStorage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C49EF0372BDFF3000077B5AA /* LeStorage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; FF82CFC52B911F5B00B0CAF2 /* OrganizedTournamentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF82CFC42B911F5B00B0CAF2 /* OrganizedTournamentView.swift */; }; FF82CFC92B9132AF00B0CAF2 /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF82CFC82B9132AF00B0CAF2 /* ActivityView.swift */; }; FF8E1CE62C006E0200184680 /* Alphabet.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8E1CE52C006E0200184680 /* Alphabet.swift */; }; @@ -305,6 +565,17 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + FF8045B92C90379300A49A52 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + FF8045BA2C90379300A49A52 /* LeStorage.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -508,6 +779,7 @@ FF7091692B90F95E00AB08DA /* DateBoxView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateBoxView.swift; sourceTree = ""; }; FF70916B2B91005400AB08DA /* TournamentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TournamentView.swift; sourceTree = ""; }; FF70916D2B9108C600AB08DA /* InscriptionManagerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InscriptionManagerView.swift; sourceTree = ""; }; + FF8045BE2C90379300A49A52 /* PadelClub TestFlight.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "PadelClub TestFlight.app"; sourceTree = BUILT_PRODUCTS_DIR; }; FF82CFC42B911F5B00B0CAF2 /* OrganizedTournamentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrganizedTournamentView.swift; sourceTree = ""; }; FF82CFC82B9132AF00B0CAF2 /* ActivityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityView.swift; sourceTree = ""; }; FF8E1CE52C006E0200184680 /* Alphabet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Alphabet.swift; sourceTree = ""; }; @@ -649,6 +921,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FF8045A22C90379300A49A52 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FF8045A32C90379300A49A52 /* Algorithms in Frameworks */, + FF8045A42C90379300A49A52 /* Zip in Frameworks */, + FF8045A52C90379300A49A52 /* LeStorage.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -669,6 +951,7 @@ C425D3FD2B6D249D002A7B48 /* PadelClub.app */, C425D40D2B6D249E002A7B48 /* PadelClubTests.xctest */, C425D4172B6D249E002A7B48 /* PadelClubUITests.xctest */, + FF8045BE2C90379300A49A52 /* PadelClub TestFlight.app */, ); name = Products; sourceTree = ""; @@ -1448,6 +1731,28 @@ productReference = C425D4172B6D249E002A7B48 /* PadelClubUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; + FF8044AE2C90379300A49A52 /* PadelClub TestFlight */ = { + isa = PBXNativeTarget; + buildConfigurationList = FF8045BB2C90379300A49A52 /* Build configuration list for PBXNativeTarget "PadelClub TestFlight" */; + buildPhases = ( + FF8044B32C90379300A49A52 /* Sources */, + FF8045A22C90379300A49A52 /* Frameworks */, + FF8045A62C90379300A49A52 /* Resources */, + FF8045B92C90379300A49A52 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PadelClub TestFlight"; + packageProductDependencies = ( + FF8044AF2C90379300A49A52 /* Algorithms */, + FF8044B12C90379300A49A52 /* Zip */, + ); + productName = PadelClub; + productReference = FF8045BE2C90379300A49A52 /* PadelClub TestFlight.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -1492,6 +1797,7 @@ C425D3FC2B6D249D002A7B48 /* PadelClub */, C425D40C2B6D249E002A7B48 /* PadelClubTests */, C425D4162B6D249E002A7B48 /* PadelClubUITests */, + FF8044AE2C90379300A49A52 /* PadelClub TestFlight */, ); }; /* End PBXProject section */ @@ -1536,6 +1842,31 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FF8045A62C90379300A49A52 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FF8045A72C90379300A49A52 /* Preview Assets.xcassets in Resources */, + FF8045A82C90379300A49A52 /* Launch Screen.storyboard in Resources */, + FF8045A92C90379300A49A52 /* tournament-template.html in Resources */, + FF8045AA2C90379300A49A52 /* local.sqlite in Resources */, + FF8045AB2C90379300A49A52 /* groupstagescore-template.html in Resources */, + FF8045AC2C90379300A49A52 /* player-template.html in Resources */, + FF8045AD2C90379300A49A52 /* groupstagerow-template.html in Resources */, + FF8045AE2C90379300A49A52 /* hiddenplayer-template.html in Resources */, + FF8045AF2C90379300A49A52 /* bracket-template.html in Resources */, + FF8045B02C90379300A49A52 /* groupstagecol-template.html in Resources */, + FF8045B12C90379300A49A52 /* groupstage-template.html in Resources */, + FF8045B22C90379300A49A52 /* groupstageentrant-template.html in Resources */, + FF8045B32C90379300A49A52 /* match-template.html in Resources */, + FF8045B42C90379300A49A52 /* Localizable.strings in Resources */, + FF8045B52C90379300A49A52 /* SyncedProducts.storekit in Resources */, + FF8045B62C90379300A49A52 /* local.plist in Resources */, + FF8045B72C90379300A49A52 /* PrivacyInfo.xcprivacy in Resources */, + FF8045B82C90379300A49A52 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1805,6 +2136,251 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FF8044B32C90379300A49A52 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FF8044B42C90379300A49A52 /* UserCreationView.swift in Sources */, + FF8044B52C90379300A49A52 /* TabDestination.swift in Sources */, + FF8044B62C90379300A49A52 /* CashierView.swift in Sources */, + FF8044B72C90379300A49A52 /* Event.swift in Sources */, + FF8044B82C90379300A49A52 /* PlayerHolder.swift in Sources */, + FF8044B92C90379300A49A52 /* LoserRoundStepScheduleEditorView.swift in Sources */, + FF8044BA2C90379300A49A52 /* ClubCourtSetupView.swift in Sources */, + FF8044BB2C90379300A49A52 /* Patcher.swift in Sources */, + FF8044BC2C90379300A49A52 /* FileImportView.swift in Sources */, + FF8044BD2C90379300A49A52 /* StepperView.swift in Sources */, + FF8044BE2C90379300A49A52 /* RoundsView.swift in Sources */, + FF8044BF2C90379300A49A52 /* FederalTournament.swift in Sources */, + FF8044C02C90379300A49A52 /* TournamentInitView.swift in Sources */, + FF8044C12C90379300A49A52 /* SubscriptionView.swift in Sources */, + FF8044C22C90379300A49A52 /* ClubsView.swift in Sources */, + FF8044C32C90379300A49A52 /* ImagePickerView.swift in Sources */, + FF8044C42C90379300A49A52 /* MatchTypeSelectionView.swift in Sources */, + FF8044C52C90379300A49A52 /* MatchSetupView.swift in Sources */, + FF8044C62C90379300A49A52 /* NetworkManager.swift in Sources */, + FF8044C72C90379300A49A52 /* EventLinksView.swift in Sources */, + FF8044C82C90379300A49A52 /* SeedInterval.swift in Sources */, + FF8044C92C90379300A49A52 /* TournamentClubSettingsView.swift in Sources */, + FF8044CA2C90379300A49A52 /* GroupStageTeamView.swift in Sources */, + FF8044CB2C90379300A49A52 /* RoundSettingsView.swift in Sources */, + FF8044CC2C90379300A49A52 /* SupportButtonView.swift in Sources */, + FF8044CD2C90379300A49A52 /* TournamentBroadcastRowView.swift in Sources */, + FF8044CE2C90379300A49A52 /* TeamWeightView.swift in Sources */, + FF8044CF2C90379300A49A52 /* SeedsCallingView.swift in Sources */, + FF8044D02C90379300A49A52 /* CallView.swift in Sources */, + FF8044D12C90379300A49A52 /* Color+Extensions.swift in Sources */, + FF8044D22C90379300A49A52 /* EditSharingView.swift in Sources */, + FF8044D32C90379300A49A52 /* TournamentCellView.swift in Sources */, + FF8044D42C90379300A49A52 /* Sequence+Extensions.swift in Sources */, + FF8044D52C90379300A49A52 /* CashierDetailView.swift in Sources */, + FF8044D62C90379300A49A52 /* EventClubSettingsView.swift in Sources */, + FF8044D72C90379300A49A52 /* AccountView.swift in Sources */, + FF8044D82C90379300A49A52 /* PlayersWithoutContactView.swift in Sources */, + FF8044D92C90379300A49A52 /* TeamsCallingView.swift in Sources */, + FF8044DA2C90379300A49A52 /* Calendar+Extensions.swift in Sources */, + FF8044DB2C90379300A49A52 /* TeamScore.swift in Sources */, + FF8044DC2C90379300A49A52 /* EditablePlayerView.swift in Sources */, + FF8044DD2C90379300A49A52 /* PlayerDetailView.swift in Sources */, + FF8044DE2C90379300A49A52 /* ListRowViewModifier.swift in Sources */, + FF8044DF2C90379300A49A52 /* PresentationContext.swift in Sources */, + FF8044E02C90379300A49A52 /* AppSettings.swift in Sources */, + FF8044E12C90379300A49A52 /* SwiftParser.swift in Sources */, + FF8044E22C90379300A49A52 /* ChangePasswordView.swift in Sources */, + FF8044E32C90379300A49A52 /* RoundView.swift in Sources */, + FF8044E42C90379300A49A52 /* RowButtonView.swift in Sources */, + FF8044E52C90379300A49A52 /* SendToAllView.swift in Sources */, + FF8044E62C90379300A49A52 /* EventCreationView.swift in Sources */, + FF8044E72C90379300A49A52 /* LoserGroupStageSettingsView.swift in Sources */, + FF8044E82C90379300A49A52 /* LocationManager.swift in Sources */, + FF8044E92C90379300A49A52 /* CapsuleViewModifier.swift in Sources */, + FF8044EA2C90379300A49A52 /* BroadcastView.swift in Sources */, + FF8044EB2C90379300A49A52 /* SchedulerView.swift in Sources */, + FF8044EC2C90379300A49A52 /* PadelClubButtonView.swift in Sources */, + FF8044ED2C90379300A49A52 /* TournamentSeedEditing.swift in Sources */, + FF8044EE2C90379300A49A52 /* TournamentView.swift in Sources */, + FF8044EF2C90379300A49A52 /* OngoingView.swift in Sources */, + FF8044F02C90379300A49A52 /* CreateClubView.swift in Sources */, + FF8044F12C90379300A49A52 /* APICallsListView.swift in Sources */, + FF8044F22C90379300A49A52 /* NetworkFederalService.swift in Sources */, + FF8044F32C90379300A49A52 /* DurationSettingsView.swift in Sources */, + FF8044F42C90379300A49A52 /* AppScreen.swift in Sources */, + FF8044F52C90379300A49A52 /* CourtView.swift in Sources */, + FF8044F62C90379300A49A52 /* PointSelectionView.swift in Sources */, + FF8044F72C90379300A49A52 /* TeamRowView.swift in Sources */, + FF8044F82C90379300A49A52 /* ContactManager.swift in Sources */, + FF8044F92C90379300A49A52 /* AppDelegate.swift in Sources */, + FF8044FA2C90379300A49A52 /* SubscriptionInfoView.swift in Sources */, + FF8044FB2C90379300A49A52 /* EditScoreView.swift in Sources */, + FF8044FC2C90379300A49A52 /* TournamentOrganizerView.swift in Sources */, + FF8044FD2C90379300A49A52 /* NetworkMonitor.swift in Sources */, + FF8044FE2C90379300A49A52 /* TournamentRunningView.swift in Sources */, + FF8044FF2C90379300A49A52 /* TournamentDatePickerView.swift in Sources */, + FF8045002C90379300A49A52 /* CourtAvailabilitySettingsView.swift in Sources */, + FF8045012C90379300A49A52 /* ConfirmButtonView.swift in Sources */, + FF8045022C90379300A49A52 /* PasswordField.swift in Sources */, + FF8045032C90379300A49A52 /* MatchRowView.swift in Sources */, + FF8045042C90379300A49A52 /* Locale+Extensions.swift in Sources */, + FF8045052C90379300A49A52 /* HtmlService.swift in Sources */, + FF8045062C90379300A49A52 /* GroupStage.swift in Sources */, + FF8045072C90379300A49A52 /* TournamentCashierView.swift in Sources */, + FF8045082C90379300A49A52 /* StoreManager.swift in Sources */, + FF8045092C90379300A49A52 /* SearchViewModel.swift in Sources */, + FF80450A2C90379300A49A52 /* PlayerRegistration.swift in Sources */, + FF80450B2C90379300A49A52 /* ImportedPlayerView.swift in Sources */, + FF80450C2C90379300A49A52 /* EditingTeamView.swift in Sources */, + FF80450D2C90379300A49A52 /* NetworkManagerError.swift in Sources */, + FF80450E2C90379300A49A52 /* Tournament.swift in Sources */, + FF80450F2C90379300A49A52 /* TournamentStore.swift in Sources */, + FF8045102C90379300A49A52 /* LoserRoundSettingsView.swift in Sources */, + FF8045112C90379300A49A52 /* Persistence.swift in Sources */, + FF8045122C90379300A49A52 /* CloseDatePicker.swift in Sources */, + FF8045132C90379300A49A52 /* BarButtonView.swift in Sources */, + FF8045142C90379300A49A52 /* PlanningView.swift in Sources */, + FF8045152C90379300A49A52 /* Match.swift in Sources */, + FF8045162C90379300A49A52 /* TournamentLevelPickerView.swift in Sources */, + FF8045172C90379300A49A52 /* FederalTournamentHolder.swift in Sources */, + FF8045182C90379300A49A52 /* DataStore.swift in Sources */, + FF8045192C90379300A49A52 /* SetDescriptor.swift in Sources */, + FF80451A2C90379300A49A52 /* TeamHeaderView.swift in Sources */, + FF80451B2C90379300A49A52 /* OrganizedTournamentView.swift in Sources */, + FF80451C2C90379300A49A52 /* RoundScheduleEditorView.swift in Sources */, + FF80451D2C90379300A49A52 /* EventListView.swift in Sources */, + FF80451E2C90379300A49A52 /* TournamentConfiguratorView.swift in Sources */, + FF80451F2C90379300A49A52 /* ClubImportView.swift in Sources */, + FF8045202C90379300A49A52 /* UnderlineView.swift in Sources */, + FF8045212C90379300A49A52 /* MatchScheduler.swift in Sources */, + FF8045222C90379300A49A52 /* CallMessageCustomizationView.swift in Sources */, + FF8045232C90379300A49A52 /* TournamentStatusView.swift in Sources */, + FF8045242C90379300A49A52 /* MatchTeamDetailView.swift in Sources */, + FF8045252C90379300A49A52 /* GenericDestinationPickerView.swift in Sources */, + FF8045262C90379300A49A52 /* DateInterval.swift in Sources */, + FF8045272C90379300A49A52 /* TableStructureView.swift in Sources */, + FF8045282C90379300A49A52 /* Purchase.swift in Sources */, + FF8045292C90379300A49A52 /* Screen.swift in Sources */, + FF80452A2C90379300A49A52 /* Round.swift in Sources */, + FF80452B2C90379300A49A52 /* FederalDataViewModel.swift in Sources */, + FF80452C2C90379300A49A52 /* AgendaDestination.swift in Sources */, + FF80452D2C90379300A49A52 /* PadelClubApp.xcdatamodeld in Sources */, + FF80452E2C90379300A49A52 /* SetInputView.swift in Sources */, + FF80452F2C90379300A49A52 /* ButtonValidateView.swift in Sources */, + FF8045302C90379300A49A52 /* ClubRowView.swift in Sources */, + FF8045312C90379300A49A52 /* ClubDetailView.swift in Sources */, + FF8045322C90379300A49A52 /* GroupStageCallingView.swift in Sources */, + FF8045332C90379300A49A52 /* Key.swift in Sources */, + FF8045342C90379300A49A52 /* CashierSettingsView.swift in Sources */, + FF8045352C90379300A49A52 /* LoserRoundScheduleEditorView.swift in Sources */, + FF8045362C90379300A49A52 /* Club.swift in Sources */, + FF8045372C90379300A49A52 /* Array+Extensions.swift in Sources */, + FF8045382C90379300A49A52 /* ToolboxView.swift in Sources */, + FF8045392C90379300A49A52 /* Alphabet.swift in Sources */, + FF80453A2C90379300A49A52 /* String+Extensions.swift in Sources */, + FF80453B2C90379300A49A52 /* GroupStageSettingsView.swift in Sources */, + FF80453C2C90379300A49A52 /* TournamentGeneralSettingsView.swift in Sources */, + FF80453D2C90379300A49A52 /* LoserRoundView.swift in Sources */, + FF80453E2C90379300A49A52 /* AddTeamView.swift in Sources */, + FF80453F2C90379300A49A52 /* PlayerPayView.swift in Sources */, + FF8045402C90379300A49A52 /* PlanningByCourtView.swift in Sources */, + FF8045412C90379300A49A52 /* FileImportManager.swift in Sources */, + FF8045422C90379300A49A52 /* TournamentButtonView.swift in Sources */, + FF8045432C90379300A49A52 /* FederalPlayer.swift in Sources */, + FF8045442C90379300A49A52 /* NavigationViewModel.swift in Sources */, + FF8045452C90379300A49A52 /* FixedWidthInteger+Extensions.swift in Sources */, + FF8045462C90379300A49A52 /* ImportedPlayer+Extensions.swift in Sources */, + FF8045472C90379300A49A52 /* ClubSearchView.swift in Sources */, + FF8045482C90379300A49A52 /* PlayerPopoverView.swift in Sources */, + FF8045492C90379300A49A52 /* InscriptionManagerView.swift in Sources */, + FF80454A2C90379300A49A52 /* ActivityView.swift in Sources */, + FF80454B2C90379300A49A52 /* MySortDescriptor.swift in Sources */, + FF80454C2C90379300A49A52 /* CalendarView.swift in Sources */, + FF80454D2C90379300A49A52 /* FederalTournamentSearchScope.swift in Sources */, + FF80454E2C90379300A49A52 /* TournamentFieldsManagerView.swift in Sources */, + FF80454F2C90379300A49A52 /* PrintSettingsView.swift in Sources */, + FF8045502C90379300A49A52 /* TournamentMatchFormatsSettingsView.swift in Sources */, + FF8045512C90379300A49A52 /* DateUpdateManagerView.swift in Sources */, + FF8045522C90379300A49A52 /* MatchTypeSmallSelectionView.swift in Sources */, + FF8045532C90379300A49A52 /* MonthData.swift in Sources */, + FF8045542C90379300A49A52 /* MenuWarningView.swift in Sources */, + FF8045552C90379300A49A52 /* TournamentBuildView.swift in Sources */, + FF8045562C90379300A49A52 /* TeamPickerView.swift in Sources */, + FF8045572C90379300A49A52 /* CloudConvert.swift in Sources */, + FF8045582C90379300A49A52 /* EventTournamentsView.swift in Sources */, + FF8045592C90379300A49A52 /* DisplayContext.swift in Sources */, + FF80455A2C90379300A49A52 /* TournamentCallView.swift in Sources */, + FF80455B2C90379300A49A52 /* LoserRoundsView.swift in Sources */, + FF80455C2C90379300A49A52 /* GroupStagesView.swift in Sources */, + FF80455D2C90379300A49A52 /* PadelClubView.swift in Sources */, + FF80455E2C90379300A49A52 /* URLs.swift in Sources */, + FF80455F2C90379300A49A52 /* MatchDescriptor.swift in Sources */, + FF8045602C90379300A49A52 /* TournamentFormatSelectionView.swift in Sources */, + FF8045612C90379300A49A52 /* MatchListView.swift in Sources */, + FF8045622C90379300A49A52 /* PadelClubApp.swift in Sources */, + FF8045632C90379300A49A52 /* TournamentSettingsView.swift in Sources */, + FF8045642C90379300A49A52 /* String+Crypto.swift in Sources */, + FF8045652C90379300A49A52 /* GroupStageTeamReplacementView.swift in Sources */, + FF8045662C90379300A49A52 /* TabItemModifier.swift in Sources */, + FF8045672C90379300A49A52 /* DeferredViewModifier.swift in Sources */, + FF8045682C90379300A49A52 /* TournamentScheduleView.swift in Sources */, + FF8045692C90379300A49A52 /* MatchFormatStorageView.swift in Sources */, + FF80456A2C90379300A49A52 /* UmpireView.swift in Sources */, + FF80456B2C90379300A49A52 /* User.swift in Sources */, + FF80456C2C90379300A49A52 /* MatchSummaryView.swift in Sources */, + FF80456D2C90379300A49A52 /* TournamentDurationManagerView.swift in Sources */, + FF80456E2C90379300A49A52 /* MockData.swift in Sources */, + FF80456F2C90379300A49A52 /* TeamDetailView.swift in Sources */, + FF8045702C90379300A49A52 /* GroupStagesSettingsView.swift in Sources */, + FF8045712C90379300A49A52 /* TournamentFilterView.swift in Sources */, + FF8045722C90379300A49A52 /* HtmlGenerator.swift in Sources */, + FF8045732C90379300A49A52 /* PadelRule.swift in Sources */, + FF8045742C90379300A49A52 /* TeamRegistration.swift in Sources */, + FF8045752C90379300A49A52 /* Date+Extensions.swift in Sources */, + FF8045762C90379300A49A52 /* GroupStageView.swift in Sources */, + FF8045772C90379300A49A52 /* Tips.swift in Sources */, + FF8045782C90379300A49A52 /* MainView.swift in Sources */, + FF8045792C90379300A49A52 /* MatchDateView.swift in Sources */, + FF80457A2C90379300A49A52 /* PlanningSettingsView.swift in Sources */, + FF80457B2C90379300A49A52 /* MatchScheduleEditorView.swift in Sources */, + FF80457C2C90379300A49A52 /* FortuneWheelView.swift in Sources */, + FF80457D2C90379300A49A52 /* URL+Extensions.swift in Sources */, + FF80457E2C90379300A49A52 /* LoadingViewModifier.swift in Sources */, + FF80457F2C90379300A49A52 /* PlayerView.swift in Sources */, + FF8045802C90379300A49A52 /* MatchDetailView.swift in Sources */, + FF8045812C90379300A49A52 /* ExportFormat.swift in Sources */, + FF8045822C90379300A49A52 /* PlayerBlockView.swift in Sources */, + FF8045832C90379300A49A52 /* StoreItem.swift in Sources */, + FF8045842C90379300A49A52 /* Selectable.swift in Sources */, + FF8045852C90379300A49A52 /* PointView.swift in Sources */, + FF8045862C90379300A49A52 /* ClubHolder.swift in Sources */, + FF8045872C90379300A49A52 /* EventSettingsView.swift in Sources */, + FF8045882C90379300A49A52 /* InscriptionInfoView.swift in Sources */, + FF8045892C90379300A49A52 /* SelectablePlayerListView.swift in Sources */, + FF80458A2C90379300A49A52 /* MatchFormatPickerView.swift in Sources */, + FF80458B2C90379300A49A52 /* TournamentRankView.swift in Sources */, + FF80458C2C90379300A49A52 /* NumberFormatter+Extensions.swift in Sources */, + FF80458D2C90379300A49A52 /* SetLabelView.swift in Sources */, + FF80458E2C90379300A49A52 /* DebugSettingsView.swift in Sources */, + FF80458F2C90379300A49A52 /* GroupStageScheduleEditorView.swift in Sources */, + FF8045902C90379300A49A52 /* EventView.swift in Sources */, + FF8045912C90379300A49A52 /* LoginView.swift in Sources */, + FF8045922C90379300A49A52 /* Court.swift in Sources */, + FF8045932C90379300A49A52 /* Labels.swift in Sources */, + FF8045942C90379300A49A52 /* CopyPasteButtonView.swift in Sources */, + FF8045952C90379300A49A52 /* PlayerSexPickerView.swift in Sources */, + FF8045962C90379300A49A52 /* TournamentInscriptionView.swift in Sources */, + FF8045972C90379300A49A52 /* CallSettingsView.swift in Sources */, + FF8045982C90379300A49A52 /* FooterButtonView.swift in Sources */, + FF8045992C90379300A49A52 /* RankCalculatorView.swift in Sources */, + FF80459A2C90379300A49A52 /* DateBoxView.swift in Sources */, + FF80459B2C90379300A49A52 /* LearnMoreSheetView.swift in Sources */, + FF80459C2C90379300A49A52 /* SourceFileManager.swift in Sources */, + FF80459D2C90379300A49A52 /* PListReader.swift in Sources */, + FF80459E2C90379300A49A52 /* UpdateSourceRankDateView.swift in Sources */, + FF80459F2C90379300A49A52 /* GlobalSettingsView.swift in Sources */, + FF8045A02C90379300A49A52 /* Guard.swift in Sources */, + FF8045A12C90379300A49A52 /* PurchaseListView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -2125,6 +2701,102 @@ }; name = Release; }; + FF8045BC2C90379300A49A52 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = PadelClub/PadelClub.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_ASSET_PATHS = "\"PadelClub/Preview Content\""; + DEVELOPMENT_TEAM = BQ3Y44M3Q6; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_PREVIEWS = YES; + GCC_OPTIMIZATION_LEVEL = fast; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = "Padel Club"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.sports"; + INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace = YES; + INFOPLIST_KEY_NSCameraUsageDescription = "En autorisant l'application à utiliser la caméra, vous pourrez prendre des photos des rencontres"; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Padel Club a besoin de votre position pour rechercher les clubs autour de vous."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen"; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 17.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0.7; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + OTHER_SWIFT_FLAGS = "-Onone"; + PRODUCT_BUNDLE_IDENTIFIER = app.padelclub; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + FF8045BD2C90379300A49A52 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = PadelClub/PadelClub.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_ASSET_PATHS = "\"PadelClub/Preview Content\""; + DEVELOPMENT_TEAM = BQ3Y44M3Q6; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = "Padel Club"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.sports"; + INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace = YES; + INFOPLIST_KEY_NSCameraUsageDescription = "En autorisant l'application à utiliser la caméra, vous pourrez prendre des photos des rencontres"; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Padel Club a besoin de votre position pour rechercher les clubs autour de vous."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen"; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 17.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0.7; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=5 -Xfrontend -warn-long-expression-type-checking=20 -Xfrontend -warn-long-function-bodies=50"; + PRODUCT_BUNDLE_IDENTIFIER = app.padelclub; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = TESTFLIGHT; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2164,6 +2836,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + FF8045BB2C90379300A49A52 /* Build configuration list for PBXNativeTarget "PadelClub TestFlight" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FF8045BC2C90379300A49A52 /* Debug */, + FF8045BD2C90379300A49A52 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ @@ -2175,6 +2856,22 @@ minimumVersion = 1.2.0; }; }; + FF8044B02C90379300A49A52 /* XCRemoteSwiftPackageReference "swift-algorithms" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/apple/swift-algorithms.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.2.0; + }; + }; + FF8044B22C90379300A49A52 /* XCRemoteSwiftPackageReference "Zip" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/marmelroy/Zip"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.1.2; + }; + }; FF92660B2C241CE0002361A4 /* XCRemoteSwiftPackageReference "Zip" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/marmelroy/Zip"; @@ -2186,6 +2883,16 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + FF8044AF2C90379300A49A52 /* Algorithms */ = { + isa = XCSwiftPackageProductDependency; + package = FF8044B02C90379300A49A52 /* XCRemoteSwiftPackageReference "swift-algorithms" */; + productName = Algorithms; + }; + FF8044B12C90379300A49A52 /* Zip */ = { + isa = XCSwiftPackageProductDependency; + package = FF8044B22C90379300A49A52 /* XCRemoteSwiftPackageReference "Zip" */; + productName = Zip; + }; FF92660C2C241CE0002361A4 /* Zip */ = { isa = XCSwiftPackageProductDependency; package = FF92660B2C241CE0002361A4 /* XCRemoteSwiftPackageReference "Zip" */; diff --git a/PadelClub.xcodeproj/xcshareddata/xcschemes/PadelClub-TestFlight.xcscheme b/PadelClub.xcodeproj/xcshareddata/xcschemes/PadelClub-TestFlight.xcscheme new file mode 100644 index 0000000..523da7c --- /dev/null +++ b/PadelClub.xcodeproj/xcshareddata/xcschemes/PadelClub-TestFlight.xcscheme @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PadelClub/Extensions/String+Extensions.swift b/PadelClub/Extensions/String+Extensions.swift index fba5442..92cc91a 100644 --- a/PadelClub/Extensions/String+Extensions.swift +++ b/PadelClub/Extensions/String+Extensions.swift @@ -201,3 +201,7 @@ extension String { Int(self) } } + +extension String : @retroactive Identifiable { + public var id: String { self } +} diff --git a/PadelClub/PadelClubApp.swift b/PadelClub/PadelClubApp.swift index 6e48753..73d63bd 100644 --- a/PadelClub/PadelClubApp.swift +++ b/PadelClub/PadelClubApp.swift @@ -48,7 +48,13 @@ struct PadelClubApp: App { let dictionary = Bundle.main.infoDictionary! let version = dictionary["CFBundleShortVersionString"] as! String let build = dictionary["CFBundleVersion"] as! String +#if DEBUG + return "\(version) (\(build)) Debug" +#elseif TESTFLIGHT + return "\(version) (\(build)) TestFlight" +#else return "\(version) (\(build))" +#endif } var body: some Scene { @@ -74,6 +80,13 @@ struct PadelClubApp: App { .environment(navigationViewModel) .accentColor(.master) .onAppear { +#if DEBUG +print("Running in Debug mode") +#elseif TESTFLIGHT +print("Running in TestFlight mode") +#else +print("Running in Release mode") +#endif networkMonitor.checkConnection() self._onAppear() print(PersistenceController.getModelVersion()) diff --git a/PadelClub/Utils/URLs.swift b/PadelClub/Utils/URLs.swift index beb49a7..954d632 100644 --- a/PadelClub/Utils/URLs.swift +++ b/PadelClub/Utils/URLs.swift @@ -13,6 +13,10 @@ enum URLs: String, Identifiable { case activationHost = "xlr.alwaysdata.net" case main = "https://xlr.alwaysdata.net/" case api = "https://xlr.alwaysdata.net/roads/" +#elseif TESTFLIGHT + case activationHost = "xlr.alwaysdata.net" + case main = "https://xlr.alwaysdata.net/" + case api = "https://xlr.alwaysdata.net/roads/" #else case activationHost = "padelclub.app" case main = "https://padelclub.app/" diff --git a/PadelClub/Views/Tournament/Screen/BroadcastView.swift b/PadelClub/Views/Tournament/Screen/BroadcastView.swift index ba1d37b..23fc7fe 100644 --- a/PadelClub/Views/Tournament/Screen/BroadcastView.swift +++ b/PadelClub/Views/Tournament/Screen/BroadcastView.swift @@ -10,10 +10,6 @@ import CoreImage.CIFilterBuiltins import LeStorage import TipKit -extension String : Identifiable { - public var id: String { self } -} - struct BroadcastView: View { @EnvironmentObject var dataStore: DataStore @Environment(Tournament.self) var tournament: Tournament diff --git a/PadelClub/Views/Tournament/Subscription/Guard.swift b/PadelClub/Views/Tournament/Subscription/Guard.swift index 8ff3df5..3a6d6be 100644 --- a/PadelClub/Views/Tournament/Subscription/Guard.swift +++ b/PadelClub/Views/Tournament/Subscription/Guard.swift @@ -160,6 +160,8 @@ import LeStorage var currentPlan: StoreItem? { #if DEBUG return .monthlyUnlimited + #elseif TESTFLIGHT + return .monthlyUnlimited #else if let currentBestPlan = self.currentBestPlan, let plan = StoreItem(rawValue: currentBestPlan.productID) { return plan