annotate GeoQuiz/ContentView.swift @ 0:413e2d21333e

first commit
author Dennis C. M. <dennis@denniscm.com>
date Tue, 20 Sep 2022 08:13:26 +0200
parents
children 259a15f485c5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 //
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2 // ContentView.swift
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 // GeoQuiz
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 //
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 5/9/22.
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 //
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 import SwiftUI
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 struct ContentView: View {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 @State private var gameName: GameName? = nil
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 @State private var showingBuyLivesModal = false
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14 var body: some View {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15 NavigationView {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 ScrollView(showsIndicators: false) {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 VStack(spacing: 20) {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 NavigationLink(tag: GameName.guessTheFlag, selection: $gameName) {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 GuessTheFlagView(gameName: $gameName)
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21 } label: {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22 GameButton(
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 gradient: .main,
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 level: "Level 1", symbol: "globe.americas.fill", name: "Guess the flag"
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 )
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
26 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28 NavigationLink(tag: GameName.guessTheCapital, selection: $gameName) {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 GuessTheCapitalView(gameName: $gameName)
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 } label: {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31 GameButton(
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
32 gradient: .secondary,
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33 level: "Level 2", symbol: "globe.americas.fill", name: "Guess the capital"
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34 )
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
37 .padding()
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39 .navigationTitle("Select a game 🎮")
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
40 .toolbar {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
41 Button {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
42 showingBuyLivesModal = true
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
43 } label: {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
44 Label("Buy lives", systemImage: "heart.fill")
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
45 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
46 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
47 .sheet(isPresented: $showingBuyLivesModal) {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
48 BuyLivesModal()
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
49 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
50 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
51 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
52 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
53
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
54 struct ContentView_Previews: PreviewProvider {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
55 static var previews: some View {
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
56 ContentView()
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
57 }
413e2d21333e first commit
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
58 }