Files
nini-naderi/src/app/page.tsx
T
Alireza HassaniandCursor 051939c6e2 Tighten storefront cards and rebuild the product page.
Match carousel cards on XL, add gallery zoom/lightbox, quantity and comments, and update the sale banner slot to 2:3.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 16:19:29 +03:30

62 lines
2.2 KiB
TypeScript

import { About } from "@/components/About";
import { DualBanners, TripleBanners } from "@/components/Banners";
import { BlogCarousel } from "@/components/BlogCarousel";
import { Contact } from "@/components/Contact";
import { Faq } from "@/components/Faq";
import { FeaturedCategories } from "@/components/FeaturedCategories";
import { Features } from "@/components/Features";
import { Hero } from "@/components/Hero";
import { ProductCarousel } from "@/components/ProductCarousel";
import { SiteChrome } from "@/components/SiteChrome";
import { getSpecialProducts, listBlogs } from "@/lib/api";
import { getHomeStaticImageSlots, HOME_SLOT_KEYS, slotByKey } from "@/lib/static-images";
export default async function Home() {
const [slots, sale, top, own, blogs] = await Promise.all([
getHomeStaticImageSlots(),
getSpecialProducts("special-sale"),
getSpecialProducts("top-selling", "پرفروش"),
getSpecialProducts("nini-naderi-products", "نینی"),
listBlogs({ pageSize: 8 }),
]);
return (
<SiteChrome>
<Hero
slider={slotByKey(slots, HOME_SLOT_KEYS.slider)}
beside={slotByKey(slots, HOME_SLOT_KEYS.besideSlider)}
/>
<FeaturedCategories slot={slotByKey(slots, HOME_SLOT_KEYS.categories)} />
<Features />
<ProductCarousel
id="sale"
english="Special Sale"
title={sale.title || "فروش ویژه نینی‌ها"}
products={sale.products}
countdown
leadBanner
bannerSlot={slotByKey(slots, HOME_SLOT_KEYS.specialSale)}
/>
<DualBanners slot={slotByKey(slots, HOME_SLOT_KEYS.twoBannerRow)} />
<ProductCarousel
english="Top Selling"
title={top.title || "پرفروش‌ترین‌ها"}
products={top.products}
href="/products"
/>
<TripleBanners slot={slotByKey(slots, HOME_SLOT_KEYS.threeBannerRow)} />
<ProductCarousel
id="nini-naderi"
english="Nini Naderi"
title={own.title || "محصولات نینی نادری"}
products={own.products}
href="/products"
/>
<About slot={slotByKey(slots, HOME_SLOT_KEYS.aboutUs)} />
<BlogCarousel posts={blogs.items} />
<Faq />
<Contact />
</SiteChrome>
);
}