"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { getApiUrl } from "../utils/getApiUrl"; import Carousel from "../components/Carousel"; // ✅ Import du carrousel export default function Page() { const [projects, setProjects] = useState([]); // ✅ Stocker les projets const apiUrl = getApiUrl(); useEffect(() => { async function fetchProjects() { console.log("🔍 API utilisée pour les projets :", apiUrl); try { const response = await fetch(`${apiUrl}/api/projects?populate=picture`); if (!response.ok) { throw new Error(`Erreur de récupération des projets : ${response.statusText}`); } const data = await response.json(); setProjects(data.data ?? []); } catch (error) { console.error("❌ Erreur lors de la récupération des projets :", error); } } fetchProjects(); }, [apiUrl]); return (
{/* Grille des projets */}
{projects.map((project) => { const pictures = project.picture ?? []; const images = pictures.map((img) => ({ url: `${apiUrl}${img.url}`, alt: img.name || "Project image", })); return (
{/* Lien vers la page de détail du projet */}
{/* ✅ Ajout du carrousel au lieu d'une image unique */} {images.length > 1 ? ( ) : ( {images[0]?.alt )}

{project.name}

{project.description}

); })}
); }