sonner.tsx raw
1 import { useTheme } from '@/providers/ThemeProvider'
2 import { Toaster as Sonner } from 'sonner'
3
4 type ToasterProps = React.ComponentProps<typeof Sonner>
5
6 const Toaster = ({ ...props }: ToasterProps) => {
7 const { themeSetting } = useTheme()
8
9 return (
10 <Sonner
11 theme={themeSetting}
12 className="toaster group"
13 richColors
14 mobileOffset={64}
15 toastOptions={{
16 classNames: {
17 toast:
18 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',
19 description: 'group-[.toast]:text-muted-foreground',
20 actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',
21 cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground'
22 }
23 }}
24 {...props}
25 />
26 )
27 }
28
29 export { Toaster }
30