--- import { getCollection } from "astro:content"; import Layout from "../layouts/Layout.astro"; import Card from "../components/Card.astro"; const allHumans = await getCollection("humans"); // 1. Tri chronologique global const sortedEntries = allHumans.sort( (a, b) => new Date(b.data.date).getTime() - new Date(a.data.date).getTime(), ); // 2. Groupement par utilisateur [cite: 80] const groupedHumans = sortedEntries.reduce((acc, entry) => { const userName = entry.data.name; if (!acc[userName]) acc[userName] = []; acc[userName].push(entry); return acc; }, {}); --- ← Retour au flux Toute la Collection { Object.entries(groupedHumans).map(([userName, cards]) => ( {userName} ({cards.length} souffles) {cards.map((entry) => ( {new Date( entry.data.date, ).toLocaleDateString("fr-FR")} ))} )) }
{new Date( entry.data.date, ).toLocaleDateString("fr-FR")}