Mercurial > public > geoquiz
view GeoQuiz/Helpers/GameAlertsModifier.swift @ 26:425078c01194
refactor code
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Wed, 09 Nov 2022 10:30:01 +0100 |
parents | GeoQuiz/Components/GameAlertsModifier.swift@f1967f8cc67b |
children | 6d574bd1644f |
line wrap: on
line source
// // GameAlertsModifier.swift // GeoQuiz // // Created by Dennis Concepción Martín on 22/9/22. // import SwiftUI import CoreData struct GameAlertsModifier<T: Game>: ViewModifier { @ObservedObject var gameController: T var gameType: GameType var moc: NSManagedObjectContext @Environment(\.dismiss) var dismiss func body(content: Content) -> some View { content .alert(gameController.alertTitle, isPresented: $gameController.showingWrongAnswerAlert) { Button("Continue", role: .cancel) { gameController.askQuestion { gameController.selector() } } } message: { Text(gameController.alertMessage) } .alert(gameController.alertTitle, isPresented: $gameController.showingEndGameAlert) { Button("Exit", role: .cancel) { gameController.save(gameType, with: moc) dismiss() } } message: { Text(gameController.alertMessage) } .alert("Are you sure?", isPresented: $gameController.showingExitGameAlert) { Button("Exit", role: .destructive) { dismiss() } Button("Cancel", role: .cancel) { } } message: { Text("Progress won't be saved.") } } }