diff --git a/frontend/src/app/[locale]/page.tsx b/frontend/src/app/[locale]/page.tsx index b4b9cc7..63f174a 100644 --- a/frontend/src/app/[locale]/page.tsx +++ b/frontend/src/app/[locale]/page.tsx @@ -11,6 +11,8 @@ type PortfolioProject = { category: string; coverImage: string | null; galleryImages: string[]; + status: string; + createdAt?: string; }; type FallbackProject = { @@ -112,7 +114,7 @@ export default function Home() { const fetchProjects = async () => { try { - const response = await fetch('/api/projects?status=published&take=3', { + const response = await fetch('/api/projects', { method: 'GET', cache: 'no-store', credentials: 'same-origin', @@ -126,7 +128,16 @@ export default function Home() { const data = await response.json(); if (isMounted && Array.isArray(data)) { - setLatestProjects(data); + const publishedProjects = data + .filter((project: PortfolioProject) => project.status !== 'Rascunho') + .sort((a, b) => { + const dateA = a.createdAt ? new Date(a.createdAt).getTime() : 0; + const dateB = b.createdAt ? new Date(b.createdAt).getTime() : 0; + return dateB - dateA; + }) + .slice(0, 3); + + setLatestProjects(publishedProjects); } } catch (err) { if ((err as Error).name !== 'AbortError') { diff --git a/frontend/src/app/[locale]/projetos/page.tsx b/frontend/src/app/[locale]/projetos/page.tsx index d742c63..c3b7196 100644 --- a/frontend/src/app/[locale]/projetos/page.tsx +++ b/frontend/src/app/[locale]/projetos/page.tsx @@ -14,6 +14,7 @@ interface Project { status: string; client: string | null; completionDate: string | null; + createdAt?: string; } const FALLBACK_IMAGE = "https://images.unsplash.com/photo-1616401784845-180882ba9ba8?q=80&w=2070&auto=format&fit=crop"; @@ -31,7 +32,7 @@ export default function ProjetosPage() { const fetchProjects = async () => { try { - const response = await fetch('/api/projects?status=published', { + const response = await fetch('/api/projects', { method: 'GET', cache: 'no-store', credentials: 'same-origin', @@ -45,7 +46,15 @@ export default function ProjetosPage() { const data = await response.json(); if (isMounted && Array.isArray(data)) { - setProjects(data); + const publishedProjects = (data as Project[]) + .filter((project) => project.status !== 'Rascunho') + .sort((a, b) => { + const dateA = a.createdAt ? new Date(a.createdAt).getTime() : 0; + const dateB = b.createdAt ? new Date(b.createdAt).getTime() : 0; + return dateB - dateA; + }); + + setProjects(publishedProjects); } } catch (err) { if ((err as Error).name !== 'AbortError') {