16
|
1 //
|
|
2 // RecentGameHelper.swift
|
|
3 // GeoQuiz
|
|
4 //
|
|
5 // Created by Dennis Concepción Martín on 19/10/22.
|
|
6 //
|
|
7
|
|
8 import SwiftUI
|
|
9
|
|
10 struct RecentGame: View {
|
|
11 let game: PlayedGame
|
|
12 let name: String
|
|
13 let gradient: Gradient
|
|
14 let symbol: String
|
|
15
|
|
16 var body: some View {
|
|
17 HStack(alignment: .center, spacing: 15) {
|
|
18 RoundedRectangle(cornerRadius: 5)
|
|
19 .fill(
|
|
20 LinearGradient(
|
|
21 gradient: gradient,
|
|
22 startPoint: .top, endPoint: .bottom
|
|
23 )
|
|
24 )
|
|
25 .frame(width: 35, height: 35)
|
|
26 .overlay(
|
|
27 Image(systemName: symbol)
|
|
28 .font(.headline)
|
|
29 .foregroundColor(.white)
|
|
30 .padding(5)
|
|
31 )
|
|
32
|
|
33 VStack(alignment: .leading) {
|
|
34 Text(name)
|
|
35 .font(.headline)
|
|
36
|
|
37 Text("\(game.date, format: .dateTime)")
|
|
38 .font(.callout)
|
|
39 .foregroundColor(.secondary)
|
|
40 }
|
|
41
|
|
42 Spacer()
|
|
43
|
|
44 Text("\(game.score, format: .number) ⭐️")
|
17
|
45 .font(.headline)
|
16
|
46
|
|
47 }
|
|
48 }
|
|
49
|
|
50 init(game: PlayedGame) {
|
|
51 self.game = game
|
|
52
|
|
53 switch game.type {
|
|
54 case .guessTheFlag:
|
|
55 self.name = GuessTheFlagInfo.name
|
|
56 self.gradient = GuessTheFlagInfo.gradient
|
|
57 self.symbol = GuessTheFlagInfo.symbol
|
|
58 case .guessTheCapital:
|
|
59 self.name = GuessTheCapitalInfo.name
|
|
60 self.gradient = GuessTheCapitalInfo.gradient
|
|
61 self.symbol = GuessTheCapitalInfo.symbol
|
|
62 case .guessTheCountry:
|
|
63 self.name = GuessTheCountryInfo.name
|
|
64 self.gradient = GuessTheCountryInfo.gradient
|
|
65 self.symbol = GuessTheCountryInfo.symbol
|
|
66 case .guessThePopulation:
|
|
67 self.name = GuessThePopulationInfo.name
|
|
68 self.gradient = GuessThePopulationInfo.gradient
|
|
69 self.symbol = GuessThePopulationInfo.symbol
|
|
70 }
|
|
71 }
|
|
72 }
|