summaryrefslogtreecommitdiff
path: root/components/ui/sonner.tsx
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2025-01-06 23:48:56 -0800
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2025-01-06 23:48:56 -0800
commitb97f3b42e1bad5753728315b5c7ebdacf6f81172 (patch)
treea07cbc723346503792a70ca7c923a8838e64fdff /components/ui/sonner.tsx
downloadpenguin-new-tab-b97f3b42e1bad5753728315b5c7ebdacf6f81172.tar.gz
penguin-new-tab-b97f3b42e1bad5753728315b5c7ebdacf6f81172.zip
initial commit
Diffstat (limited to 'components/ui/sonner.tsx')
-rw-r--r--components/ui/sonner.tsx31
1 files changed, 31 insertions, 0 deletions
diff --git a/components/ui/sonner.tsx b/components/ui/sonner.tsx
new file mode 100644
index 0000000..452f4d9
--- /dev/null
+++ b/components/ui/sonner.tsx
@@ -0,0 +1,31 @@
+"use client"
+
+import { useTheme } from "next-themes"
+import { Toaster as Sonner } 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 }