diff --git a/front/package-lock.json b/front/package-lock.json index 5dc15c7..350220a 100644 --- a/front/package-lock.json +++ b/front/package-lock.json @@ -9,7 +9,9 @@ "version": "0.0.0", "dependencies": { "react": "^19.1.1", - "react-dom": "^19.1.1" + "react-dom": "^19.1.1", + "react-router": "^7.9.4", + "react-router-dom": "^7.9.4" }, "devDependencies": { "@eslint/js": "^9.36.0", @@ -1963,6 +1965,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", @@ -2934,6 +2945,44 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.4.tgz", + "integrity": "sha512-SD3G8HKviFHg9xj7dNODUKDFgpG4xqD5nhyd0mYoB5iISepuZAvzSr8ywxgxKJ52yRzf/HWtVHc9AWwoTbljvA==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.4.tgz", + "integrity": "sha512-f30P6bIkmYvnHHa5Gcu65deIXoA2+r3Eb6PJIAddvsT9aGlchMatJ51GgpU470aSqRRbFX22T70yQNUGuW3DfA==", + "license": "MIT", + "dependencies": { + "react-router": "7.9.4" + }, + "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", @@ -3037,6 +3086,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", diff --git a/front/package.json b/front/package.json index a903df1..edabec1 100644 --- a/front/package.json +++ b/front/package.json @@ -11,7 +11,9 @@ }, "dependencies": { "react": "^19.1.1", - "react-dom": "^19.1.1" + "react-dom": "^19.1.1", + "react-router": "^7.9.4", + "react-router-dom": "^7.9.4" }, "devDependencies": { "@eslint/js": "^9.36.0", diff --git a/front/src/app/routes.tsx b/front/src/app/routes.tsx new file mode 100644 index 0000000..529bf96 --- /dev/null +++ b/front/src/app/routes.tsx @@ -0,0 +1,20 @@ +import LoginPage from "../pages/LoginPage/LoginPage" +import DashboardPage from "../pages/DashboardPage/DashboardPage" +import Layout from "../pages/Layout/Layout"; +import HistoryPage from "../pages/HistoryPage/HistoryPage"; +import { Routes } from "react-router"; +import { Route } from "react-router"; + +function AppRoutes() { + return ( + + {/*} />*/} + }> + } /> + } /> + + + ) +} + +export default AppRoutes; \ No newline at end of file diff --git a/front/src/main.tsx b/front/src/main.tsx index bef5202..d24796e 100644 --- a/front/src/main.tsx +++ b/front/src/main.tsx @@ -2,9 +2,13 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' import App from './App.tsx' +import { BrowserRouter } from 'react-router' +import AppRoutes from './app/routes.tsx' createRoot(document.getElementById('root')!).render( - + + + , ) diff --git a/front/src/pages/DashboardPage/DashboardPage.css b/front/src/pages/DashboardPage/DashboardPage.css new file mode 100644 index 0000000..e69de29 diff --git a/front/src/pages/DashboardPage/DashboardPage.tsx b/front/src/pages/DashboardPage/DashboardPage.tsx new file mode 100644 index 0000000..a2728ac --- /dev/null +++ b/front/src/pages/DashboardPage/DashboardPage.tsx @@ -0,0 +1,9 @@ +const DashboardPage = () =>{ + return( + <> +

ssssssssss

+ + ) +} + +export default DashboardPage; \ No newline at end of file diff --git a/front/src/pages/HistoryPage/HistoryPage.css b/front/src/pages/HistoryPage/HistoryPage.css new file mode 100644 index 0000000..e69de29 diff --git a/front/src/pages/HistoryPage/HistoryPage.tsx b/front/src/pages/HistoryPage/HistoryPage.tsx new file mode 100644 index 0000000..46080f9 --- /dev/null +++ b/front/src/pages/HistoryPage/HistoryPage.tsx @@ -0,0 +1,9 @@ +const HistoryPage = () =>{ + return( + <> +

dddddddd

+ + ) +} + +export default HistoryPage; \ No newline at end of file diff --git a/front/src/pages/Layout/Layout.css b/front/src/pages/Layout/Layout.css new file mode 100644 index 0000000..e69de29 diff --git a/front/src/pages/Layout/Layout.tsx b/front/src/pages/Layout/Layout.tsx new file mode 100644 index 0000000..d14827e --- /dev/null +++ b/front/src/pages/Layout/Layout.tsx @@ -0,0 +1,17 @@ +import Header from "../../widgets/Header/Header"; +import { Outlet } from "react-router"; + +const Layout = () =>{ + return( +
+
+
+
+ +
+
+
+ ); +}; + +export default Layout; \ No newline at end of file diff --git a/front/src/pages/LoginPage/LoginPage.css b/front/src/pages/LoginPage/LoginPage.css new file mode 100644 index 0000000..e69de29 diff --git a/front/src/pages/LoginPage/LoginPage.tsx b/front/src/pages/LoginPage/LoginPage.tsx new file mode 100644 index 0000000..35d8243 --- /dev/null +++ b/front/src/pages/LoginPage/LoginPage.tsx @@ -0,0 +1,9 @@ +const LoginPage = () =>{ + return( + <> + + + ) +} + +export default LoginPage; \ No newline at end of file diff --git a/front/src/widgets/Header/Header.css b/front/src/widgets/Header/Header.css new file mode 100644 index 0000000..e69de29 diff --git a/front/src/widgets/Header/Header.tsx b/front/src/widgets/Header/Header.tsx new file mode 100644 index 0000000..612b2b6 --- /dev/null +++ b/front/src/widgets/Header/Header.tsx @@ -0,0 +1,15 @@ +import { NavLink } from "react-router"; + +const Header = () =>{ + return( + + ) +} + +export default Header; \ No newline at end of file