This commit sets up the foundational structure for the m5rcel portfolio website. It includes: - Basic Vite project configuration with React and TypeScript. - Essential dependencies like React, Framer Motion, and Lucide React. - Initial HTML structure with meta tags and Tailwind CSS setup. - Placeholder data structures for projects and timeline. - A basic loading screen component. - Updated README with local run instructions.
29 lines
796 B
TypeScript
29 lines
796 B
TypeScript
import React, { useState } from 'react';
|
|
import Navbar from './components/Navbar';
|
|
import Hero from './components/Hero';
|
|
import Projects from './components/Projects';
|
|
import About from './components/About';
|
|
import Footer from './components/Footer';
|
|
import LoadingScreen from './components/LoadingScreen';
|
|
|
|
const App: React.FC = () => {
|
|
const [isLoading, setIsLoading] = useState(true);
|
|
|
|
return (
|
|
<>
|
|
{isLoading && <LoadingScreen onComplete={() => setIsLoading(false)} />}
|
|
|
|
<div className={`min-h-screen bg-[#f2f2f2] ${isLoading ? 'hidden' : 'block'}`}>
|
|
<Navbar toggleTheme={() => {}} isDark={false} />
|
|
<main>
|
|
<Hero />
|
|
<Projects />
|
|
<About />
|
|
</main>
|
|
<Footer />
|
|
</div>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default App; |