diff --git a/package-lock.json b/package-lock.json index fab8113..376da71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.0", "dependencies": { "react": "^18.3.1", - "react-dom": "^18.3.1" + "react-dom": "^18.3.1", + "react-router-dom": "^6.24.1" }, "devDependencies": { "@types/react": "^18.3.3", @@ -1011,6 +1012,14 @@ "node": ">= 8" } }, + "node_modules/@remix-run/router": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz", + "integrity": "sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", @@ -3057,6 +3066,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.1.tgz", + "integrity": "sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==", + "dependencies": { + "@remix-run/router": "1.17.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.1.tgz", + "integrity": "sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==", + "dependencies": { + "@remix-run/router": "1.17.1", + "react-router": "6.24.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", diff --git a/package.json b/package.json index 7ee618e..351606f 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^18.3.1", - "react-dom": "^18.3.1" + "react-dom": "^18.3.1", + "react-router-dom": "^6.24.1" }, "devDependencies": { "@types/react": "^18.3.3", diff --git a/src/App.tsx b/src/App.tsx index 8084f2c..e2f044d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,7 +1,21 @@ +import { Route, Routes } from 'react-router-dom' import { Layout } from './layout' +import { routes } from './routes' function App() { - return + return ( + + }> + {routes.map((route, index) => ( + + ))} + + + ) } export default App diff --git a/src/layout/index.tsx b/src/layout/index.tsx index 0a44908..54b86f4 100644 --- a/src/layout/index.tsx +++ b/src/layout/index.tsx @@ -1,4 +1,4 @@ -import { HomePage } from '../pages/home' +import { Outlet } from 'react-router-dom' import mainStyles from '../styles/main.module.scss' import { Footer } from './footer' import { Header } from './header' @@ -7,7 +7,7 @@ export const Layout = () => { return (
- +
) diff --git a/src/main.tsx b/src/main.tsx index 3d7150d..1756b2f 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,10 +1,13 @@ import React from 'react' import ReactDOM from 'react-dom/client' +import { BrowserRouter } from 'react-router-dom' import App from './App.tsx' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( - - , + + + + ) diff --git a/src/routes/index.tsx b/src/routes/index.tsx new file mode 100644 index 0000000..7ec7d09 --- /dev/null +++ b/src/routes/index.tsx @@ -0,0 +1,17 @@ +import { HomePage } from '../pages/home' + +export const appRoutes: Record = { + index: '/', + home: '/home' +} + +export const routes = [ + { + path: appRoutes.index, + element: + }, + { + path: appRoutes.home, + element: + } +]