loader context added
This commit is contained in:
parent
ffdef22670
commit
545d666bf5
43
src/App.tsx
43
src/App.tsx
|
|
@ -1,6 +1,7 @@
|
|||
// Modules
|
||||
import { Routes, Route } from "react-router-dom";
|
||||
import { useState } from "react";
|
||||
import { useState, useMemo } from "react";
|
||||
import { LoaderContext } from "./context/LoaderContext";
|
||||
|
||||
// Styles
|
||||
import "./styles/style.scss";
|
||||
|
|
@ -22,27 +23,37 @@ import Calendar from "./components/global/Calendar";
|
|||
const App = () => {
|
||||
// Types
|
||||
type drop = [boolean, React.Dispatch<React.SetStateAction<boolean>>];
|
||||
type loaderType = [boolean, React.Dispatch<React.SetStateAction<boolean>>];
|
||||
|
||||
// State
|
||||
const [dropdown, setDropdown]: drop = useState(false);
|
||||
const [loader, setLoader]: loaderType = useState(false);
|
||||
|
||||
// Stack state into Memo
|
||||
const loaderValue = useMemo(
|
||||
() => ({ loader, setLoader }),
|
||||
[loader, setLoader]
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="App">
|
||||
<Nav dropdown={dropdown} setDropdown={setDropdown} />
|
||||
<div className="inner-body">
|
||||
<Routes>
|
||||
<Route path="/" element={<Main />} />
|
||||
<Route path="/news" element={<Events />} />
|
||||
<Route path="/rating" element={<Rating />} />
|
||||
<Route path="/profile" element={<Profile />} />
|
||||
<Route path="/event" element={<EventItem />} />
|
||||
<Route path="/structure" element={<Structure />} />
|
||||
<Route path="/contact" element={<Contacts />} />
|
||||
<Route path="/calendar" element={<Calendar />} />
|
||||
</Routes>
|
||||
<LoaderContext.Provider value={loaderValue}>
|
||||
<div className="App">
|
||||
<Nav dropdown={dropdown} setDropdown={setDropdown} />
|
||||
<div className="inner-body">
|
||||
<Routes>
|
||||
<Route path="/" element={<Main />} />
|
||||
<Route path="/news" element={<Events />} />
|
||||
<Route path="/rating" element={<Rating />} />
|
||||
<Route path="/profile" element={<Profile />} />
|
||||
<Route path="/event" element={<EventItem />} />
|
||||
<Route path="/structure" element={<Structure />} />
|
||||
<Route path="/contact" element={<Contacts />} />
|
||||
<Route path="/calendar" element={<Calendar />} />
|
||||
</Routes>
|
||||
</div>
|
||||
<Footer dropdown={dropdown} setDropdown={setDropdown} />
|
||||
</div>
|
||||
<Footer dropdown={dropdown} setDropdown={setDropdown} />
|
||||
</div>
|
||||
</LoaderContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue