Compare commits
No commits in common. "afacacaa109fabc6feef4611531d0825853dc71b" and "9d49cef27111f723c19c5ae4220a5383102621d8" have entirely different histories.
afacacaa10
...
9d49cef271
@ -17,7 +17,6 @@ void main() {
|
|||||||
runApp(const ProviderScope(child: MyApp()));
|
runApp(const ProviderScope(child: MyApp()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Widget racine : construit le MaterialApp (thème dérivé de la palette, routes).
|
|
||||||
class MyApp extends ConsumerWidget {
|
class MyApp extends ConsumerWidget {
|
||||||
const MyApp({super.key});
|
const MyApp({super.key});
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import 'pokemon_list.dart';
|
|||||||
import 'guess_page.dart';
|
import 'guess_page.dart';
|
||||||
import 'system_page.dart';
|
import 'system_page.dart';
|
||||||
|
|
||||||
/// Coquille principale : navigation par onglets (liste / jeu / système) via un IndexedStack.
|
|
||||||
class MainPage extends ConsumerWidget {
|
class MainPage extends ConsumerWidget {
|
||||||
const MainPage({Key? key}) : super(key: key);
|
const MainPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
|||||||
@ -3,8 +3,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
import '../../core/config/app_constants.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<Set<int>> {
|
class GenFilterNotifier extends Notifier<Set<int>> {
|
||||||
@override
|
@override
|
||||||
Set<int> build() {
|
Set<int> build() {
|
||||||
@ -52,6 +50,5 @@ class GenFilterNotifier extends Notifier<Set<int>> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Ensemble des index de générations actuellement activées pour le jeu.
|
|
||||||
final genFilterProvider =
|
final genFilterProvider =
|
||||||
NotifierProvider<GenFilterNotifier, Set<int>>(GenFilterNotifier.new);
|
NotifierProvider<GenFilterNotifier, Set<int>>(GenFilterNotifier.new);
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
/// Palette de couleurs nommée de l'application (couleur primaire + surface de fond).
|
|
||||||
class AppPalette {
|
class AppPalette {
|
||||||
final String name;
|
final String name;
|
||||||
final Color primary;
|
final Color primary;
|
||||||
@ -25,7 +24,6 @@ const List<AppPalette> appPalettes = [
|
|||||||
|
|
||||||
const String _prefsPaletteIndex = 'palette_index';
|
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<int> {
|
class ThemeNotifier extends Notifier<int> {
|
||||||
@override
|
@override
|
||||||
int build() {
|
int build() {
|
||||||
@ -48,5 +46,4 @@ class ThemeNotifier extends Notifier<int> {
|
|||||||
AppPalette get current => appPalettes[state];
|
AppPalette get current => appPalettes[state];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Index de la palette de couleurs active.
|
|
||||||
final themeProvider = NotifierProvider<ThemeNotifier, int>(ThemeNotifier.new);
|
final themeProvider = NotifierProvider<ThemeNotifier, int>(ThemeNotifier.new);
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
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 {
|
class PokemonImage extends StatelessWidget {
|
||||||
final String imageUrl;
|
final String imageUrl;
|
||||||
final String? fallbackUrl;
|
final String? fallbackUrl;
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
|
|||||||
import '../../domain/entities/pokemon.dart';
|
import '../../domain/entities/pokemon.dart';
|
||||||
import 'pokemon_image.dart';
|
import 'pokemon_image.dart';
|
||||||
|
|
||||||
/// Ligne de liste d'un Pokémon : image et nom si attrapé, masqué (???) sinon.
|
|
||||||
class PokemonTile extends StatelessWidget {
|
class PokemonTile extends StatelessWidget {
|
||||||
const PokemonTile(this.pokemon, {Key? key}) : super(key: key);
|
const PokemonTile(this.pokemon, {Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,9 @@ import 'package:flutter/material.dart';
|
|||||||
import '../../domain/entities/pokemon.dart';
|
import '../../domain/entities/pokemon.dart';
|
||||||
import '../theme/type_colors.dart';
|
import '../theme/type_colors.dart';
|
||||||
|
|
||||||
/// Pastille colorée affichant le nom d'un type de Pokémon (couleur de fond selon le type).
|
// 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
|
||||||
class PokemonTypeWidget extends StatelessWidget {
|
class PokemonTypeWidget extends StatelessWidget {
|
||||||
const PokemonTypeWidget(this.type, {Key? key}) : super(key: key);
|
const PokemonTypeWidget(this.type, {Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user