From d5fc2e7ab80e67cea6ac203e6df5da9b13e4ccbb Mon Sep 17 00:00:00 2001 From: denshooter Date: Wed, 18 Feb 2026 16:57:42 +0100 Subject: [PATCH] fix: deduplicate photos in gallery by filename, remove duplicate setState Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/app/admin/page.tsx | 1 - src/app/page.tsx | 9 +++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index c125152..d5652b9 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -158,7 +158,6 @@ export default function AdminPage() { setRecipes(Array.isArray(recipesData) ? recipesData : []) setFamilyUploads(Array.isArray(uploadsData) ? uploadsData : []) setTimelineContributions(Array.isArray(contributionsData) ? contributionsData : []) - setTimelineContributions(Array.isArray(contributionsData) ? contributionsData : []) }, []) useEffect(() => { diff --git a/src/app/page.tsx b/src/app/page.tsx index 6993ca9..826a7ba 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -154,8 +154,13 @@ export default async function HomePage() { ) } catch {} - // Merge all photos - const allPhotos = [...photos, ...timelinePhotos, ...mediaContribPhotos] + // Merge all photos, deduplicate by filename + const seenFilenames = new Set() + const allPhotos = [...photos, ...timelinePhotos, ...mediaContribPhotos].filter(p => { + if (seenFilenames.has(p.filename)) return false + seenFilenames.add(p.filename) + return true + }) const recipes = plain( db.prepare('SELECT * FROM recipes ORDER BY sort_order, title').all()