diff options
| author | schererleander <leander@schererleander.de> | 2025-07-02 22:18:06 +0200 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2025-07-02 22:18:06 +0200 |
| commit | 899d50098c20c5652040e989932628d63af28301 (patch) | |
| tree | 7947dc9bb983494fc1d3dcffa2c770a3c8db88f8 /src/components/ui/toast.tsx | |
| parent | ab03900adf080da08a0b2a3628fd0dcf0af28420 (diff) | |
feat: add UI components
Diffstat (limited to 'src/components/ui/toast.tsx')
| -rw-r--r-- | src/components/ui/toast.tsx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/components/ui/toast.tsx b/src/components/ui/toast.tsx new file mode 100644 index 0000000..0991276 --- /dev/null +++ b/src/components/ui/toast.tsx @@ -0,0 +1,31 @@ +"use client" + +import { Toaster as Sonner } from "sonner" +import { useTheme } from "next-themes" + +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 }
\ No newline at end of file |
