import SiteHeader from "@/components/home/SiteHeader"; import HeroSlider from "@/components/home/HeroSlider"; import CategoryStrip from "@/components/home/CategoryStrip"; import ProductRow from "@/components/home/ProductRow"; import LeatherBanner from "@/components/home/LeatherBanner"; import PartnerCta from "@/components/home/PartnerCta"; import FeaturesBar from "@/components/home/FeaturesBar"; import BlackCollection from "@/components/home/BlackCollection"; import AboutSection from "@/components/home/AboutSection"; import SiteFooter from "@/components/home/SiteFooter"; import { mapHomeSlots } from "@/lib/map-home-slots"; import { fetchPublicWebsiteSlots, itemsForSlot, } from "@/lib/website-slots"; import { getStorefrontCatalog } from "@/lib/products-api"; import { fetchPublicCategories, mapCategoriesToMegaTabs, resolveHomeCategoryStrip, } from "@/lib/categories-api"; export default async function HomePage() { const [slotItems, catalog, apiCategories] = await Promise.all([ fetchPublicWebsiteSlots(), getStorefrontCatalog(), fetchPublicCategories(), ]); const home = mapHomeSlots(slotItems); const saleProducts = catalog.promo1; const discountProducts = catalog.promo2; const autumnProducts = catalog.promo3; const megaTabs = mapCategoriesToMegaTabs( apiCategories, home.megaTabs.map((t) => ({ image: t.image, nameFa: t.nameFa, href: t.href, })), ); const categories = resolveHomeCategoryStrip( apiCategories, home.categories, itemsForSlot(slotItems, "category-strip").length > 0, ); return (
); }