"use client"; // components/modales/kueModal/pages/Knotenpunkte.tsx import React, { useEffect, useState } from "react"; declare global { interface Window { kueNodeID?: string[]; kueLinkID?: string[]; kueLinkLength?: number[]; } } interface Props { slot: number; onClose?: () => void; } export default function Knotenpunkte({ slot }: Props) { const [knotenNamen, setKnotenNamen] = useState(Array(10).fill("")); const [linienNamen, setLinienNamen] = useState(Array(10).fill("")); const [linienLaenge, setLinienLaenge] = useState(Array(10).fill(0)); useEffect(() => { const slotIndex = slot; const isDev = typeof window !== "undefined" && window.location.hostname === "localhost"; const scriptUrl = isDev ? `/api/cpl/readKnotenpunktAPIHandler?slot=${slotIndex}` : `/CPL?/CPL/Service/kueDataKnoten/kueData${slotIndex}.js`; const script = document.createElement("script"); script.src = scriptUrl; script.async = true; script.onload = () => { setKnotenNamen(window.kueNodeID ?? []); setLinienNamen(window.kueLinkID ?? []); setLinienLaenge(window.kueLinkLength ?? []); }; script.onerror = () => { console.error("❌ Fehler beim Laden von:", scriptUrl); }; document.body.appendChild(script); return () => { document.body.removeChild(script); }; }, [slot]); return (
{/*

Knotenpunkte & Verbindungen – Slot {slot + 1}

*/} {knotenNamen.map((knoten, index) => (
{ const updated = [...knotenNamen]; updated[index] = e.target.value; setKnotenNamen(updated); }} disabled />
{index < 9 && (
↳ Verbindung: { const updated = [...linienNamen]; updated[index] = e.target.value; setLinienNamen(updated); }} disabled />
{ const updated = [...linienLaenge]; updated[index] = parseFloat(e.target.value); setLinienLaenge(updated); }} disabled /> m
)}
))}
); }