import { useEffect } from 'react'; import { Header } from './components/Header'; import { Footer } from './components/Footer'; import { LanguageProvider } from './contexts/LanguageContext'; import { RouterProvider, useRouter } from './contexts/RouterContext'; import { Toaster } from './components/ui/sonner'; import { Home } from './components/pages/Home'; import { About } from './components/pages/About'; import { Blog } from './components/pages/Blog'; import { Careers } from './components/pages/Careers'; import { PrivacyPolicy } from './components/pages/PrivacyPolicy'; import { TermsOfService } from './components/pages/TermsOfService'; import { FAQPage } from './components/pages/FAQPage'; import { ContactPage } from './components/pages/ContactPage'; function AppContent() { const { currentPage, navigateTo } = useRouter(); const _page = window.location.hash.split('#')?.[1] ?? currentPage // Ensure hash scrolling works even after page is fully loaded useEffect(() => { // Wait for all images and resources to load if (document.readyState === 'complete') { handleHashScroll(); } else { window.addEventListener('load', handleHashScroll); return () => window.removeEventListener('load', handleHashScroll); } function handleHashScroll() { const hash = window.location.hash.replace('#', ''); if (hash) { setTimeout(() => { const element = document.getElementById(hash); if (element) { element.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }, 100); } } }, [currentPage]); useEffect(()=> { navigateTo(_page) }, []) const renderPage = () => { switch (_page) { case 'home': return ; case 'about': return ; case 'blog': return ; case 'careers': return ; case 'privacy': return ; case 'terms': return ; case 'faq': return ; case 'contact': return ; default: return ; } }; return (
{renderPage()}
); } export default function App() { return ( ); }