// utils/loadWindowVariables.js export async function loadWindowVariables() { return new Promise((resolve, reject) => { const requiredVars = [ "last20Messages", "deviceName", "mac1", "mac2", "ip", "subnet", "gateway", "datetime", "ntp1", "ntp2", "ntp3", "systemZeit", "ntpTimezone", "ntpActive", "de", "counter", "flutter", "kueOnline", "kueID", "kueAlarm1", "kueAlarm2", "kueRes", "kueCableBreak", "kueGroundFault", "kueLimit1", "kueLimit2Low", "kueDelay1", "kueLoopInterval", "kueVersion", "tdrAtten", "tdrPulse", "tdrSpeed", "tdrAmp", "tdrTrigger", "tdrLocation", "tdrActive", "kueOverflow", "kueResidence", "tdrLast", "appVersion", ]; const loadScript = (src) => { return new Promise((resolve, reject) => { const script = document.createElement("script"); const environment = process.env.NEXT_PUBLIC_NODE_ENV || "production"; script.src = environment === "production" ? `/CPL?/CPL/SERVICE/${src}` : `/CPLmockData/SERVICE/${src}`; script.async = true; script.onload = resolve; script.onerror = reject; document.head.appendChild(script); }); }; const scripts = ["de.js", "kueData.js", "Start.js", "System.js"]; scripts .reduce( (promise, script) => promise.then(() => loadScript(script)), Promise.resolve() ) .then(() => { const variablesObj = requiredVars.reduce((acc, variable) => { if (window[variable] !== undefined) { acc[variable] = window[variable]; } return acc; }, {}); resolve(variablesObj); }) .catch((error) => { console.error("Fehler beim Laden eines Skripts:", error); reject(error); }); }); }