--- import Layout from '../layouts/Layout.astro'; import ProductCard from '../components/ProductCard.astro'; import Breadcrumb from '../components/Breadcrumb.astro'; import { getProductsFromDB } from '../lib/products'; const spSize = Astro.cookies.get('sp_size')?.value || undefined; const [last3, last7, last30] = await Promise.all([ getProductsFromDB({ limit: 24, orderBy: 'newest', firstSeenAfterDays: 3, size: spSize, minShops: 1 }), getProductsFromDB({ limit: 48, orderBy: 'newest', firstSeenAfterDays: 7, size: spSize, minShops: 1 }), getProductsFromDB({ limit: 24, orderBy: 'newest', firstSeenAfterDays: 30, size: spSize, minShops: 1 }), ]); const ids3 = new Set(last3.map(p => p.id)); const last7Extra = last7.filter(p => !ids3.has(p.id)).slice(0, 24); const totalRecent = last7.length; const canonicalUrl = 'https://sneakerpicks.nl/releases'; const title = `Nieuwe sneaker releases — vers toegevoegd bij SneakerPicks`; const description = `De laatste sneaker releases in Nederland. Bekijk wat er deze week nieuw is toegevoegd aan de prijsvergelijker en vind direct de beste deal.`; const breadcrumbLd = { "@context": "https://schema.org", "@type": "BreadcrumbList", itemListElement: [ { "@type": "ListItem", position: 1, name: "Home", item: "https://sneakerpicks.nl/" }, { "@type": "ListItem", position: 2, name: "Nieuw binnen", item: canonicalUrl }, ], }; const itemListLd = last7.length > 0 ? { "@context": "https://schema.org", "@type": "ItemList", name: "Nieuwe sneaker releases", url: canonicalUrl, numberOfItems: last7.length, itemListElement: last7.slice(0, 20).map((s, i) => ({ "@type": "ListItem", position: i + 1, url: `https://sneakerpicks.nl/sneakers/${s.slug}`, name: `${s.brand} ${s.name}`, })), } : null; ---