| 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!');