diff --git a/frontend/src/app/[locale]/page.tsx b/frontend/src/app/[locale]/page.tsx index fa91d47..b4b9cc7 100644 --- a/frontend/src/app/[locale]/page.tsx +++ b/frontend/src/app/[locale]/page.tsx @@ -112,12 +112,20 @@ export default function Home() { const fetchProjects = async () => { try { - const response = await fetch('/api/projects?status=published&take=3', { signal: controller.signal }); + const response = await fetch('/api/projects?status=published&take=3', { + method: 'GET', + cache: 'no-store', + credentials: 'same-origin', + signal: controller.signal, + }); + if (!response.ok) { - throw new Error('Falha ao buscar projetos mais recentes'); + throw new Error(`Falha ao buscar projetos mais recentes (status ${response.status})`); } - const data: PortfolioProject[] = await response.json(); - if (isMounted) { + + const data = await response.json(); + + if (isMounted && Array.isArray(data)) { setLatestProjects(data); } } catch (err) { diff --git a/frontend/src/app/[locale]/projetos/page.tsx b/frontend/src/app/[locale]/projetos/page.tsx index 517d02a..d742c63 100644 --- a/frontend/src/app/[locale]/projetos/page.tsx +++ b/frontend/src/app/[locale]/projetos/page.tsx @@ -31,12 +31,20 @@ export default function ProjetosPage() { const fetchProjects = async () => { try { - const response = await fetch('/api/projects?status=published', { signal: controller.signal }); + const response = await fetch('/api/projects?status=published', { + method: 'GET', + cache: 'no-store', + credentials: 'same-origin', + signal: controller.signal, + }); + if (!response.ok) { - throw new Error('Falha ao buscar projetos'); + throw new Error(`Falha ao buscar projetos (status ${response.status})`); } - const data: Project[] = await response.json(); - if (isMounted) { + + const data = await response.json(); + + if (isMounted && Array.isArray(data)) { setProjects(data); } } catch (err) {