import { Hero } from '@/components/sections/hero'
import { SectionErrorBoundary } from '@/components/error/section-error-boundary'
import { AdSection } from '@/components/adsense/ad-section'
import { DynamicPromoBanner } from '@/components/promotions/promo-banner'
import { FeaturedProperties } from '@/components/sections/featured-properties'
import {
  LazyVisionImageMap,
  LazyCraftsmanSection,
  LazyInteractiveMap,
  LazyPricing,
  LazyStats,
  LazyServices,
  LazyCTASection,
} from '@/components/lazy-sections'

export default function Home() {
  return (
    <>
      <SectionErrorBoundary name="Hero">
        <Hero />
      </SectionErrorBoundary>
      <DynamicPromoBanner />

      {/* Below fold — dynamically loaded */}
      <SectionErrorBoundary name="VisionImageMap">
        <LazyVisionImageMap />
      </SectionErrorBoundary>
      <AdSection slot="topBanner" />
      <SectionErrorBoundary name="Craftsmen">
        <LazyCraftsmanSection />
      </SectionErrorBoundary>
      <SectionErrorBoundary name="InteractiveMap">
        <LazyInteractiveMap />
      </SectionErrorBoundary>
      <FeaturedProperties />
      <AdSection slot="middleBanner" />
      <SectionErrorBoundary name="Pricing">
        <LazyPricing />
      </SectionErrorBoundary>
      <SectionErrorBoundary name="Stats">
        <LazyStats />
      </SectionErrorBoundary>
      <SectionErrorBoundary name="Services">
        <LazyServices />
      </SectionErrorBoundary>
      <AdSection slot="bottomBanner" />
      <SectionErrorBoundary name="CTA">
        <LazyCTASection />
      </SectionErrorBoundary>
    </>
  )
}
