51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
|
|
import React, { useEffect } from 'react';
|
|
import { HashRouter as Router, Routes, Route, useLocation } from 'react-router-dom';
|
|
import Header from './components/Header';
|
|
import Hero from './components/Hero';
|
|
import Services from './components/Services';
|
|
import About from './components/About';
|
|
import Contact from './components/Contact';
|
|
import Footer from './components/Footer';
|
|
import ChatBot from './components/ChatBot';
|
|
|
|
const ScrollToTop = () => {
|
|
const { pathname } = useLocation();
|
|
useEffect(() => {
|
|
window.scrollTo(0, 0);
|
|
}, [pathname]);
|
|
return null;
|
|
};
|
|
|
|
const HomePage = () => (
|
|
<>
|
|
<Hero />
|
|
<Services />
|
|
<About />
|
|
<Contact />
|
|
</>
|
|
);
|
|
|
|
const App: React.FC = () => {
|
|
return (
|
|
<Router>
|
|
<ScrollToTop />
|
|
<div className="min-h-screen flex flex-col relative">
|
|
<Header />
|
|
<main className="flex-grow">
|
|
<Routes>
|
|
<Route path="/" element={<HomePage />} />
|
|
<Route path="/services" element={<div className="pt-24"><Services /></div>} />
|
|
<Route path="/about" element={<div className="pt-24"><About /></div>} />
|
|
<Route path="/contact" element={<div className="pt-24"><Contact /></div>} />
|
|
</Routes>
|
|
</main>
|
|
<Footer />
|
|
<ChatBot />
|
|
</div>
|
|
</Router>
|
|
);
|
|
};
|
|
|
|
export default App;
|