club_update
Razmig Sarkissian 1 year ago
parent da4400979c
commit 53d338b5bd
  1. 4
      PadelClub.xcodeproj/project.pbxproj
  2. 24
      PadelClub/Views/Match/MatchSetupView.swift
  3. 6
      PadelClub/Views/Tournament/Screen/Components/TournamentMatchFormatsSettingsView.swift

@ -1890,7 +1890,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = PadelClub/PadelClub.entitlements; CODE_SIGN_ENTITLEMENTS = PadelClub/PadelClub.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 79; CURRENT_PROJECT_VERSION = 80;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_ASSET_PATHS = "\"PadelClub/Preview Content\""; DEVELOPMENT_ASSET_PATHS = "\"PadelClub/Preview Content\"";
@ -1933,7 +1933,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = PadelClub/PadelClub.entitlements; CODE_SIGN_ENTITLEMENTS = PadelClub/PadelClub.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 79; CURRENT_PROJECT_VERSION = 80;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_ASSET_PATHS = "\"PadelClub/Preview Content\""; DEVELOPMENT_ASSET_PATHS = "\"PadelClub/Preview Content\"";
DEVELOPMENT_TEAM = BQ3Y44M3Q6; DEVELOPMENT_TEAM = BQ3Y44M3Q6;

@ -102,6 +102,7 @@ struct MatchSetupView: View {
} }
}) })
if let tournament = match.currentTournament() { if let tournament = match.currentTournament() {
let availableQualifiedTeams = tournament.availableQualifiedTeams()
let availableSeedGroups = tournament.availableSeedGroups() let availableSeedGroups = tournament.availableSeedGroups()
Text("ou") Text("ou")
Menu { Menu {
@ -119,6 +120,27 @@ struct MatchSetupView: View {
Label("Repêchage", systemImage: "dice") Label("Repêchage", systemImage: "dice")
} }
} }
if availableQualifiedTeams.isEmpty == false {
Button {
if let randomTeam = availableQualifiedTeams.randomElement() {
randomTeam.setSeedPosition(inSpot: match, slot: teamPosition, opposingSeeding: false)
do {
try tournamentStore.matches.addOrUpdate(instance: match)
} catch {
Logger.error(error)
}
do {
try tournamentStore.teamRegistrations.addOrUpdate(instance: randomTeam)
} catch {
Logger.error(error)
}
}
} label: {
Label("Qualifié sortant", systemImage: "dice")
}
}
ForEach(availableSeedGroups, id: \.self) { seedGroup in ForEach(availableSeedGroups, id: \.self) { seedGroup in
Button { Button {
if let randomTeam = tournament.randomSeed(fromSeedGroup: seedGroup) { if let randomTeam = tournament.randomSeed(fromSeedGroup: seedGroup) {
@ -142,7 +164,7 @@ struct MatchSetupView: View {
Text("Tirer au sort").tag(nil as SeedInterval?) Text("Tirer au sort").tag(nil as SeedInterval?)
.underline() .underline()
} }
.disabled(availableSeedGroups.isEmpty && walkOutSpot == false) .disabled(availableSeedGroups.isEmpty && walkOutSpot == false && availableQualifiedTeams.isEmpty)
Spacer() Spacer()
if match.isSeedLocked(atTeamPosition: teamPosition) { if match.isSeedLocked(atTeamPosition: teamPosition) {
Button { Button {

@ -76,10 +76,10 @@ struct TournamentMatchFormatsSettingsView: View {
private func _confirmOrSave() { private func _confirmOrSave() {
switch tournament.state() { switch tournament.state() {
case .build: case .initial:
confirmUpdate = true confirmUpdate = false
default: default:
break confirmUpdate = true
} }
} }

Loading…
Cancel
Save