diff --git a/fastlane/metadata/android/en-US/changelogs/4.txt b/fastlane/metadata/android/en-US/changelogs/4.txt new file mode 100644 index 0000000000000000000000000000000000000000..34df8c3c22cf49b805d06408552d3f3983a16a76 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/4.txt @@ -0,0 +1 @@ +Improve grid display. diff --git a/fastlane/metadata/android/fr-FR/changelogs/4.txt b/fastlane/metadata/android/fr-FR/changelogs/4.txt new file mode 100644 index 0000000000000000000000000000000000000000..2dafaf6d147bab78ea8d34f89013c70c5ed05a1c --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/4.txt @@ -0,0 +1 @@ +Amélioration de l'affichage de la grille. diff --git a/lib/ui/widgets/game/cell.dart b/lib/ui/widgets/game/cell.dart index c2b8c7a124a7f73bd2ea249ffa78a25975cd923b..8dafbe85a4212637b4e4f4ea3808e7123a2a7dba 100644 --- a/lib/ui/widgets/game/cell.dart +++ b/lib/ui/widgets/game/cell.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; @@ -76,19 +75,35 @@ class CellWidget extends StatelessWidget { return 'assets/ui/cell_empty.png'; } + Color getBaseColorFromBlockId(String blockId) { + const List<Color> paletteColors = [ + Color.fromRGBO(0xbe, 0x7f, 0x51, 1), + Color.fromRGBO(0x50, 0x72, 0x8b, 1), + Color.fromRGBO(0xae, 0x70, 0x6f, 1), + Color.fromRGBO(0x91, 0x61, 0x87, 1), + Color.fromRGBO(0xe1, 0x8a, 0x2b, 1), + Color.fromRGBO(0x88, 0x77, 0x6d, 1), + Color.fromRGBO(0xd4, 0xbe, 0x1e, 1), + Color.fromRGBO(0xba, 0x96, 0x3a, 1), + Color.fromRGBO(0xa2, 0x9a, 0x5c, 1), + ]; + + final int blockIdValue = blockId.codeUnits.first - 'A'.codeUnits.first; + return paletteColors[blockIdValue % paletteColors.length].lighten(20); + } + // Compute cell background color, from cell state Color getBackgroundColor(Activity activity) { - final Color editableCellColor = Colors.grey.shade100; final Color editableCellColorConflict = Colors.pink.shade100; - final Color fixedCellColor = Colors.grey.shade300; + final int fixedCellColorDarkAmount = 10; final Color fixedCellColorConflict = Colors.pink.shade200; final Color editableAnimated = Colors.green.shade200; final Color fixedAnimated = Colors.green.shade300; - Color backgroundColor = editableCellColor; + Color backgroundColor = getBaseColorFromBlockId(cell.blockId); if (cell.isFixed == true) { - backgroundColor = fixedCellColor; + backgroundColor = backgroundColor.darken(fixedCellColorDarkAmount); } final int conflictsCount = activity.boardConflicts[cell.location.row][cell.location.col]; @@ -118,12 +133,14 @@ class CellWidget extends StatelessWidget { // Compute cell borders, from board size and cell state Border getCellBorders(Activity activity) { - final Color cellBorderDarkColor = Colors.grey.shade800; - final Color cellBorderLightColor = Colors.grey.shade400; + final Color baseColor = getBaseColorFromBlockId(cell.blockId); + + final Color cellBorderDarkColor = baseColor.darken(50); + final Color cellBorderLightColor = baseColor.lighten(10); const Color cellBorderSelectedColor = Colors.red; Color cellBorderColor = cellBorderSelectedColor; - final double cellBorderWidth = 4; + const double cellBorderWidth = 8; if (!activity.isRunning) { cellBorderColor = Colors.green.shade700; diff --git a/pubspec.yaml b/pubspec.yaml index 982dfe16ae68a58a15ab0e374dd7b72a9fcaebfb..65a936238ae1b2ef9776628c24cd3bf94628d9db 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A suguru game application. publish_to: "none" -version: 0.0.3+3 +version: 0.0.4+4 environment: sdk: "^3.0.0"