diff --git a/package-lock.json b/package-lock.json index 98818f8fa4..d50517beca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "react": "^19.0.0", "react-dom": "^19.0.0", "react-firebase-hooks": "^5.1.1", + "react-hot-toast": "^2.6.0", "react-icons": "^5.5.0", "react-plotly.js": "^2.6.0", "react-router-dom": "^7.1.5", @@ -8637,6 +8638,12 @@ "dev": true, "license": "MIT" }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, "node_modules/d": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", @@ -11809,6 +11816,15 @@ "escodegen": "^2.1.0" } }, + "node_modules/goober": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "license": "MIT", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -19844,6 +19860,23 @@ "react": ">= 16.8.0" } }, + "node_modules/react-hot-toast": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.6.0.tgz", + "integrity": "sha512-bH+2EBMZ4sdyou/DPrfgIouFpcRLCJ+HoCA32UoAYHn6T3Ur5yfcDCeSr5mwldl6pFOsiocmrXMuoCJ1vV8bWg==", + "license": "MIT", + "dependencies": { + "csstype": "^3.1.3", + "goober": "^2.1.16" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, "node_modules/react-icons": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", diff --git a/package.json b/package.json index 26b02e51d9..adf31377fa 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "react": "^19.0.0", "react-dom": "^19.0.0", "react-firebase-hooks": "^5.1.1", + "react-hot-toast": "^2.6.0", "react-icons": "^5.5.0", "react-plotly.js": "^2.6.0", "react-router-dom": "^7.1.5", diff --git a/src/components/StockList.jsx b/src/components/StockList.jsx index a68355a208..cbc6b557db 100644 --- a/src/components/StockList.jsx +++ b/src/components/StockList.jsx @@ -8,6 +8,7 @@ import stockData from "./data/stockData.json"; import BackToTopBtn from "./BackToTopBtn"; import styles from "./StockList.module.css"; import stockBg2 from "./images/bg.png"; +import {toast} from "react-hot-toast" const StocksList = () => { const [stocks, setStocks] = useState([]); @@ -35,9 +36,9 @@ const StocksList = () => { if (user) { try { await toggleWatchlist(stock); - alert(`${stock.symbol} added to your Firebase watchlist!`); + toast.success(`${stock.symbol} added to your Firebase watchlist!`); } catch (err) { - alert("Failed to add to watchlist."); + toast.error("Failed to add to watchlist."); console.error(err); } } else {