Buckets:
| import { useTheme } from "next-themes"; | |
| import { Toaster as Sonner, toast } 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, toast }; | |
Xet Storage Details
- Size:
- 877 Bytes
- Xet hash:
- d643222f6e91b51f54ef4b8041f71e2ed06dbfc32e980abace920f4840f61f74
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.