Add basic rooting

This commit is contained in:
Krosmez 2024-04-07 08:12:24 -04:00
parent 3bec953cfa
commit a43b730178
13 changed files with 85 additions and 30 deletions

View File

@ -9,6 +9,7 @@
"fs-extra": "^11.2.0", "fs-extra": "^11.2.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-router-dom": "^6.22.3",
"react-scripts": "5.0.1", "react-scripts": "5.0.1",
"web-vitals": "^2.1.4" "web-vitals": "^2.1.4"
}, },

View File

@ -1,14 +0,0 @@
import "./App.css";
import Header from "./layouts/Header";
import logo from "../src/assets/svg/logo.svg";
function App() {
return (
<>
<Header />
</>
);
}
export default App;

View File

@ -1,23 +1,25 @@
import "./styles.css"; import "./styles.css";
import { Link } from "react-router-dom";
const Navbar = ({ className, onClick, handleClose }) => { const Navbar = ({ className, onClick, handleClose }) => {
return ( return (
<nav className={`navbar ${className ? className : ""}`}> <nav className={`navbar ${className ? className : ""}`}>
<ul className="navbarList"> <ul className="navbarList">
<li className="navbarList__item"> <li className="navbarList__item">
<a className="navbar__link" href="#"> <Link className="navbar__link" to="/">
Home Home
</a> </Link>
</li> </li>
<li className="navbarList__item"> <li className="navbarList__item">
<a className="navbar__link" href="#"> <Link className="navbar__link" to="about">
About About
</a> </Link>
</li> </li>
<li className="navbarList__item"> <li className="navbarList__item">
<a className="navbar__link" href="#"> <Link className="navbar__link" to="character">
Hanzo Character Maker Hanzo Character Maker
</a> </Link>
</li> </li>
</ul> </ul>
</nav> </nav>

View File

@ -1,18 +1,22 @@
import "./index.css"; import "./index.css";
import "./app.css";
import React from "react"; import React from "react";
import ReactDOM from "react-dom/client"; import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import App from "./App"; import Root from "./pages/Root";
import reportWebVitals from "./reportWebVitals"; import reportWebVitals from "./reportWebVitals";
import { GlobalContextProvider } from "./contexts/GlobalContext"; import { GlobalContextProvider } from "./contexts/GlobalContext";
const root = ReactDOM.createRoot(document.getElementById("root")); const root = ReactDOM.createRoot(document.getElementById("root"));
root.render( root.render(
<React.StrictMode> <React.StrictMode>
<BrowserRouter>
<GlobalContextProvider> <GlobalContextProvider>
<App /> <Root />
</GlobalContextProvider> </GlobalContextProvider>
</BrowserRouter>
</React.StrictMode> </React.StrictMode>
); );

View File

@ -0,0 +1,20 @@
import "./styles.css";
import { Outlet } from "react-router-dom";
import Footer from "../Footer";
import Header from "../Header";
const BasicLayout = () => {
return (
<>
<Header />
<main className="main">
<Outlet />
</main>
<Footer />
</>
);
};
export default BasicLayout;

View File

@ -0,0 +1 @@
.main {}

View File

@ -1,7 +1,7 @@
import './styles.css'; import "./styles.css";
const Footer = () => { const Footer = () => {
return <div className="footer"></div>; return <footer className="footer"></footer>;
}; };
export default Footer; export default Footer;

11
src/pages/About/index.js Normal file
View File

@ -0,0 +1,11 @@
import "./styles.css";
import BasicLayout from "../../layouts/BasicLayout";
import Footer from "../../layouts/Footer";
import Header from "../../layouts/Header";
const About = () => {
return <div className="about">ABOUT</div>;
};
export default About;

View File

@ -0,0 +1 @@
.about {}

View File

@ -0,0 +1,7 @@
import "./styles.css";
const Character = () => {
return <div className="character">character</div>;
};
export default Character;

View File

@ -0,0 +1 @@
.character {}

View File

@ -1,7 +1,7 @@
import './styles.css'; import "./styles.css";
const Home = () => { const Home = () => {
return <div className="home"></div>; return <div className="home">home</div>;
}; };
export default Home; export default Home;

21
src/pages/Root/index.js Normal file
View File

@ -0,0 +1,21 @@
import { Route, Routes } from "react-router-dom";
import About from "../About";
import BasicLayout from "../../layouts/BasicLayout";
import Character from "../Character";
import Home from "../Home";
const Root = () => {
return (
<Routes>
<Route path="/" element={<BasicLayout />}>
<Route index element={<Home />} />
<Route path="about" element={<About />} />
<Route path="character" element={<Character />} />
<Route path="*" element={<>ERROR 404</>} />
</Route>
</Routes>
);
};
export default Root;