--- // Import section components import MainLayout from "@/layouts/MainLayout.astro"; import ProductTabBtn from "@components/ui/buttons/ProductTabBtn.astro"; import PrimaryCTA from "@components/ui/buttons/PrimaryCTA.astro"; import { Image } from "astro:assets"; import { getCollection } from "astro:content"; import { SITE } from "@data/constants"; // Global declaration for gsap animation library declare global { interface Window { gsap: any; } } // This gets the static paths for all the unique products export async function getStaticPaths() { const productEntries = await getCollection("products", ({ id }) => id.startsWith("fr/") ); return productEntries.map((product) => { const slugWithoutLang = product.slug.replace(/^fr\//, ""); // Remove the "fr/" prefix return { params: { lang: "fr", slug: slugWithoutLang }, props: { product }, }; }); } const { product } = Astro.props; const pageTitle: string = `${product.data.title} | ${SITE.title}`; --- {product.data.main.content} {product.data.title} {product.data.description} { product.data.tabs.map((tab, index) => ( )) } {product.data.longDescription.title} {product.data.longDescription.subTitle} { product.data.descriptionList.map((list) => ( {list.title} {list.subTitle} )) } { product.data.specificationsLeft.map((spec) => ( {spec.title} {spec.subTitle} )) } { product.data.specificationsRight ? ( {product.data.specificationsRight?.map((spec) => ( {spec.title} {spec.subTitle} ))} ) : product.data.tableData ? ( {product.data.tableData?.[0].feature?.map( (header) => ( {header} ) )} {product.data.tableData?.map((row) => // Wrap each row's content in a separate element row.description.map((rowData) => ( {/* Iterate through each cell value in the row's description array */} {rowData.map((cellValue) => ( // Render each cell value in its own element {cellValue} ))} )) )} ) : null } { product.data.blueprints.first && ( ) } { product.data.blueprints.second && ( ) }
{product.data.main.content}
{product.data.description}
{product.data.longDescription.subTitle}
{list.subTitle}
{spec.subTitle}