From eed1bc1b6b71fde5c29201b1ef2089797da77699 Mon Sep 17 00:00:00 2001 From: "Carlos (Almeira)" Date: Thu, 26 Mar 2026 15:32:08 -0500 Subject: [PATCH] Fix: Add ID fallback for news detail route --- src/app/noticia/[slug]/page.tsx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/app/noticia/[slug]/page.tsx b/src/app/noticia/[slug]/page.tsx index a718dd4..07a4c8e 100644 --- a/src/app/noticia/[slug]/page.tsx +++ b/src/app/noticia/[slug]/page.tsx @@ -5,17 +5,25 @@ import { GlobalSidebar } from '@/components/AdWrappers'; import { Calendar, User, ArrowLeft } from 'lucide-react'; import Link from 'next/link'; -async function fetchPostData(slug: string) { +async function fetchPostData(slugOrId: string) { try { const client = await createAdminClient(); + const dbId = APPWRITE_ALMEIRA_CONFIG.databaseId; - const res = await client.databases.listDocuments(APPWRITE_ALMEIRA_CONFIG.databaseId, 'posts', [ - Query.equal('slug', slug), + // 1. Try by slug + let res = await client.databases.listDocuments(dbId, 'posts', [ + Query.equal('slug', slugOrId), Query.limit(1) ]); - if (res.documents.length === 0) return null; - return res.documents[0]; + if (res.documents.length > 0) return res.documents[0]; + + // 2. Try by $id (fallback) + try { + return await client.databases.getDocument(dbId, 'posts', slugOrId); + } catch (e) { + return null; + } } catch (e) { console.error("Post detail fetch error", e); return null;