Axios
Dotenv
React-lazy-load-image-component
React router dom
React icons
Sass
Mui
import { Navigate, Route, Routes, useLocation } from "react-router-dom";
import Layout from "./layout/Layout";
import Home from "./pages/home/Home";
import Login from "./pages/login/Login";
import ErrorPage from "./pages/errorpage/ErrorPage";
// import { useAuthContext } from "./context/AuthContext";
function App() {
// const ProtectedRoute = ({ children }) => {
// const { user } = useAuthContext()
// if (user === null) {
// return <Navigate to="/" />;
// }
// return children;
// };
return (
<Routes>
<Route exact path="login" element={<Login />} />
<Route path="/" element={<Layout />}>
<Route index path="/" element={<Home />} />
<Route path="*" element={<ErrorPage />} />
</Route>
</Routes>
);
}
export default App;
import React, { useContext } from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import { BrowserRouter, useLocation } from "react-router-dom";
import { useLayoutEffect } from "react";
const root = ReactDOM.createRoot(document.getElementById("root"));
// scroll to top when navigate
const Wrapper = ({ children }) => {
const location = useLocation();
useLayoutEffect(() => {
document.documentElement.scrollTo(0, 0);
}, [location.pathname]);
return children
}
root.render(
<React.StrictMode>
<BrowserRouter>
<Wrapper>
<App />
</Wrapper>
</BrowserRouter>
</React.StrictMode>
);
import React, { useContext } from 'react'
import { Outlet } from 'react-router-dom'
import Header from '../components/header/Header'
import Footer from '../components/footer/Footer'
const Layout = () => {
return (
<>
<Header />
<Outlet />
<Footer />
</>
)
}
export default Layout
There are 0 Comments on this post