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:
@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
||||
|
||||
import '../application/application.dart';
|
||||
import '../domain/domain.dart';
|
||||
import 'theme.dart';
|
||||
import 'workout_execution_screen.dart';
|
||||
|
||||
final class HistoryListScreen extends StatefulWidget {
|
||||
@ -62,15 +63,18 @@ final class _HistoryListScreenState extends State<HistoryListScreen> {
|
||||
),
|
||||
),
|
||||
for (final history in group.value)
|
||||
ListTile(
|
||||
title: Text(history.nameSnapshot),
|
||||
subtitle: Text(
|
||||
'${_formatDateTime(history.startedAt)} · '
|
||||
'${_formatDurationMs(history.totalActiveMs)} · '
|
||||
'${_historySummary(history)}',
|
||||
CourtBlazerAccentPanel(
|
||||
margin: const EdgeInsets.fromLTRB(12, 0, 12, 8),
|
||||
child: ListTile(
|
||||
title: Text(history.nameSnapshot),
|
||||
subtitle: Text(
|
||||
'${_formatDateTime(history.startedAt)} · '
|
||||
'${_formatDurationMs(history.totalActiveMs)} · '
|
||||
'${_historySummary(history)}',
|
||||
),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () => _openDetail(history),
|
||||
),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () => _openDetail(history),
|
||||
),
|
||||
],
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user