patch small issue with trad and theme

This commit is contained in:
2026-06-23 14:17:27 +02:00
parent 47536843be
commit 3984e94bc5
33 changed files with 556 additions and 156 deletions
@@ -3,19 +3,27 @@ import '../../../l10n/app_localizations.dart';
/// Boutons d'action de l'écran game over : rejouer ou retourner au Pokédex.
class GameOverActions extends StatelessWidget {
final Color primaryColor;
final Color primaryDark;
final VoidCallback onTryAgain;
final VoidCallback onBack;
const GameOverActions({super.key, required this.onTryAgain, required this.onBack});
const GameOverActions({
super.key,
required this.primaryColor,
required this.primaryDark,
required this.onTryAgain,
required this.onBack,
});
@override
Widget build(BuildContext context) {
final l = AppLocalizations.of(context)!;
return Column(
children: [
_button(label: l.tryAgain, icon: Icons.refresh, color: const Color(0xFF2962FF), onPressed: onTryAgain),
_button(label: l.tryAgain, icon: Icons.refresh, color: primaryColor, onPressed: onTryAgain),
const SizedBox(height: 16),
_button(label: l.backToPokedex, icon: Icons.menu_book, color: const Color(0xFFA66A00), onPressed: onBack),
_button(label: l.backToPokedex, icon: Icons.menu_book, color: primaryDark, onPressed: onBack),
],
);
}
@@ -6,17 +6,24 @@ import '../pokemon_image.dart';
class GameOverHeader extends StatelessWidget {
final String pokemonImage;
final String pokemonName;
final Color primaryDark;
final Color surfaceColor;
const GameOverHeader({super.key, required this.pokemonImage, required this.pokemonName});
const GameOverHeader({
super.key,
required this.pokemonImage,
required this.pokemonName,
required this.primaryDark,
required this.surfaceColor,
});
static const _darkRed = Color(0xFF9E1B1B);
static const _silverBg = Color(0xFFC8D1D8);
@override
Widget build(BuildContext context) {
final l = AppLocalizations.of(context)!;
return Container(
decoration: BoxDecoration(color: _darkRed, border: Border.all(color: _darkRed, width: 4)),
decoration: BoxDecoration(color: primaryDark, border: Border.all(color: primaryDark, width: 4)),
child: Container(
width: double.infinity,
padding: const EdgeInsets.symmetric(vertical: 32, horizontal: 16),
@@ -24,7 +31,7 @@ class GameOverHeader extends StatelessWidget {
child: Column(
children: [
Container(
color: _darkRed,
color: primaryDark,
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 8),
child: Text(
l.gameOver,
@@ -44,10 +51,10 @@ class GameOverHeader extends StatelessWidget {
Text(
l.itWas(pokemonName),
textAlign: TextAlign.center,
style: const TextStyle(
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
color: Color(0xFF1B2333),
color: surfaceColor,
letterSpacing: 1,
),
),
@@ -2,9 +2,8 @@ import 'package:flutter/material.dart';
/// Séparateur décoratif (deux traits + trois points) entre les blocs de l'écran game over.
class HingeDivider extends StatelessWidget {
const HingeDivider({super.key});
static const _darkRed = Color(0xFF9E1B1B);
final Color color;
const HingeDivider({super.key, required this.color});
@override
Widget build(BuildContext context) {
@@ -12,7 +11,7 @@ class HingeDivider extends StatelessWidget {
padding: const EdgeInsets.symmetric(vertical: 24.0),
child: Row(
children: [
Expanded(child: Container(height: 2, color: _darkRed)),
Expanded(child: Container(height: 2, color: color)),
const SizedBox(width: 8),
Row(
mainAxisSize: MainAxisSize.min,
@@ -22,12 +21,12 @@ class HingeDivider extends StatelessWidget {
width: 8,
height: 8,
margin: const EdgeInsets.symmetric(horizontal: 4),
decoration: const BoxDecoration(color: _darkRed, shape: BoxShape.circle),
decoration: BoxDecoration(color: color, shape: BoxShape.circle),
),
),
),
const SizedBox(width: 8),
Expanded(child: Container(height: 2, color: _darkRed)),
Expanded(child: Container(height: 2, color: color)),
],
),
);