feat(ui): identité visuelle Court Blazer sur toute l'app (ticket #17)
Ajoute le thème centralisé (presentation/theme.dart) basé sur les polices Anton/Archivo et l'applique à tous les écrans (accueil, bibliothèque d'exercices, programme, séance-modèle, exécution de séance, historique). flutter analyze propre, 27/27 tests verts, build APK debug validé. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -2,21 +2,32 @@ import 'package:flutter/material.dart';
|
||||
|
||||
import '../application/app_bootstrap.dart';
|
||||
import 'home_screen.dart';
|
||||
import 'theme.dart';
|
||||
|
||||
final class GameTimeApp extends StatelessWidget {
|
||||
final class GameTimeApp extends StatefulWidget {
|
||||
const GameTimeApp({required this.bootstrap, super.key});
|
||||
|
||||
final AppBootstrap bootstrap;
|
||||
|
||||
@override
|
||||
State<GameTimeApp> createState() => _GameTimeAppState();
|
||||
}
|
||||
|
||||
final class _GameTimeAppState extends State<GameTimeApp> {
|
||||
var _themeMode = ThemeMode.system;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
title: 'GameTime',
|
||||
theme: ThemeData(
|
||||
colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF0E7C66)),
|
||||
useMaterial3: true,
|
||||
theme: courtBlazerLightTheme(),
|
||||
darkTheme: courtBlazerDarkTheme(),
|
||||
themeMode: _themeMode,
|
||||
home: HomeScreen(
|
||||
bootstrap: widget.bootstrap,
|
||||
themeMode: _themeMode,
|
||||
onThemeModeChanged: (mode) => setState(() => _themeMode = mode),
|
||||
),
|
||||
home: HomeScreen(bootstrap: bootstrap),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user