import 'package:flutter/material.dart'; import '../../../domain/entities/pokemon.dart'; import '../../../l10n/app_localizations.dart'; import '../pokemon_image.dart'; /// Écran bleu affichant la silhouette (jeu en cours) ou l'image révélée (manche gagnée). class GuessSilhouette extends StatelessWidget { final Pokemon pokemon; final bool isShiny; final bool isGuessed; const GuessSilhouette({ super.key, required this.pokemon, required this.isShiny, required this.isGuessed, }); @override Widget build(BuildContext context) { final l = AppLocalizations.of(context)!; final imageUrl = isShiny ? pokemon.shinyImageUrl : pokemon.imageUrl; return Container( height: 250, width: double.infinity, margin: const EdgeInsets.all(16), decoration: BoxDecoration( color: const Color(0xFF3B6EE3), borderRadius: BorderRadius.circular(12), border: Border.all(color: const Color(0xFF1B2333), width: 8), ), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( child: Padding( padding: const EdgeInsets.all(16.0), child: isGuessed ? PokemonImage( imageUrl: imageUrl, fallbackUrl: pokemon.imageUrl, fit: BoxFit.contain, ) : PokemonImage( imageUrl: imageUrl, fallbackUrl: pokemon.imageUrl, fit: BoxFit.contain, color: isShiny ? Colors.yellow[700]! : Colors.black, colorBlendMode: BlendMode.srcIn, ), ), ), Container( color: const Color(0xFF1B2333), width: double.infinity, padding: const EdgeInsets.symmetric(vertical: 8), child: Text( isShiny ? l.shinyDetected : l.whosThatPokemon, textAlign: TextAlign.center, style: TextStyle( color: isShiny ? Colors.yellow[400] : Colors.white, fontSize: isShiny ? 18 : 22, fontWeight: FontWeight.bold, letterSpacing: 2, ), ), ), ], ), ); } }