diff --git a/app/Competences/[slug]/page.tsx b/app/Competences/[slug]/page.tsx index 609cbd8..f3d2e0b 100644 --- a/app/Competences/[slug]/page.tsx +++ b/app/Competences/[slug]/page.tsx @@ -1,9 +1,10 @@ import ContentSectionCompetencesContainer from "../../components/ContentSectionCompetencesContainer"; -export default function CompetencePage({ params }: { params: { slug: string } }) { - // Vérifie que le paramètre `slug` est bien défini +export default function CompetencePage({ params }: { params: { slug?: string } }) { + // ✅ Vérification du slug avant d'afficher le composant if (!params?.slug) { - return
Erreur lors du chargement du contenu.
; + if (!homepage) returnChargement de la page...
; const title = homepage.title ?? "Titre par défaut"; const cv = homepage.cv ?? ""; diff --git a/app/utils/fetchDataCompetences.ts b/app/utils/fetchDataCompetences.ts index 0c5ef3d..f991874 100644 --- a/app/utils/fetchDataCompetences.ts +++ b/app/utils/fetchDataCompetences.ts @@ -3,6 +3,11 @@ import { getApiUrl } from "./getApiUrl"; export async function fetchDataCompetences(collection: string, slug: string) { const apiUrl = getApiUrl(); + if (!apiUrl) { + console.error("❌ [fetchDataCompetences] URL de l'API invalide !"); + return null; + } + const query = qs.stringify({ filters: { slug: { $eq: slug } }, populate: "picture", @@ -14,11 +19,8 @@ export async function fetchDataCompetences(collection: string, slug: string) { try { const response = await fetch(fullUrl, { cache: "no-store" }); - console.log(`📡 [fetchDataCompetences] Réponse HTTP : ${response.status} ${response.statusText}`); - if (!response.ok) { - console.error(`❌ [fetchDataCompetences] Erreur HTTP ${response.status} : ${response.statusText}`); - return null; + throw new Error(`HTTP ${response.status} : ${response.statusText}`); } const data = await response.json(); @@ -32,18 +34,19 @@ export async function fetchDataCompetences(collection: string, slug: string) { export async function fetchDataGlossaire() { const apiUrl = getApiUrl(); - const fullUrl = `${apiUrl}/api/glossaires?populate=images`; + if (!apiUrl) { + console.error("❌ [fetchDataGlossaire] URL de l'API invalide !"); + return []; + } + const fullUrl = `${apiUrl}/api/glossaires?populate=images`; console.log("🔍 [fetchDataGlossaire] Requête API :", fullUrl); try { const response = await fetch(fullUrl, { cache: "no-store" }); - console.log(`📡 [fetchDataGlossaire] Réponse HTTP : ${response.status} ${response.statusText}`); - if (!response.ok) { - console.error(`❌ [fetchDataGlossaire] Erreur HTTP ${response.status} : ${response.statusText}`); - return []; + throw new Error(`HTTP ${response.status} : ${response.statusText}`); } const data = await response.json();