import { useCallback } from 'react'; import { toast as toastify } from 'react-toastify'; interface ToastOptions { type?: 'success' | 'error' | 'info' | 'warning'; duration?: number; } export function useToast() { const toast = useCallback((message: string, options: ToastOptions = {}) => { const { type = 'info', duration = 3000 } = options; toastify[type](message, { position: 'bottom-right', autoClose: duration, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, theme: 'dark', }); }, []); const success = useCallback( (message: string, options: Omit = {}) => { toast(message, { ...options, type: 'success' }); }, [toast], ); const error = useCallback( (message: string, options: Omit = {}) => { toast(message, { ...options, type: 'error' }); }, [toast], ); return { toast, success, error }; }