From efaf92c4e46ded6a4774a4cc1580cecdcb40acd2 Mon Sep 17 00:00:00 2001 From: TerryM Date: Thu, 4 Jun 2026 17:10:11 +0800 Subject: [PATCH] fix: limit visible toasts --- src/components/Toast.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/Toast.tsx b/src/components/Toast.tsx index 71f79b7..3b4d912 100644 --- a/src/components/Toast.tsx +++ b/src/components/Toast.tsx @@ -32,6 +32,7 @@ export function useToast(): ToastContextValue { } const AUTO_DISMISS_MS = 3000; +const MAX_VISIBLE_TOASTS = 2; /** * App-level toast host. Renders an aria-live region so screen readers announce @@ -49,7 +50,9 @@ export function ToastProvider({ children }: { children: ReactNode }) { const showToast = useCallback( (message: string, variant: ToastVariant = "success") => { const id = (idRef.current += 1); - setToasts((prev) => [...prev, { id, message, variant }]); + setToasts((prev) => + [...prev, { id, message, variant }].slice(-MAX_VISIBLE_TOASTS), + ); window.setTimeout(() => dismiss(id), AUTO_DISMISS_MS); }, [dismiss],