Mercurial > public > geoquiz
comparison 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 |
comparison
equal
deleted
inserted
replaced
25:b3df0f5dc750 | 26:425078c01194 |
---|---|
1 // | |
2 // GameAlertsModifier.swift | |
3 // GeoQuiz | |
4 // | |
5 // Created by Dennis Concepción Martín on 22/9/22. | |
6 // | |
7 | |
8 import SwiftUI | |
9 import CoreData | |
10 | |
11 struct GameAlertsModifier<T: Game>: ViewModifier { | |
12 @ObservedObject var gameController: T | |
13 | |
14 var gameType: GameType | |
15 var moc: NSManagedObjectContext | |
16 | |
17 @Environment(\.dismiss) var dismiss | |
18 | |
19 func body(content: Content) -> some View { | |
20 content | |
21 .alert(gameController.alertTitle, isPresented: $gameController.showingWrongAnswerAlert) { | |
22 Button("Continue", role: .cancel) { | |
23 gameController.askQuestion { | |
24 gameController.selector() | |
25 } | |
26 } | |
27 } message: { | |
28 Text(gameController.alertMessage) | |
29 } | |
30 | |
31 .alert(gameController.alertTitle, isPresented: $gameController.showingEndGameAlert) { | |
32 Button("Exit", role: .cancel) { | |
33 gameController.save(gameType, with: moc) | |
34 dismiss() | |
35 } | |
36 } message: { | |
37 Text(gameController.alertMessage) | |
38 } | |
39 | |
40 .alert("Are you sure?", isPresented: $gameController.showingExitGameAlert) { | |
41 Button("Exit", role: .destructive) { dismiss() } | |
42 Button("Cancel", role: .cancel) { } | |
43 } message: { | |
44 Text("Progress won't be saved.") | |
45 } | |
46 } | |
47 } |