From 392e007b8f62afbc25c19cc77f8d255c516a2e46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr>
Date: Tue, 11 Feb 2025 15:23:12 +0100
Subject: [PATCH] Improve board grid colors and borders

---
 .../metadata/android/en-US/changelogs/4.txt   |  1 +
 .../metadata/android/fr-FR/changelogs/4.txt   |  1 +
 lib/ui/widgets/game/cell.dart                 | 33 ++++++++++++++-----
 pubspec.yaml                                  |  2 +-
 4 files changed, 28 insertions(+), 9 deletions(-)
 create mode 100644 fastlane/metadata/android/en-US/changelogs/4.txt
 create mode 100644 fastlane/metadata/android/fr-FR/changelogs/4.txt

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 0000000..34df8c3
--- /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 0000000..2dafaf6
--- /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 c2b8c7a..8dafbe8 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 982dfe1..65a9362 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"
-- 
GitLab