{item.title}
{item.kicker ?{item.kicker}
: null} {item.text ?{item.text}
: null}import type { CSSProperties } from "react"; import AboutTabs from "@/components/AboutTabs"; import BlogCarousel from "@/components/BlogCarousel"; import ContactBar from "@/components/ContactBar"; import HeroSlider from "@/components/HeroSlider"; import Reveal from "@/components/Reveal"; import SectionTitle from "@/components/SectionTitle"; import SlotImage from "@/components/SlotImage"; import SlotLink from "@/components/SlotLink"; import { blogHref, blogImage, fetchBlogs } from "@/lib/blog"; import { blogPosts, clients, products, site, slides } from "@/data/site"; import { pageMetadata } from "@/lib/seo"; import { fetchStaticImageSlots, overlaySlotImages, pickSlot, slotRatioStyle } from "@/lib/static-images"; export const metadata = pageMetadata({ title: `${site.shortName} | ${site.name}`, description: site.description, path: "/", image: "/images/slider/bg1.jpg", absolute: true, }); export default async function HomePage() { const slots = await fetchStaticImageSlots("home"); const slider = overlaySlotImages( pickSlot(slots, "slider"), slides.map((slide) => ({ id: slide.id, image: slide.image, title: slide.title, kicker: slide.kicker, })), "slider", ); const aboutImage = overlaySlotImages( pickSlot(slots, "about-us-image"), [{ id: "about", image: "/images/about/factory.jpg", title: "کارخانه صنایع کابل کمان" }], "about-us-image", ); const productItems = overlaySlotImages( pickSlot(slots, "categories"), products.map((product) => ({ id: product.id, image: product.image, title: product.title, kicker: product.titleEn, text: product.text, })), "categories", ); const clientItems = overlaySlotImages( pickSlot(slots, "partners"), clients.map((client) => ({ id: client.id, image: client.image, title: client.title, })), "partners", ); const apiBlogs = await fetchBlogs({ pageSize: 6 }); const blogFallbacks = apiBlogs.items.length ? apiBlogs.items.map((post) => ({ id: post.id, image: blogImage(post), title: post.title, text: post.abstract || undefined, href: blogHref(post), })) : blogPosts.map((post) => ({ id: post.id, image: post.image, title: post.title, kicker: post.date, text: post.text, href: blogHref(post), })); const blogItems = overlaySlotImages(pickSlot(slots, "home-blog"), blogFallbacks, "home-blog"); return ( <>
{item.kicker}
: null} {item.text ?{item.text}
: null}