Files
storytime/lib/core/router/app_router.dart
T
Vincent Bourdon 02a121703f feat(j0.3): socle transverse (Result/Failure, theme, router, DI)
- 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>
2026-06-19 17:30:45 +02:00

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')));
}