veza/apps/web/src/hooks/useToast.ts
2025-12-12 21:34:34 -05:00

27 lines
821 B
TypeScript

import { useToastContext } from '@/components/feedback/ToastProvider';
export interface Toast {
id: string;
message: string;
type?: 'success' | 'error' | 'warning' | 'info';
duration?: number;
}
/**
* Hook pour afficher des toasts.
*/
export function useToast() {
const { addToast } = useToastContext();
return {
success: (message: string, duration?: number) =>
addToast({ message, type: 'success', duration }),
error: (message: string, duration?: number) =>
addToast({ message, type: 'error', duration }),
warning: (message: string, duration?: number) =>
addToast({ message, type: 'warning', duration }),
info: (message: string, duration?: number) =>
addToast({ message, type: 'info', duration }),
toast: (toast: Omit<Toast, 'id'>) => addToast(toast),
};
}