diff --git a/package-lock.json b/package-lock.json index 4082a1b..47beec0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,8 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "react-i18next": "15.6.1", - "react-number-format": "5.4.4" + "react-number-format": "5.4.4", + "react-router": "^7.7.1" }, "devDependencies": { "@eslint/js": "^9.30.1", @@ -2526,6 +2527,15 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "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/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -4000,6 +4010,28 @@ "react-dom": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/react-router": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.7.1.tgz", + "integrity": "sha512-jVKHXoWRIsD/qS6lvGveckwb862EekvapdHJN/cGmzw40KnJH5gg53ujOJ4qX6EKIK9LSBfFed/xiQ5yeXNrUA==", + "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-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -4087,6 +4119,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/package.json b/package.json index 6894c7f..f326154 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "react-i18next": "15.6.1", - "react-number-format": "5.4.4" + "react-number-format": "5.4.4", + "react-router": "^7.7.1" }, "scripts": { "dev": "vite", diff --git a/src/App.jsx b/src/App.jsx index 7d8bea5..907ff5e 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,6 +1,10 @@ import React from "react"; import { I18nextProvider } from "react-i18next"; +import { + createBrowserRouter, + RouterProvider, +} from "react-router"; import { ThemeProvider, createTheme } from '@mui/material/styles'; import "./App.css"; @@ -32,7 +36,7 @@ const theme = createTheme({ }, }); -class App extends React.Component { +class BaseApp extends React.Component { componentDidCatch(error, info) { gaErrorReport(error); } @@ -51,4 +55,17 @@ class App extends React.Component { } } +const router = createBrowserRouter([ + { + path: "/", + element: , + }, +]); + +const App = () => { + return ( + + ); +}; + export default App;