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

View File

@@ -43,7 +43,7 @@ enum Ruleset {
}
/// 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 {
totalMatches,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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