import 'package:flutter/material.dart';
import '../../../domain/entities/pokemon.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 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 ? "✨ SHINY POKÉMON DETECTED! ✨" : "WHO'S THAT POKÉMON?",
              textAlign: TextAlign.center,
              style: TextStyle(
                color: isShiny ? Colors.yellow[400] : Colors.white,
                fontSize: isShiny ? 18 : 22,
                fontWeight: FontWeight.bold,
                letterSpacing: 2,
              ),
            ),
          ),
        ],
      ),
    );
  }
}
