import { useEffect } from "react"; import { createPortal } from "react-dom"; import CarouselCompetences from "./CarouselCompetences"; import { getApiUrl } from "../utils/getApiUrl"; interface ImageData { url: string; name?: string; formats?: { large?: { url: string; }; }; } interface GlossaireMot { mot_clef: string; description: string; images?: ImageData[]; } interface ModalGlossaireProps { mot: GlossaireMot; onClose: () => void; } export default function ModalGlossaire({ mot, onClose }: ModalGlossaireProps) { const apiUrl = getApiUrl(); useEffect(() => { document.body.classList.add("overflow-hidden"); return () => { document.body.classList.remove("overflow-hidden"); }; }, []); const images = mot.images?.map((img) => ({ url: `${apiUrl}${img.formats?.large?.url || img.url}`, alt: img.name || "Illustration", })) || []; return createPortal(
{mot.description}
Aucune image disponible.
)}