-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.tsx
More file actions
68 lines (65 loc) · 2.24 KB
/
App.tsx
File metadata and controls
68 lines (65 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import React from 'react';
import { motion } from 'framer-motion';
import Header from './components/Header.tsx';
import Hero from './components/Hero.tsx';
import About from './components/About.tsx';
import GitHubStats from './components/GitHubStats.tsx';
import Experience from './components/Experience.tsx';
import Projects from './components/Projects.tsx';
import OpenSource from './components/OpenSource.tsx';
import Skills from './components/Skills.tsx';
import Certifications from './components/Certifications.tsx';
import Contact from './components/Contact.tsx';
import Chatbot from './components/Chatbot.tsx';
const App: React.FC = () => {
const MotionSection = ({ children, id, className }: { children: React.ReactNode, id: string, className?: string }) => (
<motion.section
id={id}
className={`py-12 px-4 sm:px-6 lg:px-8 overflow-hidden ${className || ''}`}
initial="hidden"
whileInView="visible"
viewport={{ once: true, amount: 0.2 }}
transition={{ staggerChildren: 0.2 }}
>
{children}
</motion.section>
);
return (
<div className="bg-slate-950/50 text-slate-300 relative">
<div className="relative z-10">
<Header />
<main className="container mx-auto">
<section id="home" className="min-h-screen flex flex-col justify-center items-center text-center px-4">
<Hero />
</section>
<MotionSection id="about">
<About />
</MotionSection>
<MotionSection id="github">
<GitHubStats />
</MotionSection>
<MotionSection id="experience">
<Experience />
</MotionSection>
<MotionSection id="projects">
<Projects />
</MotionSection>
<MotionSection id="opensource">
<OpenSource />
</MotionSection>
<MotionSection id="skills">
<Skills />
</MotionSection>
<MotionSection id="certifications">
<Certifications />
</MotionSection>
<MotionSection id="contact" className="min-h-screen flex flex-col justify-center">
<Contact />
</MotionSection>
</main>
<Chatbot />
</div>
</div>
);
};
export default App;