diff --git a/lib/main.dart b/lib/main.dart index 878f6e5..0bdce7c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -17,6 +17,7 @@ void main() { runApp(const ProviderScope(child: MyApp())); } +/// Widget racine : construit le MaterialApp (thème dérivé de la palette, routes). class MyApp extends ConsumerWidget { const MyApp({super.key}); diff --git a/lib/presentation/pages/main_page.dart b/lib/presentation/pages/main_page.dart index 487a196..3bffdd9 100644 --- a/lib/presentation/pages/main_page.dart +++ b/lib/presentation/pages/main_page.dart @@ -6,6 +6,7 @@ import 'pokemon_list.dart'; import 'guess_page.dart'; import 'system_page.dart'; +/// Coquille principale : navigation par onglets (liste / jeu / système) via un IndexedStack. class MainPage extends ConsumerWidget { const MainPage({Key? key}) : super(key: key); diff --git a/lib/presentation/providers/gen_filter_provider.dart b/lib/presentation/providers/gen_filter_provider.dart index 5a95765..474c903 100644 --- a/lib/presentation/providers/gen_filter_provider.dart +++ b/lib/presentation/providers/gen_filter_provider.dart @@ -3,6 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../../core/config/app_constants.dart'; +/// Gère les générations activées pour le tirage et fournit un id aléatoire dans celles-ci. +/// La sélection est persistée dans les préférences. class GenFilterNotifier extends Notifier> { @override Set build() { @@ -50,5 +52,6 @@ class GenFilterNotifier extends Notifier> { } } +/// Ensemble des index de générations actuellement activées pour le jeu. final genFilterProvider = NotifierProvider>(GenFilterNotifier.new); diff --git a/lib/presentation/providers/theme_provider.dart b/lib/presentation/providers/theme_provider.dart index abd0ae3..5502c6d 100644 --- a/lib/presentation/providers/theme_provider.dart +++ b/lib/presentation/providers/theme_provider.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; +/// Palette de couleurs nommée de l'application (couleur primaire + surface de fond). class AppPalette { final String name; final Color primary; @@ -24,6 +25,7 @@ const List appPalettes = [ const String _prefsPaletteIndex = 'palette_index'; +/// Gère l'index de la palette sélectionnée, persistée dans les préférences. class ThemeNotifier extends Notifier { @override int build() { @@ -46,4 +48,5 @@ class ThemeNotifier extends Notifier { AppPalette get current => appPalettes[state]; } +/// Index de la palette de couleurs active. final themeProvider = NotifierProvider(ThemeNotifier.new); diff --git a/lib/presentation/widgets/pokemon_image.dart b/lib/presentation/widgets/pokemon_image.dart index 848b804..cda95a5 100644 --- a/lib/presentation/widgets/pokemon_image.dart +++ b/lib/presentation/widgets/pokemon_image.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; +/// Image réseau d'un Pokémon, avec URL de repli et placeholder en cas d'échec de chargement. class PokemonImage extends StatelessWidget { final String imageUrl; final String? fallbackUrl; diff --git a/lib/presentation/widgets/pokemon_tile.dart b/lib/presentation/widgets/pokemon_tile.dart index 9ee4374..98b4080 100644 --- a/lib/presentation/widgets/pokemon_tile.dart +++ b/lib/presentation/widgets/pokemon_tile.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import '../../domain/entities/pokemon.dart'; import 'pokemon_image.dart'; +/// Ligne de liste d'un Pokémon : image et nom si attrapé, masqué (???) sinon. class PokemonTile extends StatelessWidget { const PokemonTile(this.pokemon, {Key? key}) : super(key: key); diff --git a/lib/presentation/widgets/pokemon_type.dart b/lib/presentation/widgets/pokemon_type.dart index ce8eab9..63435f1 100644 --- a/lib/presentation/widgets/pokemon_type.dart +++ b/lib/presentation/widgets/pokemon_type.dart @@ -2,9 +2,7 @@ import 'package:flutter/material.dart'; import '../../domain/entities/pokemon.dart'; import '../theme/type_colors.dart'; -// Widget qui permet d'afficher un type de Pokémon -// Elle prend en paramètre un type de Pokémon -// Elle affiche le nom du type avec une couleur de fond correspondant au type +/// Pastille colorée affichant le nom d'un type de Pokémon (couleur de fond selon le type). class PokemonTypeWidget extends StatelessWidget { const PokemonTypeWidget(this.type, {Key? key}) : super(key: key);