| 'use client' | |
| import { useTheme } from 'next-themes' | |
| import { Toaster as Sonner } from 'sonner' | |
| type ToasterProps = React.ComponentProps<typeof Sonner> | |
| const Toaster = ({ ...props }: ToasterProps) => { | |
| const { theme = 'system' } = useTheme() | |
| return ( | |
| <Sonner | |
| theme={theme as ToasterProps['theme']} | |
| className="toaster group" | |
| toastOptions={{ | |
| classNames: { | |
| toast: | |
| 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg', | |
| description: 'group-[.toast]:text-muted-foreground', | |
| actionButton: | |
| 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground', | |
| cancelButton: | |
| 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground' | |
| } | |
| }} | |
| {...props} | |
| /> | |
| ) | |
| } | |
| export { Toaster } | |