import { useEffect } from "react"; import { X } from "lucide-react"; import { cn } from "@/lib/utils"; import { useVotiSocial } from "@/lib/badge-social"; import { useNotificheSmart } from "@/lib/notifiche-smart"; import { useGiocatoreCorrente } from "@/lib/user-store"; import { coriandoli, useMotoRidotto } from "@/lib/motion"; const toni: Record = { badge: "ring-oro/50", segreto: "ring-accent/60", serie: "ring-accent/40", squadra: "ring-info/50", social: "ring-success/50", }; /** Focus card celebrativa: compare una sola volta per traguardo. */ export function CelebrazioneBadge() { const io = useGiocatoreCorrente(); const voti = useVotiSocial(); const { notifica, restanti, chiudi } = useNotificheSmart(io, voti.data ?? []); const ridotto = useMotoRidotto(); const chiave = notifica?.id ?? notifica?.titolo ?? null; const infermeria = notifica?.id === "segreto:s-infermeria"; const ritardi = notifica?.id === "segreto:s-ritardi"; useEffect(() => { if (!chiave) return; void coriandoli(ridotto); }, [chiave, ridotto]); if (!notifica) return null; return (
{notifica.emoji}

{notifica.tono === "segreto" ? "Badge segreto sbloccato" : "Traguardo raggiunto"}

{notifica.titolo}

{notifica.testo}

); }