02a121703f
- core/error : Result<S> maison (Ok/Err) + Failure scellee avec egalite de valeur - core/theme : AppTheme Material 3 (palette coucher, cibles tactiles enfant) - core/router : routes nommees child/parentGate/parent (Navigator 1, placeholders) - core/di : conventions providers - CLAUDE.md §7 : Result maison & Navigator 1 actes (YAGNI) - ROADMAP : 0.3 cochee, Jalon 0 termine - corrections code review : egalite Failure, assertions tests, Map.unmodifiable Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51 lines
1.5 KiB
Dart
51 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// Routes nommées de l'application.
|
|
///
|
|
/// Pas de `go_router` pour l'instant — Navigator simple suffit (YAGNI).
|
|
/// Les écrans réels seront branchés quand les features correspondantes
|
|
/// seront implémentées.
|
|
abstract final class AppRoutes {
|
|
/// Espace enfant — route par défaut au démarrage.
|
|
static const String child = '/';
|
|
|
|
/// Écran de saisie du code parental (accès à l'espace parent).
|
|
static const String parentGate = '/parent-gate';
|
|
|
|
/// Espace parent (gestion podcasts, limites, réglages).
|
|
static const String parent = '/parent';
|
|
}
|
|
|
|
/// Table de routage de l'application.
|
|
///
|
|
/// À enrichir au fur et à mesure que les features sont implémentées.
|
|
final Map<String, WidgetBuilder> appRoutes = Map.unmodifiable({
|
|
AppRoutes.child: (_) => const _ChildPlaceholder(),
|
|
AppRoutes.parentGate: (_) => const _ParentGatePlaceholder(),
|
|
AppRoutes.parent: (_) => const _ParentPlaceholder(),
|
|
});
|
|
|
|
class _ChildPlaceholder extends StatelessWidget {
|
|
const _ChildPlaceholder();
|
|
|
|
@override
|
|
Widget build(BuildContext context) =>
|
|
const Scaffold(body: Center(child: Text('Storytime')));
|
|
}
|
|
|
|
class _ParentGatePlaceholder extends StatelessWidget {
|
|
const _ParentGatePlaceholder();
|
|
|
|
@override
|
|
Widget build(BuildContext context) =>
|
|
const Scaffold(body: Center(child: Text('Code parental')));
|
|
}
|
|
|
|
class _ParentPlaceholder extends StatelessWidget {
|
|
const _ParentPlaceholder();
|
|
|
|
@override
|
|
Widget build(BuildContext context) =>
|
|
const Scaffold(body: Center(child: Text('Espace parent')));
|
|
}
|