// utils/loadWindowVariables.js export async function loadWindowVariables() { return new Promise((resolve, reject) => { // Überprüfen, ob die wichtigsten Variablen bereits geladen sind const requiredVars = [ "last20Messages", "deviceName", "mac1", "mac2", "ip", "subnet", "gateway", "datetime", "de", "counter", "flutter", "kueOnline", "kueID", "kueValid", "kueAlarm1", "kueAlarm2", "kueRes", "kueCableBreak", "kueGroundFault", "kueLimit1", "kueLimit2Low", "kueLimit2High", "kueDelay1", "kueLoopInterval", "kueVersion", "tdrAtten", "tdrPulse", "tdrSpeed", "tdrAmp", "tdrTrigger", "tdrLocation", "tdrActive", "kueOverflow", "kue100V", "kueResidence", "tdrLast", "kueBooting", "appVersion", ]; const missingVars = requiredVars.filter( (variable) => window[variable] === undefined ); // Wenn alle Variablen bereits vorhanden sind, auflösen und keine weiteren Skripte laden if (missingVars.length === 0) { console.log("Alle Systemvariablen sind bereits geladen."); resolve(); return; } 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}` : `/mockData/SERVICE/${src}`; script.async = true; script.onload = resolve; script.onerror = reject; document.head.appendChild(script); }); }; // Nur die fehlenden Skripte laden const scripts = [ "de.js", "kueConfig.js", "kueData.js", "kueDetailTdr.js", "Start.js", "System.js", ]; Promise.all(scripts.map(loadScript)) .then(() => { console.log("Alle Systemvariablen wurden erfolgreich geladen."); resolve(); }) .catch((error) => { console.error("Fehler beim Laden eines Skripts:", error); reject(error); }); }); }