32 lines
783 B
JavaScript
32 lines
783 B
JavaScript
import { BrowserRouter as Router, Routes, Route, useLocation } from "react-router-dom";
|
|
import { useEffect } from "react";
|
|
import Navbar from "./components/Navbar";
|
|
import Home from "./pages/Home";
|
|
import About from "./pages/About";
|
|
import Portfolio from "./pages/Portfolio";
|
|
|
|
|
|
function ScrollHandler() {
|
|
const { pathname } = useLocation();
|
|
|
|
useEffect(() => {
|
|
// tiap kali route berubah, scroll ke atas
|
|
window.scrollTo(0, 0);
|
|
}, [pathname]);
|
|
|
|
return null;
|
|
}
|
|
|
|
export default function App() {
|
|
return (
|
|
<Router>
|
|
<ScrollHandler />
|
|
<Navbar />
|
|
<Routes>
|
|
<Route path="/" element={<Home />} />
|
|
<Route path="/about" element={<About />} />
|
|
<Route path="/portofolio" element={<Portfolio />} />
|
|
</Routes>
|
|
</Router>
|
|
);
|
|
} |