|
|
|
|
@ -608,9 +608,20 @@ struct MatchDetailView: View { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
self._verifyUser { |
|
|
|
|
self._payTournamentAndExecute { |
|
|
|
|
self.scoreType = .edition |
|
|
|
|
|
|
|
|
|
Task { |
|
|
|
|
do { |
|
|
|
|
try await self._payTournamentAndExecute() |
|
|
|
|
self.scoreType = .edition |
|
|
|
|
} catch { |
|
|
|
|
self.showSubscriptionView = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// self._payTournamentAndExecute { |
|
|
|
|
// self.scoreType = .edition |
|
|
|
|
// } |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -622,15 +633,9 @@ struct MatchDetailView: View { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fileprivate func _payTournamentAndExecute(_ handler: () -> ()) { |
|
|
|
|
fileprivate func _payTournamentAndExecute() async throws { |
|
|
|
|
guard let tournament = match.currentTournament() else { fatalError("missing tournament") } |
|
|
|
|
|
|
|
|
|
do { |
|
|
|
|
try tournament.payIfNecessary() |
|
|
|
|
handler() |
|
|
|
|
} catch { |
|
|
|
|
self.showSubscriptionView = true |
|
|
|
|
} |
|
|
|
|
try await tournament.payIfNecessary() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private func save() { |
|
|
|
|
|