diff --git a/frontend/src/components/ModulePage.jsx b/frontend/src/components/ModulePage.jsx index 8ee0e55..511ff49 100644 --- a/frontend/src/components/ModulePage.jsx +++ b/frontend/src/components/ModulePage.jsx @@ -80,6 +80,13 @@ export default function ModulePage(props) { if (fehler) return
Diese Funktion konnte nicht geladen werden.
; if (!detail) returnLade …
; + // Listen notfalls auffüllen. Eine halbe Antwort — abgeschnitten, veraltet, + // von einem Proxy verstümmelt — hat sonst die ganze Config weiß gemacht: + // `werte.some(...)` wirft, und React reisst den Baum mit. + const felder = detail.felder ?? []; + const texte = detail.texte ?? []; + const werte = detail.werte ?? []; + const missing = detail.missing ?? []; const Icon = moduleIcon(detail.id); @@ -97,7 +104,7 @@ export default function ModulePage(props) { async function werteSpeichern() { const geaendert = Object.fromEntries( Object.entries(werteEntwurf).filter(([wid, v]) => { - const jetzt = detail.werte.find((w) => w.id === wid); + const jetzt = werte.find((w) => w.id === wid); return jetzt && String(v) !== String(jetzt.value); }) ); @@ -125,7 +132,7 @@ export default function ModulePage(props) { } } - const werteOffen = detail.werte.some( + const werteOffen = werte.some( (w) => werteEntwurf[w.id] !== undefined && String(werteEntwurf[w.id]) !== String(w.value) ); @@ -159,22 +166,22 @@ export default function ModulePage(props) { - {detail.enabled && detail.missing.length > 0 && ( + {detail.enabled && missing.length > 0 && (
-