Skip to content

Commit 3e139f1

Browse files
Migrate to use v6 react-router standard
1 parent cca9a84 commit 3e139f1

File tree

1 file changed

+40
-22
lines changed

1 file changed

+40
-22
lines changed

frontend/src/App.tsx

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,46 @@
1-
import React from 'react';
2-
import { BrowserRouter } from 'react-router-dom';
3-
import './App.css';
4-
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
5-
import HomePage from "./pages/HomePage/HomePage";
1+
import React from "react";
2+
// import "./App.css";
3+
import { RouterProvider, createBrowserRouter, Outlet } from "react-router-dom";
4+
import HomePage from "./pages/HomePage/HomePage";
65
import Add from "./pages/AddQuestionPage/AddQuestion";
7-
import { Provider } from 'react-redux';
8-
import {
9-
Navbar
10-
} from "./components/Navbar/Navbar.component";
6+
import { Navbar } from "./components/Navbar/Navbar.component";
7+
import BankPage from "./pages/BankPage/Bank.page";
8+
import ViewQuestion, {
9+
qnLoader,
10+
} from "./pages/ViewQuestionPage/ViewQuestion.page";
11+
import { Box, Center, Heading } from "@chakra-ui/react";
1112

13+
const NavbarWrapper = () => (
14+
<div>
15+
<Navbar />
16+
<Box width="100%" height="90vh">
17+
<Outlet />
18+
</Box>
19+
</div>
20+
);
1221

22+
const PageNotFound = () => (
23+
<Center>
24+
<Heading>404 Page does not exist!</Heading>
25+
</Center>
26+
);
1327

14-
function App() {
15-
return (
16-
<div className="app">
17-
<Router>
18-
<Navbar />
19-
<Routes>
20-
<Route path="/" element={<HomePage />} />
21-
<Route path = "/create" element={<Add />} />
22-
</Routes>
23-
</Router>
24-
</div>
25-
);
26-
}
28+
const router = createBrowserRouter([
29+
{
30+
path: "/",
31+
Component: NavbarWrapper,
32+
children: [
33+
{ path: "/", Component: HomePage },
34+
{ path: "/create", Component: Add },
35+
{ path: "/bank", Component: BankPage },
36+
{ path: "/view/:id", Component: ViewQuestion, loader: qnLoader },
37+
],
38+
},
39+
{ path: "*", Component: PageNotFound },
40+
]);
41+
42+
const App = () => {
43+
return <RouterProvider router={router} />;
44+
};
2745

2846
export default App;

0 commit comments

Comments
 (0)