export function useGlobalToasts()

in src/hooks/useGlobalToasts.ts [29:54]


export function useGlobalToasts(): IToastContext {
  const [toasts, setToasts] = useState<Toast[]>([]);
  const [toastLifeTimeMs, setToastLifeTimeMs] = useState<number>(5000);

  const dismissToast = useCallback(
    (toast: Toast) => {
      setToasts(toasts => toasts.filter(({ id }) => id !== toast.id));
    },
    [setToasts]
  );

  const sendToast = useCallback(
    (toast: Toast) => {
      setToasts(toasts => [...toasts, toast]);
    },
    [setToasts]
  );

  return {
    dismissToast,
    sendToast,
    setToastLifeTimeMs,
    toasts,
    toastLifeTimeMs,
  };
}