Renamed GameColor -> AppColor

This commit is contained in:
2026-05-24 17:03:58 +02:00
parent 18a5dcfdd5
commit 5a2cc790dd
18 changed files with 59 additions and 59 deletions

View File

@@ -24,47 +24,47 @@ String translateRulesetToString(Ruleset ruleset, BuildContext context) {
} }
} }
/// Translates a [GameColor] enum value to its corresponding localized string. /// Translates a [AppColor] enum value to its corresponding localized string.
String translateGameColorToString(GameColor color, BuildContext context) { String translateGameColorToString(AppColor color, BuildContext context) {
final loc = AppLocalizations.of(context); final loc = AppLocalizations.of(context);
switch (color) { switch (color) {
case GameColor.red: case AppColor.red:
return loc.color_red; return loc.color_red;
case GameColor.blue: case AppColor.blue:
return loc.color_blue; return loc.color_blue;
case GameColor.green: case AppColor.green:
return loc.color_green; return loc.color_green;
case GameColor.yellow: case AppColor.yellow:
return loc.color_yellow; return loc.color_yellow;
case GameColor.purple: case AppColor.purple:
return loc.color_purple; return loc.color_purple;
case GameColor.orange: case AppColor.orange:
return loc.color_orange; return loc.color_orange;
case GameColor.pink: case AppColor.pink:
return loc.color_pink; return loc.color_pink;
case GameColor.teal: case AppColor.teal:
return loc.color_teal; return loc.color_teal;
} }
} }
/// Returns the [Color] object corresponding to a [GameColor] enum value. /// Returns the [Color] object corresponding to a [AppColor] enum value.
Color getColorFromGameColor(GameColor color) { Color getColorFromGameColor(AppColor color) {
switch (color) { switch (color) {
case GameColor.red: case AppColor.red:
return Colors.red; return Colors.red;
case GameColor.blue: case AppColor.blue:
return Colors.blue; return Colors.blue;
case GameColor.green: case AppColor.green:
return Colors.green; return Colors.green;
case GameColor.yellow: case AppColor.yellow:
return const Color(0xFFF7CA28); return const Color(0xFFF7CA28);
case GameColor.purple: case AppColor.purple:
return Colors.purple; return Colors.purple;
case GameColor.orange: case AppColor.orange:
return const Color(0xFFef681f); return const Color(0xFFef681f);
case GameColor.pink: case AppColor.pink:
return const Color(0xFFE91E63); return const Color(0xFFE91E63);
case GameColor.teal: case AppColor.teal:
return const Color(0xFF00BCD4); return const Color(0xFF00BCD4);
} }
} }

View File

@@ -43,7 +43,7 @@ enum Ruleset {
} }
/// Different colors for highlighting games /// Different colors for highlighting games
enum GameColor { red, orange, yellow, green, teal, blue, purple, pink } enum AppColor { red, orange, yellow, green, teal, blue, purple, pink }
enum StatisticType { enum StatisticType {
totalMatches, totalMatches,

View File

@@ -92,7 +92,7 @@ class GameDao extends DatabaseAccessor<AppDatabase> with _$GameDaoMixin {
name: row.name, name: row.name,
ruleset: Ruleset.values.firstWhere((e) => e.name == row.ruleset), ruleset: Ruleset.values.firstWhere((e) => e.name == row.ruleset),
description: row.description, description: row.description,
color: GameColor.values.firstWhere((e) => e.name == row.color), color: AppColor.values.firstWhere((e) => e.name == row.color),
icon: row.icon, icon: row.icon,
createdAt: row.createdAt, createdAt: row.createdAt,
), ),
@@ -109,7 +109,7 @@ class GameDao extends DatabaseAccessor<AppDatabase> with _$GameDaoMixin {
name: result.name, name: result.name,
ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset), ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset),
description: result.description, description: result.description,
color: GameColor.values.firstWhere((e) => e.name == result.color), color: AppColor.values.firstWhere((e) => e.name == result.color),
icon: result.icon, icon: result.icon,
createdAt: result.createdAt, createdAt: result.createdAt,
); );
@@ -156,7 +156,7 @@ class GameDao extends DatabaseAccessor<AppDatabase> with _$GameDaoMixin {
/// Updates the color of the game with the given [gameId]. /// Updates the color of the game with the given [gameId].
Future<bool> updateGameColor({ Future<bool> updateGameColor({
required String gameId, required String gameId,
required GameColor color, required AppColor color,
}) async { }) async {
final rowsAffected = final rowsAffected =
await (update(gameTable)..where((g) => g.id.equals(gameId))).write( await (update(gameTable)..where((g) => g.id.equals(gameId))).write(

View File

@@ -25,7 +25,7 @@ class StatisticGameDao extends DatabaseAccessor<AppDatabase>
name: result.name, name: result.name,
ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset), ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset),
description: result.description, description: result.description,
color: GameColor.values.firstWhere((e) => e.name == result.color), color: AppColor.values.firstWhere((e) => e.name == result.color),
icon: result.icon, icon: result.icon,
createdAt: result.createdAt, createdAt: result.createdAt,
), ),

View File

@@ -8,13 +8,13 @@ class Game {
final String name; final String name;
final Ruleset ruleset; final Ruleset ruleset;
final String description; final String description;
final GameColor color; final AppColor color;
final String icon; final String icon;
Game({ Game({
required this.name, required this.name,
required this.ruleset, required this.ruleset,
this.color = GameColor.orange, this.color = AppColor.orange,
this.description = '', this.description = '',
this.icon = '', this.icon = '',
String? id, String? id,
@@ -33,7 +33,7 @@ class Game {
String? name, String? name,
Ruleset? ruleset, Ruleset? ruleset,
String? description, String? description,
GameColor? color, AppColor? color,
String? icon, String? icon,
}) { }) {
return Game( return Game(
@@ -73,7 +73,7 @@ class Game {
orElse: () => Ruleset.singleWinner, orElse: () => Ruleset.singleWinner,
), ),
description = json['description'], description = json['description'],
color = GameColor.values.firstWhere((e) => e.name == json['color']), color = AppColor.values.firstWhere((e) => e.name == json['color']),
icon = json['icon']; icon = json['icon'];
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {

View File

@@ -107,7 +107,7 @@ class Match {
name: '', name: '',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: '', description: '',
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
), ),
group = null, group = null,

View File

@@ -49,10 +49,10 @@ class _CreateGameViewState extends State<CreateGameView> {
late final AppDatabase db; late final AppDatabase db;
late List<(Ruleset, String)> _rulesets; late List<(Ruleset, String)> _rulesets;
late List<(GameColor, String)> _colors; late List<(AppColor, String)> _colors;
Ruleset? selectedRuleset = Ruleset.singleWinner; Ruleset? selectedRuleset = Ruleset.singleWinner;
GameColor? selectedColor = GameColor.orange; AppColor? selectedColor = AppColor.orange;
/// Controller for the game name input field. /// Controller for the game name input field.
final _gameNameController = TextEditingController(); final _gameNameController = TextEditingController();
@@ -87,10 +87,10 @@ class _CreateGameViewState extends State<CreateGameView> {
), ),
); );
_colors = List.generate( _colors = List.generate(
GameColor.values.length, AppColor.values.length,
(index) => ( (index) => (
GameColor.values[index], AppColor.values[index],
translateGameColorToString(GameColor.values[index], context), translateGameColorToString(AppColor.values[index], context),
), ),
); );

View File

@@ -39,7 +39,7 @@ class _MatchViewState extends State<MatchView> {
game: Game( game: Game(
name: 'Game name', name: 'Game name',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
), ),
group: Group( group: Group(

View File

@@ -12,7 +12,7 @@ class GameLabel extends StatelessWidget {
final String title; final String title;
final String description; final String description;
final GameColor color; final AppColor color;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

View File

@@ -51,7 +51,7 @@ class GameTile extends StatelessWidget {
? (badgeColor!.computeLuminance() > 0.5 ? Colors.black : Colors.white) ? (badgeColor!.computeLuminance() > 0.5 ? Colors.black : Colors.white)
: Colors.white; : Colors.white;
final gameColor = badgeColor ?? getColorFromGameColor(GameColor.orange); final gameColor = badgeColor ?? getColorFromGameColor(AppColor.orange);
return GestureDetector( return GestureDetector(
onTap: () async { onTap: () async {

View File

@@ -278,7 +278,7 @@ class DataTransferService {
name: 'Unknown', name: 'Unknown',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: '', description: '',
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
); );
} }

View File

@@ -56,7 +56,7 @@ void main() {
name: 'Test Game', name: 'Test Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: 'A test game', description: 'A test game',
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
); );
testMatch1 = Match( testMatch1 = Match(

View File

@@ -49,7 +49,7 @@ void main() {
testGame = Game( testGame = Game(
name: 'Test Game', name: 'Test Game',
ruleset: Ruleset.highestScore, ruleset: Ruleset.highestScore,
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
); );
testMatch1 = Match( testMatch1 = Match(

View File

@@ -28,7 +28,7 @@ void main() {
name: 'Chess', name: 'Chess',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: 'A classic strategy game', description: 'A classic strategy game',
color: GameColor.blue, color: AppColor.blue,
icon: 'chess_icon', icon: 'chess_icon',
); );
testGame2 = Game( testGame2 = Game(
@@ -36,7 +36,7 @@ void main() {
name: 'Poker', name: 'Poker',
ruleset: Ruleset.multipleWinners, ruleset: Ruleset.multipleWinners,
description: 'Card game with multiple winners', description: 'Card game with multiple winners',
color: GameColor.red, color: AppColor.red,
icon: 'poker_icon', icon: 'poker_icon',
); );
testGame3 = Game( testGame3 = Game(
@@ -44,7 +44,7 @@ void main() {
name: 'Monopoly', name: 'Monopoly',
ruleset: Ruleset.highestScore, ruleset: Ruleset.highestScore,
description: 'A board game about real estate', description: 'A board game about real estate',
color: GameColor.orange, color: AppColor.orange,
icon: '', icon: '',
); );
}); });
@@ -124,7 +124,7 @@ void main() {
name: 'Game\'s & "Special" <Name>', name: 'Game\'s & "Special" <Name>',
ruleset: Ruleset.multipleWinners, ruleset: Ruleset.multipleWinners,
description: 'Description with émojis 🎮🎲', description: 'Description with émojis 🎮🎲',
color: GameColor.purple, color: AppColor.purple,
icon: '', icon: '',
); );
await database.gameDao.addGame(game: specialGame); await database.gameDao.addGame(game: specialGame);
@@ -280,19 +280,19 @@ void main() {
await database.gameDao.updateGameColor( await database.gameDao.updateGameColor(
gameId: testGame1.id, gameId: testGame1.id,
color: GameColor.green, color: AppColor.green,
); );
final updatedGame = await database.gameDao.getGameById( final updatedGame = await database.gameDao.getGameById(
gameId: testGame1.id, gameId: testGame1.id,
); );
expect(updatedGame.color, GameColor.green); expect(updatedGame.color, AppColor.green);
}); });
test('updateGameColor() does nothing for non-existent game', () async { test('updateGameColor() does nothing for non-existent game', () async {
final updated = await database.gameDao.updateGameColor( final updated = await database.gameDao.updateGameColor(
gameId: 'non-existent-id', gameId: 'non-existent-id',
color: GameColor.green, color: AppColor.green,
); );
expect(updated, isFalse); expect(updated, isFalse);
@@ -336,7 +336,7 @@ void main() {
name: newName, name: newName,
); );
const newGameColor = GameColor.teal; const newGameColor = AppColor.teal;
await database.gameDao.updateGameColor( await database.gameDao.updateGameColor(
gameId: testGame1.id, gameId: testGame1.id,
color: newGameColor, color: newGameColor,

View File

@@ -42,7 +42,7 @@ void main() {
name: 'Test Game', name: 'Test Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: 'A test game', description: 'A test game',
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
); );
testMatch1 = Match( testMatch1 = Match(

View File

@@ -59,7 +59,7 @@ void main() {
name: 'Test Game', name: 'Test Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: 'A test game', description: 'A test game',
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
); );
testMatch1 = Match( testMatch1 = Match(

View File

@@ -40,7 +40,7 @@ void main() {
name: 'Test Game', name: 'Test Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: 'A test game', description: 'A test game',
color: GameColor.blue, color: AppColor.blue,
icon: '', icon: '',
); );
testMatch1 = Match( testMatch1 = Match(

View File

@@ -45,7 +45,7 @@ void main() {
name: 'Chess', name: 'Chess',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
description: 'Strategic board game', description: 'Strategic board game',
color: GameColor.blue, color: AppColor.blue,
icon: 'chess_icon', icon: 'chess_icon',
); );
@@ -448,19 +448,19 @@ void main() {
Game( Game(
name: 'Red Game', name: 'Red Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
color: GameColor.red, color: AppColor.red,
icon: 'icon', icon: 'icon',
), ),
Game( Game(
name: 'Blue Game', name: 'Blue Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
color: GameColor.blue, color: AppColor.blue,
icon: 'icon', icon: 'icon',
), ),
Game( Game(
name: 'Green Game', name: 'Green Game',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
color: GameColor.green, color: AppColor.green,
icon: 'icon', icon: 'icon',
), ),
]; ];
@@ -484,19 +484,19 @@ void main() {
Game( Game(
name: 'Highest Score Game', name: 'Highest Score Game',
ruleset: Ruleset.highestScore, ruleset: Ruleset.highestScore,
color: GameColor.blue, color: AppColor.blue,
icon: 'icon', icon: 'icon',
), ),
Game( Game(
name: 'Lowest Score Game', name: 'Lowest Score Game',
ruleset: Ruleset.lowestScore, ruleset: Ruleset.lowestScore,
color: GameColor.blue, color: AppColor.blue,
icon: 'icon', icon: 'icon',
), ),
Game( Game(
name: 'Single Winner', name: 'Single Winner',
ruleset: Ruleset.singleWinner, ruleset: Ruleset.singleWinner,
color: GameColor.blue, color: AppColor.blue,
icon: 'icon', icon: 'icon',
), ),
]; ];