--- description: Toast notifications with Sonner for user feedback. Use for success/error messages, async operation feedback, and temporary notifications. Always use when using Sonner. name: toast metadata: skiller: source: .agents/rules/toast.mdc --- # Toast Notifications ## Context - When displaying temporary notifications to users - For success, error, or informational messages - For async operation feedback - DO NOT overuse toasts, follow the standard UX patterns ## Requirements - Import toast from 'sonner' package - Use toast.promise() for async operations with loading/success/error states - Use direct toast methods for immediate notifications - Keep messages concise and informative ## Examples // For async operations const promise = someAsyncOperation(); toast.promise(promise, { loading: 'Operation in progress...', success: 'Operation successful!', error: 'Operation failed.', }); // For immediate notifications toast.success('Action completed successfully!'); toast.error('An error occurred.'); toast.info('Here's some information.'); // Don't create custom toast implementations const showToast = (message) => { const toastElement = document.createElement('div'); toastElement.innerText = message; document.body.appendChild(toastElement); setTimeout(() => toastElement.remove(), 3000); }; // Don't use alert() for notifications alert('Operation successful!');