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