// components/modales/kueModal/pages/Knotenpunkte.tsx "use client"; import React, { useEffect, useState } from "react"; declare global { interface Window { leseKnotenpunkte?: (slotIndex: number) => void; knotenData?: { nodeIDs: string[]; linkIDs: string[]; linkLengths: number[]; }; } } interface Props { slot: number; } export default function Knotenpunkte({ slot }: Props) { const [knotenNamen, setKnotenNamen] = useState(Array(10).fill("")); useEffect(() => { const slotIndex = slot; // Schritt 1: Lade kueDataX.js vom CPL (oder Mock im Dev) const script = document.createElement("script"); script.src = `/CPL?Service/kueData${slotIndex}.js`; // z. B. kueData0.js script.async = true; script.onload = () => { // Schritt 2: Lade Hilfs-Loader (dein JS zum Auslesen) const loaderScript = document.createElement("script"); loaderScript.src = "/js/knotenAuslesen.js"; loaderScript.async = true; loaderScript.onload = () => { if (typeof window.leseKnotenpunkte === "function") { window.leseKnotenpunkte(slotIndex); const knoten = window.knotenData?.nodeIDs ?? []; setKnotenNamen(knoten); } }; document.body.appendChild(loaderScript); }; document.body.appendChild(script); return () => { document.body.removeChild(script); }; }, [slot]); return (

Knotenpunkte – Slot {slot + 1}

{knotenNamen.map((value, index) => (
{ const updated = [...knotenNamen]; updated[index] = e.target.value; setKnotenNamen(updated); }} />
))}
); }