From cb75a3a4c877725d25b4d4dfa51ec2f0a212ac1d Mon Sep 17 00:00:00 2001 From: Rainnny7 Date: Thu, 18 Apr 2024 00:31:45 -0400 Subject: [PATCH] make toasts look better (: --- Frontend/bun.lockb | Bin 178933 -> 180886 bytes Frontend/package.json | 3 ++ Frontend/src/app/components/copy-button.tsx | 12 ++------ Frontend/src/app/components/ui/sonner.tsx | 31 ++++++++++++++++++++ Frontend/src/app/layout.tsx | 2 +- 5 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 Frontend/src/app/components/ui/sonner.tsx diff --git a/Frontend/bun.lockb b/Frontend/bun.lockb index f31439a67b2ebd703fb50d5beeb7f786ac78bab2..246b14499f8c8329d19b1e9ccbbad8d4305df896 100644 GIT binary patch delta 35073 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 delta 34378 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 F{y&be%JKjJ diff --git a/Frontend/package.json b/Frontend/package.json index 83432d3..14eb987 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -15,7 +15,9 @@ "@hookform/resolvers": "^3.3.4", "@radix-ui/react-context-menu": "^2.1.5", "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-select": "^2.0.0", + "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.0.7", @@ -31,6 +33,7 @@ "react-dom": "^18", "react-hook-form": "^7.51.3", "restfulmc-lib": "^1.1.2", + "sonner": "^1.4.41", "tailwind-merge": "^2.2.2", "tailwindcss-animate": "^1.0.7" }, diff --git a/Frontend/src/app/components/copy-button.tsx b/Frontend/src/app/components/copy-button.tsx index 5ddb05e..accbb2e 100644 --- a/Frontend/src/app/components/copy-button.tsx +++ b/Frontend/src/app/components/copy-button.tsx @@ -1,8 +1,8 @@ "use client"; -import { useToast } from "@/components/ui/use-toast"; import copy from "clipboard-copy"; import { ReactElement, ReactNode } from "react"; +import { toast } from "sonner"; /** * Props for the copy button. @@ -37,19 +37,13 @@ const CopyButton = ({ children, showToast, }: CopyButtonProps): ReactElement => { - const { toast } = useToast(); const handleClick = async (): Promise => { await copy(content); // Copy to the clipboard // Show a toast when copied if (showToast) { - toast({ - title: "Copied", - description: ( - <> - Copied {content} to your clipboard - - ), + toast("Copied", { + description: `Copied "${content}" to your clipboard`, }); } }; diff --git a/Frontend/src/app/components/ui/sonner.tsx b/Frontend/src/app/components/ui/sonner.tsx new file mode 100644 index 0000000..452f4d9 --- /dev/null +++ b/Frontend/src/app/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 + +const Toaster = ({ ...props }: ToasterProps) => { + const { theme = "system" } = useTheme() + + return ( + + ) +} + +export { Toaster } diff --git a/Frontend/src/app/layout.tsx b/Frontend/src/app/layout.tsx index 74285c4..44ab237 100644 --- a/Frontend/src/app/layout.tsx +++ b/Frontend/src/app/layout.tsx @@ -1,5 +1,5 @@ import Navbar from "@/components/navbar"; -import { Toaster } from "@/components/ui/toaster"; +import { Toaster } from "@/components/ui/sonner" import { TooltipProvider } from "@/components/ui/tooltip"; import config from "@/config"; import { notoSans } from "@/font/fonts";