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>
27 lines
980 B
Dart
27 lines
980 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// Thème de l'application Storytime.
|
|
///
|
|
/// Palette « coucher » : violet/indigo doux, faible luminosité, contrastes
|
|
/// lisibles dans la pénombre. Composants tactiles surdimensionnés (cible enfant).
|
|
abstract final class AppTheme {
|
|
// Couleur de seed : indigo doux, hue ~250 — dans le spectre bleu-violet.
|
|
static const Color _seed = Color(0xFF5C6BC0); // indigo 400
|
|
|
|
/// Thème clair (utilisé en mode normal ; le mode sombre viendra si besoin).
|
|
static ThemeData light() => ThemeData(
|
|
useMaterial3: true,
|
|
colorScheme: ColorScheme.fromSeed(
|
|
seedColor: _seed,
|
|
brightness: Brightness.light,
|
|
),
|
|
// Boutons larges pour les doigts d'enfant.
|
|
filledButtonTheme: FilledButtonThemeData(
|
|
style: FilledButton.styleFrom(minimumSize: const Size(64, 56)),
|
|
),
|
|
elevatedButtonTheme: ElevatedButtonThemeData(
|
|
style: ElevatedButton.styleFrom(minimumSize: const Size(64, 56)),
|
|
),
|
|
);
|
|
}
|