From 08bc5d352133f62104091e3e561825ce3bb15cc1 Mon Sep 17 00:00:00 2001 From: balibabu Date: Wed, 9 Apr 2025 17:21:01 +0800 Subject: [PATCH] Feat: Install sonner library #3221 (#6898) ### What problem does this PR solve? Feat: Install sonner library #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- web/package-lock.json | 20 ++++++++++++++++---- web/package.json | 3 ++- web/src/components/ui/sonner.tsx | 31 +++++++++++++++++++++++++++++++ web/src/components/ui/toast.tsx | 2 +- web/src/layouts/index.tsx | 5 +++++ 5 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 web/src/components/ui/sonner.tsx diff --git a/web/package-lock.json b/web/package-lock.json index eb623521..85e2f058 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -65,6 +65,7 @@ "lodash": "^4.17.21", "lucide-react": "^0.454.0", "mammoth": "^1.7.2", + "next-themes": "^0.4.6", "openai-speech-stream-player": "^1.0.8", "rc-tween-one": "^3.0.6", "react-copy-to-clipboard": "^5.1.0", @@ -83,7 +84,7 @@ "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.0", "remark-math": "^6.0.0", - "sonner": "^1.7.1", + "sonner": "^1.7.4", "tailwind-merge": "^2.5.4", "tailwindcss-animate": "^1.0.7", "umi": "^4.0.90", @@ -23664,6 +23665,16 @@ "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", "dev": true }, + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmmirror.com/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", @@ -29499,9 +29510,10 @@ } }, "node_modules/sonner": { - "version": "1.7.1", - "resolved": "https://registry.npmmirror.com/sonner/-/sonner-1.7.1.tgz", - "integrity": "sha512-b6LHBfH32SoVasRFECrdY8p8s7hXPDn3OHUFbZZbiB1ctLS9Gdh6rpX2dVrpQA0kiL5jcRzDDldwwLkSKk3+QQ==", + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/sonner/-/sonner-1.7.4.tgz", + "integrity": "sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==", + "license": "MIT", "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" diff --git a/web/package.json b/web/package.json index d1dd8e53..7bfc3459 100644 --- a/web/package.json +++ b/web/package.json @@ -76,6 +76,7 @@ "lodash": "^4.17.21", "lucide-react": "^0.454.0", "mammoth": "^1.7.2", + "next-themes": "^0.4.6", "openai-speech-stream-player": "^1.0.8", "rc-tween-one": "^3.0.6", "react-copy-to-clipboard": "^5.1.0", @@ -94,7 +95,7 @@ "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.0", "remark-math": "^6.0.0", - "sonner": "^1.7.1", + "sonner": "^1.7.4", "tailwind-merge": "^2.5.4", "tailwindcss-animate": "^1.0.7", "umi": "^4.0.90", diff --git a/web/src/components/ui/sonner.tsx b/web/src/components/ui/sonner.tsx new file mode 100644 index 00000000..b38ad1e0 --- /dev/null +++ b/web/src/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/web/src/components/ui/toast.tsx b/web/src/components/ui/toast.tsx index 196bb84b..cc729e5f 100644 --- a/web/src/components/ui/toast.tsx +++ b/web/src/components/ui/toast.tsx @@ -16,7 +16,7 @@ const ToastViewport = React.forwardRef< { > + + );