feat: add initial implementation of Kitchen CRM with authentication and dashboard features
- Create global styles and theme management - Implement app shell layout with sidebar navigation - Add authentication layout and pages for login and registration - Develop dashboard page with placeholder content - Introduce routing guards for guest-only and authenticated routes - Set up Zustand for state management of authentication and theme - Create API types and structures for CRM entities - Configure Vite with PWA support and Tailwind CSS
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { Fragment } from 'react'
|
||||
|
||||
import { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from '@/components/ui/toast'
|
||||
import { useToast } from '@/components/ui/use-toast'
|
||||
|
||||
export const Toaster = () => {
|
||||
const { toasts, dismiss } = useToast()
|
||||
|
||||
return (
|
||||
<ToastProvider swipeDirection="right">
|
||||
<ToastViewport />
|
||||
{toasts.map(({ id, title, description, action, ...toast }) => (
|
||||
<Toast key={id} onOpenChange={(open) => !open && dismiss(id)} {...toast}>
|
||||
<div className="grid gap-1">
|
||||
{title ? <ToastTitle>{title}</ToastTitle> : null}
|
||||
{description ? <ToastDescription>{description}</ToastDescription> : null}
|
||||
</div>
|
||||
{action ? <Fragment>{action}</Fragment> : null}
|
||||
<ToastClose />
|
||||
</Toast>
|
||||
))}
|
||||
</ToastProvider>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user