From 0f046535a613cfc1e37cd08cfaa0a0e317547a61 Mon Sep 17 00:00:00 2001 From: Florian <45694132+flo-bit@users.noreply.github.com> Date: Thu, 7 May 2026 21:55:51 +0200 Subject: [PATCH] fix --- .../content/StandardSiteDocumentListCard/index.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib/cards/content/StandardSiteDocumentListCard/index.ts b/src/lib/cards/content/StandardSiteDocumentListCard/index.ts index 7051c28..97de96f 100644 --- a/src/lib/cards/content/StandardSiteDocumentListCard/index.ts +++ b/src/lib/cards/content/StandardSiteDocumentListCard/index.ts @@ -17,7 +17,7 @@ export const StandardSiteDocumentListCardDefinition = { loadData: async (_, { did }) => { const records = await listRecords({ did, collection: 'site.standard.document' }); - const items: BlogItem[] = []; + const itemsByHref = new Map(); const publications: Record = {}; for (const record of records) { @@ -52,15 +52,20 @@ export const StandardSiteDocumentListCardDefinition = { if (!record.value.site) continue; } - items.push({ - href: `${record.value.site}${record.value.path}`, + const href = `${record.value.site}${record.value.path}`; + const candidate: BlogItem = { + href, title: record.value.title, description: record.value.description, date: record.value.publishedAt - }); + }; + const existing = itemsByHref.get(href); + if (!existing || Date.parse(candidate.date) > Date.parse(existing.date)) { + itemsByHref.set(href, candidate); + } } - return items.toSorted((a, b) => Date.parse(b.date) - Date.parse(a.date)); + return [...itemsByHref.values()].toSorted((a, b) => Date.parse(b.date) - Date.parse(a.date)); }, name: 'Blog Posts', -- 2.51.2