From 9268b3ad26938ea96dbf0525ac940d893015b3d4 Mon Sep 17 00:00:00 2001 From: bflatastic Date: Tue, 4 Mar 2025 00:12:12 +0700 Subject: [PATCH] toaster for notifications --- frontend/realtime/package-lock.json | 10 ++++++++++ frontend/realtime/package.json | 1 + frontend/realtime/src/app/index.tsx | 9 ++++++++- frontend/realtime/src/components/ui/Toast.tsx | 12 ++++++++++++ frontend/realtime/yarn.lock | 9 +++++++-- 5 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 frontend/realtime/src/components/ui/Toast.tsx diff --git a/frontend/realtime/package-lock.json b/frontend/realtime/package-lock.json index fcfb94d827..a5ef4e0a7a 100644 --- a/frontend/realtime/package-lock.json +++ b/frontend/realtime/package-lock.json @@ -23,6 +23,7 @@ "react-drag-drop-files": "^2.3.10", "react-easy-crop": "^5.1.0", "react-router-dom": "^6.26.1", + "sonner": "^2.0.1", "tailwind-merge": "^2.5.2", "uuid": "^10.0.0", "yarn": "^1.22.22" @@ -8289,6 +8290,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sonner": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.1.tgz", + "integrity": "sha512-FRBphaehZ5tLdLcQ8g2WOIRE+Y7BCfWi5Zyd8bCvBjiW8TxxAyoWZIxS661Yz6TGPqFQ4VLzOF89WEYhfynSFQ==", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", diff --git a/frontend/realtime/package.json b/frontend/realtime/package.json index 4ae7619369..a71eaa21b2 100644 --- a/frontend/realtime/package.json +++ b/frontend/realtime/package.json @@ -26,6 +26,7 @@ "react-drag-drop-files": "^2.3.10", "react-easy-crop": "^5.1.0", "react-router-dom": "^6.26.1", + "sonner": "^2.0.1", "tailwind-merge": "^2.5.2", "uuid": "^10.0.0", "yarn": "^1.22.22" diff --git a/frontend/realtime/src/app/index.tsx b/frontend/realtime/src/app/index.tsx index 1197366470..36fc90ee20 100644 --- a/frontend/realtime/src/app/index.tsx +++ b/frontend/realtime/src/app/index.tsx @@ -5,6 +5,7 @@ import { RouterProvider } from "react-router-dom"; import { router } from "./router"; import { posthog } from "posthog-js"; import { PostHogProvider } from "posthog-js/react"; +import { Toaster } from "~/components/ui/Toast"; import "./global.css"; import { useRenderCounter } from "~/hooks/useRenderCounter"; @@ -31,11 +32,17 @@ const App = () => { + ); } - return ; + return ( + <> + + + + ); }; createRoot(document.getElementById("root")!).render(); diff --git a/frontend/realtime/src/components/ui/Toast.tsx b/frontend/realtime/src/components/ui/Toast.tsx new file mode 100644 index 0000000000..c922781fdc --- /dev/null +++ b/frontend/realtime/src/components/ui/Toast.tsx @@ -0,0 +1,12 @@ +import { Toaster as SonnerToaster } from "sonner"; + +export const Toaster = () => { + return ( + + ); +}; diff --git a/frontend/realtime/yarn.lock b/frontend/realtime/yarn.lock index dcbace8a8d..53d6272415 100644 --- a/frontend/realtime/yarn.lock +++ b/frontend/realtime/yarn.lock @@ -3635,7 +3635,7 @@ react-colorful@^5.6.1: resolved "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz" integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== -"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18, react-dom@^18.0.0, react-dom@^18.3.1, "react-dom@>= 16.8.0", react-dom@>=16.4.0, react-dom@>=16.8, react-dom@>=16.8.0: +"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18, react-dom@^18.0.0, "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react-dom@^18.3.1, "react-dom@>= 16.8.0", react-dom@>=16.4.0, react-dom@>=16.8, react-dom@>=16.8.0: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -3684,7 +3684,7 @@ react-router@6.26.1: dependencies: "@remix-run/router" "1.19.1" -"react@^16.14.0 || 17.x || 18.x", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", react@^18, react@^18.0.0, react@^18.3.1, "react@>= 16.8.0", react@>=16.3, react@>=16.4.0, react@>=16.8, react@>=16.8.0: +"react@^16.14.0 || 17.x || 18.x", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", react@^18, react@^18.0.0, "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react@^18.3.1, "react@>= 16.8.0", react@>=16.3, react@>=16.4.0, react@>=16.8, react@>=16.8.0: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -3956,6 +3956,11 @@ socks@^2.8.3: ip-address "^9.0.5" smart-buffer "^4.2.0" +sonner@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/sonner/-/sonner-2.0.1.tgz" + integrity sha512-FRBphaehZ5tLdLcQ8g2WOIRE+Y7BCfWi5Zyd8bCvBjiW8TxxAyoWZIxS661Yz6TGPqFQ4VLzOF89WEYhfynSFQ== + source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"