|
1 |
| -import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; |
| 1 | +import { AnimatePresence } from 'framer-motion'; |
| 2 | +import { lazy, Suspense } from 'react'; |
| 3 | +import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; |
2 | 4 | import ScrollToTop from './components/ScrollToTop';
|
3 | 5 | import AppFooter from './components/shared/AppFooter';
|
4 | 6 | import AppHeader from './components/shared/AppHeader';
|
5 | 7 | import './css/App.css';
|
6 |
| -import About from './pages/AboutMe'; |
7 |
| -import Contact from './pages/Contact.jsx'; |
8 |
| -import Home from './pages/Home'; |
9 |
| -import Projects from './pages/Projects'; |
10 |
| -import ProjectSingle from './pages/ProjectSingle.jsx'; |
11 |
| -import { AnimatePresence } from 'framer-motion'; |
12 | 8 | import UseScrollToTop from './hooks/useScrollToTop';
|
13 | 9 |
|
| 10 | +const About = lazy(() => import('./pages/AboutMe')); |
| 11 | +const Contact = lazy(() => import('./pages/Contact.jsx')); |
| 12 | +const Home = lazy(() => import('./pages/Home')); |
| 13 | +const Projects = lazy(() => import('./pages/Projects')); |
| 14 | +const ProjectSingle = lazy(() => import('./pages/ProjectSingle.jsx')); |
| 15 | + |
| 16 | + |
14 | 17 | function App() {
|
15 | 18 | return (
|
16 | 19 | <AnimatePresence>
|
17 | 20 | <div className=" bg-secondary-light dark:bg-primary-dark transition duration-300">
|
18 | 21 | <Router>
|
19 | 22 | <ScrollToTop />
|
20 | 23 | <AppHeader />
|
21 |
| - <Routes> |
22 |
| - <Route path="/" element={<Home />} /> |
23 |
| - <Route path="projects" element={<Projects />} /> |
24 |
| - <Route |
25 |
| - path="projects/single-project" |
26 |
| - element={<ProjectSingle />} |
27 |
| - /> |
| 24 | + <Suspense fallback={""}> |
| 25 | + <Routes> |
| 26 | + <Route path="/" element={<Home />} /> |
| 27 | + <Route path="projects" element={<Projects />} /> |
| 28 | + <Route |
| 29 | + path="projects/single-project" |
| 30 | + element={<ProjectSingle />} |
| 31 | + /> |
28 | 32 |
|
29 |
| - <Route path="about" element={<About />} /> |
30 |
| - <Route path="contact" element={<Contact />} /> |
31 |
| - </Routes> |
| 33 | + <Route path="about" element={<About />} /> |
| 34 | + <Route path="contact" element={<Contact />} /> |
| 35 | + </Routes> |
| 36 | + </Suspense> |
32 | 37 | <AppFooter />
|
33 | 38 | </Router>
|
34 | 39 | <UseScrollToTop />
|
|
0 commit comments