Mercurial > public > geoquiz
view GeoQuiz/GuessTheFlagView.swift @ 4:de54f05adb78
add prototype game stats
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Thu, 22 Sep 2022 11:38:42 +0200 |
parents | 4dbe0cd9dadc |
children | f31a61462e7a |
line wrap: on
line source
// // GuessTheFlagView.swift // GeoQuiz // // Created by Dennis Concepción Martín on 20/9/22. // import SwiftUI struct GuessTheFlagView: View { @Binding var gameName: GameName? @StateObject var game = GuessTheFlag() var body: some View { ZStack { LinearGradient(gradient: .main, startPoint: .top, endPoint: .bottom) .ignoresSafeArea() GeometryReader { geo in VStack(spacing: 20) { GameToolbar(game: game) HStack { VStack(alignment: .leading, spacing: 10) { Text("Question \(game.questionCounter) of \(game.data.count)") .font(.title3) Text("What is the flag of \(game.correctAnswer.key)?") .font(.title) .fontWeight(.semibold) } .foregroundColor(.white) Spacer() } Spacer() ForEach(Array(game.userChoices.keys), id: \.self) { countryName in Button { game.answer((key: countryName, value: game.data[countryName]!)) } label: { FlagImage(flagSymbol: game.data[countryName]!, cornerRadius: 20) .shadow(radius: 10) .frame(height: geo.size.height * 0.15) } .padding(.top) } Spacer() } .padding() } } .navigationBarHidden(true) .modifier(GameAlertsModifier(game: game, gameName: $gameName)) .sheet(isPresented: $game.showingBuyLivesView) { BuyLivesModalView() } .sheet(isPresented: $game.showingGameStatsView) { GameStatsModalView(game: game) } } } struct GuessTheFlagView_Previews: PreviewProvider { static var previews: some View { GuessTheFlagView(gameName: .constant(GameName.guessTheFlag)) } }