| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- "use client";
- import {
- CircleCheckIcon,
- InfoIcon,
- Loader2Icon,
- OctagonXIcon,
- TriangleAlertIcon,
- } from "lucide-react";
- import { useTheme } from "next-themes";
- import { Toaster as Sonner, type ToasterProps } from "sonner";
- const Toaster = ({ ...props }: ToasterProps) => {
- const { theme = "system" } = useTheme();
- return (
- <Sonner
- theme={theme as ToasterProps["theme"]}
- className="toaster group"
- icons={{
- success: <CircleCheckIcon className="size-4" />,
- info: <InfoIcon className="size-4" />,
- warning: <TriangleAlertIcon className="size-4" />,
- error: <OctagonXIcon className="size-4" />,
- loading: <Loader2Icon className="size-4 animate-spin" />,
- }}
- style={
- {
- "--normal-bg": "var(--popover)",
- "--normal-text": "var(--popover-foreground)",
- "--normal-border": "var(--border)",
- "--border-radius": "var(--radius)",
- } as React.CSSProperties
- }
- {...props}
- />
- );
- };
- export { Toaster };
|