|
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"; |
6 | 5 | 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"; |
11 | 12 |
|
| 13 | +const NavbarWrapper = () => ( |
| 14 | + <div> |
| 15 | + <Navbar /> |
| 16 | + <Box width="100%" height="90vh"> |
| 17 | + <Outlet /> |
| 18 | + </Box> |
| 19 | + </div> |
| 20 | +); |
12 | 21 |
|
| 22 | +const PageNotFound = () => ( |
| 23 | + <Center> |
| 24 | + <Heading>404 Page does not exist!</Heading> |
| 25 | + </Center> |
| 26 | +); |
13 | 27 |
|
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 | +}; |
27 | 45 |
|
28 | 46 | export default App;
|
0 commit comments