import {
  HomeBrandsTopModelsCrop,
  HomeGalleryPreviewCrop,
  HomeHeaderHeroCrop,
  HomePartsPreviewCrop,
  HomeTestimonialsBranchesCrop,
  HomeWhyOffersCrop,
} from "@/components/home/HomeCropSections";
import { NewsPopupModal } from "@/components/home/NewsPopupModal";
import { LocalBusinessJsonLd } from "@/components/seo/LocalBusinessJsonLd";
import {
  getActiveNewsPopup,
  getActiveHomepageBanner,
  getCmsHomeBannerProductImage,
  getCmsHomeBannerScooterId,
  getBrandsPageData,
  getGalleryPageData,
  getOffersPageData,
  getPartsPageData,
  getScootersPageData,
} from "@/lib/db-data";
import { createPageMetadata } from "@/lib/seo";

export const metadata = createPageMetadata({
  title: "Bashista Auto",
  description:
    "Bashista Auto is an electric scooter showroom in Bharatpur and Kawasoti offering trusted EV brands, test rides, parts, and service.",
  path: "/",
});

export default async function HomePage() {
  const [scootersData, brandsData, partsData, offersData, galleryData, newsPopup, homepageBanner, homeBannerScooterId, homeBannerProductImage] = await Promise.all([
    getScootersPageData(),
    getBrandsPageData(),
    getPartsPageData(),
    getOffersPageData(),
    getGalleryPageData(),
    getActiveNewsPopup(),
    getActiveHomepageBanner(),
    getCmsHomeBannerScooterId(),
    getCmsHomeBannerProductImage(),
  ]);
  const scooters = scootersData.scooters;
  const brands = brandsData.brands;

  return (
    <>
      <LocalBusinessJsonLd />
      <NewsPopupModal popup={newsPopup} />
      <HomeHeaderHeroCrop brands={brands} scooters={scooters} />
      <HomeBrandsTopModelsCrop brands={brands} scooters={scooters} />
      <HomeWhyOffersCrop
        offers={offersData.offers}
        scooters={scooters}
        homepageBanner={homepageBanner}
        homeBannerScooterId={homeBannerScooterId}
        homeBannerProductImage={homeBannerProductImage}
      />
      <HomePartsPreviewCrop partCategories={partsData.partCategories} />
      <HomeGalleryPreviewCrop galleryImages={galleryData.galleryImages} />
      <HomeTestimonialsBranchesCrop branches={brandsData.branches} />
    </>
  );
}
