Files
paint-ui/lib/toast-utils.ts
Sebastian Krüger 3ad7dbf314 feat(ui): implement comprehensive toast notification system
Added a complete toast notification system with:
- Toast store using Zustand for state management
- Toast component with 4 types: success, error, warning, info
- Animated slide-in/slide-out transitions
- Auto-dismiss after configurable duration
- Close button on each toast
- Utility functions for easy access (toast.success(), toast.error(), etc.)

Integrated toast notifications into file operations:
- Success notifications for: open image, open project, export image, save project
- Error notifications for: failed operations
- Warning notifications for: unsupported file types

UI Features:
- Stacks toasts in top-right corner
- Color-coded by type with icons (CheckCircle, AlertCircle, AlertTriangle, Info)
- Accessible with ARIA attributes
- Smooth animations using custom CSS keyframes

This provides immediate user feedback for all major operations throughout
the application.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 15:42:50 +01:00

20 lines
629 B
TypeScript

import { useToastStore } from '@/store/toast-store';
/**
* Toast utility functions for easy access
*/
export const toast = {
success: (message: string, duration?: number) => {
useToastStore.getState().addToast(message, 'success', duration);
},
error: (message: string, duration?: number) => {
useToastStore.getState().addToast(message, 'error', duration);
},
warning: (message: string, duration?: number) => {
useToastStore.getState().addToast(message, 'warning', duration);
},
info: (message: string, duration?: number) => {
useToastStore.getState().addToast(message, 'info', duration);
},
};