Mercurial > public > geoquiz
diff GeoQuiz/Components/RecentGameHelper.swift @ 19:f140bb277c96
refactor code
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Sun, 23 Oct 2022 00:11:38 +0100 |
parents | 8dac58bb4569 |
children |
line wrap: on
line diff
--- a/GeoQuiz/Components/RecentGameHelper.swift Sat Oct 22 08:56:54 2022 +0100 +++ b/GeoQuiz/Components/RecentGameHelper.swift Sun Oct 23 00:11:38 2022 +0100 @@ -9,29 +9,32 @@ struct RecentGame: View { let game: PlayedGame - let name: String - let gradient: Gradient - let symbol: String + let gameInfo: GameInfo + + init(game: PlayedGame) { + self.game = game + self.gameInfo = GameInfoController.getInfo(for: game.type) + } var body: some View { HStack(alignment: .center, spacing: 15) { RoundedRectangle(cornerRadius: 5) .fill( LinearGradient( - gradient: gradient, + gradient: gameInfo.gradient, startPoint: .top, endPoint: .bottom ) ) .frame(width: 35, height: 35) .overlay( - Image(systemName: symbol) + Image(systemName: gameInfo.symbol) .font(.headline) .foregroundColor(.white) .padding(5) ) VStack(alignment: .leading) { - Text(name) + Text(gameInfo.name) .font(.headline) Text("\(game.date, format: .dateTime)") @@ -45,28 +48,8 @@ .font(.headline) } - } - - init(game: PlayedGame) { - self.game = game - - switch game.type { - case .guessTheFlag: - self.name = GuessTheFlagInfo.name - self.gradient = GuessTheFlagInfo.gradient - self.symbol = GuessTheFlagInfo.symbol - case .guessTheCapital: - self.name = GuessTheCapitalInfo.name - self.gradient = GuessTheCapitalInfo.gradient - self.symbol = GuessTheCapitalInfo.symbol - case .guessTheCountry: - self.name = GuessTheCountryInfo.name - self.gradient = GuessTheCountryInfo.gradient - self.symbol = GuessTheCountryInfo.symbol - case .guessThePopulation: - self.name = GuessThePopulationInfo.name - self.gradient = GuessThePopulationInfo.gradient - self.symbol = GuessThePopulationInfo.symbol - } + .padding() + .background(Color(.secondarySystemGroupedBackground)) + .cornerRadius(20) } }