import { BranchesPreview } from "@/components/home/BranchesPreview";
import { GenuinePartsBenefits } from "@/components/parts/GenuinePartsBenefits";
import { PartRequestCTA } from "@/components/parts/PartRequestCTA";
import { PartsCategoryGrid } from "@/components/parts/PartsCategoryGrid";
import { PartsContactBanner } from "@/components/parts/PartsContactBanner";
import { PartsHero } from "@/components/parts/PartsHero";
import { PopularParts } from "@/components/parts/PopularParts";
import { ServiceSupportBanner } from "@/components/parts/ServiceSupportBanner";
import { getCmsImageControl, getCmsPageContent, getCmsPageHeroImage, getCmsPageSections, getPartsPageData } from "@/lib/db-data";
import { createPageMetadata } from "@/lib/seo";

export const metadata = createPageMetadata({
  title: "Parts & Accessories",
  description:
    "Shop genuine electric scooter parts, accessories, and service support at Bashista Auto.",
  path: "/parts",
});

export default async function PartsPage() {
  const [{ partCategories, parts, branches, scooters }, heroBackgroundImage, partsBannerImage, partsSupportImage, pageContent, pageSections] = await Promise.all([
    getPartsPageData(),
    getCmsPageHeroImage("parts", "/images/backgrounds/hero-bg-general.png"),
    getCmsImageControl("parts_banner_product_image", "/images/scooters/hero-scooter-v2.png"),
    getCmsImageControl("parts_support_image", "/images/backgrounds/hero-bg-general.png"),
    getCmsPageContent("parts", {
      heroTitle: "Genuine Parts & Accessories",
      heroSubtitle: "Parts & Accessories",
      heroDescription: "Original spare parts. Perfect performance. Complete after-sales support you can trust.",
    }),
    getCmsPageSections("parts", { section1: true, section2: true, section3: true, section4: true, section5: true, section6: true }),
  ]);

  return (
    <>
      {pageSections.section1 ? <PartsHero
        partCategories={partCategories}
        scooters={scooters}
        heroBackgroundImage={heroBackgroundImage}
        heroProductImage={partsBannerImage}
        heroTitle={pageContent.heroTitle}
        heroSubtitle={pageContent.heroSubtitle}
        heroDescription={pageContent.heroDescription}
      /> : null}
      {pageSections.section2 ? <PartsCategoryGrid partCategories={partCategories} /> : null}
      {pageSections.section3 ? <PopularParts parts={parts} /> : null}
      {pageSections.section4 ? <GenuinePartsBenefits /> : null}
      {pageSections.section5 ? <ServiceSupportBanner partCategories={partCategories} supportImage={partsSupportImage} /> : null}
      {pageSections.section6 ? <PartRequestCTA /> : null}
      {pageSections.section6 ? <PartsContactBanner /> : null}
      {pageSections.section6 ? <BranchesPreview branches={branches} /> : null}
    </>
  );
}
