aboutsummaryrefslogtreecommitdiff
path: root/src/components/ui/toast.tsx
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-07-02 22:18:06 +0200
committerschererleander <leander@schererleander.de>2025-07-02 22:18:06 +0200
commit899d50098c20c5652040e989932628d63af28301 (patch)
tree7947dc9bb983494fc1d3dcffa2c770a3c8db88f8 /src/components/ui/toast.tsx
parentab03900adf080da08a0b2a3628fd0dcf0af28420 (diff)
feat: add UI components
Diffstat (limited to 'src/components/ui/toast.tsx')
-rw-r--r--src/components/ui/toast.tsx31
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