import { create } from 'zustand'; interface ToastItem { id: number; message: string; } interface ToastState { toasts: ToastItem[]; show: (message: string) => void; dismiss: (id: number) => void; } let counter = 0; export const useToastStore = create((set, get) => ({ toasts: [], show: (message) => { const id = ++counter; set((s) => ({ toasts: [...s.toasts, { id, message }] })); window.setTimeout(() => get().dismiss(id), 2200); }, dismiss: (id) => set((s) => ({ toasts: s.toasts.filter((t) => t.id !== id) })), }));