// PrestigePanel.tsx — Nouvelle Génération (prestige)
// Visible uniquement quand canPrestige = true (ressources >= 1 000 000)

import { useGameStore } from "../store/useGameStore";
import { computePrestigeDna } from "../core/economy";

export function PrestigePanel() {
  const { prestigeCount, prestigeMultiplier, ancestralDna, lifetimeTadpoles } =
    useGameStore((s) => s.state);
  const canPrestige = useGameStore((s) => s.canPrestige);
  const prestige = useGameStore((s) => s.prestige);

  const dnaPreview = computePrestigeDna(lifetimeTadpoles);

  const handlePrestige = () => {
    const confirmed = window.confirm(
      `Nouvelle Génération\n\n` +
        `Reset : têtards et générateurs à zéro.\n` +
        `Récompense : +${dnaPreview} ADN Ancestral\n` +
        `              +0.1x multiplicateur permanent\n\n` +
        `ADN actuel : ${ancestralDna}\n` +
        `ADN après : ${ancestralDna + dnaPreview}\n` +
        `Multiplicateur : x${prestigeMultiplier.toFixed(1)} → x${(prestigeMultiplier + 0.1).toFixed(1)}\n\n` +
        `L'Arbre d'Évolution persiste.\n\n` +
        `Confirmer la Nouvelle Génération ?`
    );
    if (confirmed) prestige();
  };

  return (
    <div className="flex flex-col gap-2 p-4 rounded-xl bg-purple-900/60 backdrop-blur-sm max-w-md w-full">
      <div className="flex flex-wrap gap-4 text-sm text-purple-200">
        <span>Générations : {prestigeCount}</span>
        <span>Mult : x{prestigeMultiplier.toFixed(1)}</span>
        <span>ADN : {ancestralDna}</span>
      </div>

      {canPrestige && (
        <div className="flex flex-col gap-2 mt-2">
          <p className="text-sm text-purple-100">
            Nouvelle Génération : <strong>+{dnaPreview} ADN</strong> + <strong>+0.1x mult</strong>
          </p>
          <button
            onClick={handlePrestige}
            className="px-4 py-2 rounded-lg bg-purple-600 hover:bg-purple-500 text-white font-semibold text-sm transition-colors cursor-pointer"
          >
            Nouvelle Génération
          </button>
        </div>
      )}
    </div>
  );
}
