import { fetchData } from "../utils/fetchData"; import Carousel from "./Carousel"; import ReactMarkdown from "react-markdown"; interface ContentSectionProps { collection: string; // Nom de la collection (projects, events, blog, etc.) slug: string; titleClass?: string; // Permet de modifier le style du titre contentClass?: string; // Permet de modifier le style du contenu } export default async function ContentSection({ collection, slug, titleClass, contentClass }: ContentSectionProps) { const data = await fetchData(collection, slug); if (!data) { return
Contenu introuvable.
; } const { name, Resum: richText, picture, link, linkText } = data; // Transformer les images de Strapi en format attendu par le carrousel const images = picture?.map((img: any) => ({ url: `http://localhost:1337${img?.formats?.large?.url || img?.url}`, alt: img.name || "Image", })) || []; return (

{name}

{/* Carrousel réutilisable */} {/* Contenu en Markdown */}
{richText}
{/* Lien externe */} {link && (
{linkText || "Voir plus/lien externe"}
)}
); }