turash/bugulma/frontend/pages/LandingPage.tsx

67 lines
2.2 KiB
TypeScript

import React from 'react';
import TopBar from '@/components/layout/TopBar.tsx';
import Hero from '@/components/landing/Hero.tsx';
import Sectors from '@/components/landing/Sectors.tsx';
import LiveActivity from '@/components/landing/LiveActivity.tsx';
import AdminPanel from '@/components/landing/AdminPanel.tsx';
import Footer from '@/components/layout/Footer.tsx';
import { useLandingPage } from '@/hooks/features/useLandingPage.ts';
import AnimatedSection from '@/components/layout/AnimatedSection.tsx';
import SymbiosisDemo from '@/components/landing/SymbiosisDemo.tsx';
import HowItWorksSection from '@/components/landing/HowItWorksSection.tsx';
import HeritageSection from '@/components/landing/HeritageSection.tsx';
const LandingPage = () => {
const {
addOrgButtonRef,
onNavigateToMap,
onAddOrganizationClick,
onViewOrganization,
onNavigateToAdmin,
organizations,
searchTerm,
setSearchTerm,
onSearchSubmit,
onNavigate,
} = useLandingPage();
return (
<div className="bg-background text-foreground">
<TopBar
showSearch
searchTerm={searchTerm}
onSearchChange={setSearchTerm}
onSearchSubmit={onSearchSubmit}
/>
<main className="scroll-smooth">
<Hero
onNavigateToMap={() => onNavigateToMap()}
onAddOrganizationClick={onAddOrganizationClick}
addOrgButtonRef={addOrgButtonRef}
/>
<AnimatedSection>
<Sectors onNavigateToMap={onNavigateToMap} />
</AnimatedSection>
<AnimatedSection>
<HeritageSection onNavigate={() => onNavigate('heritage')} />
</AnimatedSection>
<AnimatedSection>
<HowItWorksSection />
</AnimatedSection>
<AnimatedSection>
<LiveActivity onViewOrganization={onViewOrganization} organizations={organizations} />
</AnimatedSection>
<AnimatedSection>
<SymbiosisDemo onNavigateToMap={() => onNavigateToMap()} />
</AnimatedSection>
<AnimatedSection>
<AdminPanel onNavigateToAdmin={onNavigateToAdmin} />
</AnimatedSection>
</main>
<Footer onNavigate={onNavigate} />
</div>
);
};
export default LandingPage;