diff --git a/cdrm-frontend/package-lock.json b/cdrm-frontend/package-lock.json index 405b50b..5ec07b9 100644 --- a/cdrm-frontend/package-lock.json +++ b/cdrm-frontend/package-lock.json @@ -11,6 +11,7 @@ "@tailwindcss/vite": "^4.1.4", "react": "^19.0.0", "react-dom": "^19.0.0", + "react-router-dom": "^7.5.2", "tailwindcss": "^4.1.4" }, "devDependencies": { @@ -1799,6 +1800,15 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2928,6 +2938,45 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.5.2.tgz", + "integrity": "sha512-9Rw8r199klMnlGZ8VAsV/I8WrIF6IyJ90JQUdboupx1cdkgYqwnrYjH+I/nY/7cA1X5zia4mDJqH36npP7sxGQ==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.2.tgz", + "integrity": "sha512-yk1XW8Fj7gK7flpYBXF3yzd2NbX6P7Kxjvs2b5nu1M04rb5pg/Zc4fGdBNTeT4eDYL2bvzWNyKaIMJX/RKHTTg==", + "license": "MIT", + "dependencies": { + "react-router": "7.5.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -2993,6 +3042,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3082,6 +3137,12 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/cdrm-frontend/package.json b/cdrm-frontend/package.json index fa0c1c5..7aa356f 100644 --- a/cdrm-frontend/package.json +++ b/cdrm-frontend/package.json @@ -13,6 +13,7 @@ "@tailwindcss/vite": "^4.1.4", "react": "^19.0.0", "react-dom": "^19.0.0", + "react-router-dom": "^7.5.2", "tailwindcss": "^4.1.4" }, "devDependencies": { diff --git a/cdrm-frontend/src/App.jsx b/cdrm-frontend/src/App.jsx index a7f98d1..924703b 100644 --- a/cdrm-frontend/src/App.jsx +++ b/cdrm-frontend/src/App.jsx @@ -1,20 +1,45 @@ -import NavBarMain from "./components/NavBarMain" +import HomePage from "./components/HomePage"; +import NavBar from "./components/NavBar"; +import NavBarMain from "./components/NavBarMain"; +import SideMenu from "./components/SideMenu"; // New side menu component +import { Routes, Route } from "react-router-dom"; +import { useState } from 'react'; function App() { + const [isMenuOpen, setIsMenuOpen] = useState(false); + + // Function to toggle the side menu + const handleMenuToggle = () => { + setIsMenuOpen(prevState => !prevState); + }; return (
-