"use client"; import * as React from "react"; import { cn } from "@/lib/utils"; type T = { id: number; title: string; description?: string; tone?: "neutral" | "success" | "danger" | "ai" }; let push: ((t: Omit) => void) | null = null; export function toast(title: string, opts: Omit = {}) { push?.({ title, ...opts }); } export function Toaster() { const [items, set] = React.useState([]); React.useEffect(() => { push = (t) => { const id = Date.now() + Math.random(); set((s) => [...s, { ...t, id }]); setTimeout(() => set((s) => s.filter((x) => x.id !== id)), 4200); }; return () => { push = null; }; }, []); return
{items.map((t) => (
{t.title}
{t.description &&
{t.description}
}
))}
; }