From 899d50098c20c5652040e989932628d63af28301 Mon Sep 17 00:00:00 2001
From: schererleander <leander@schererleander.de>
Date: Wed, 2 Jul 2025 22:18:06 +0200
Subject: feat: add UI components

---
 src/components/ui/toast.tsx | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 src/components/ui/toast.tsx

(limited to 'src/components/ui/toast.tsx')

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
-- 
cgit v1.3.1

