From 9d3cf029c383e201d7f10d01469d11b5bdf67acd Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Sun, 7 Dec 2025 00:00:22 +0100 Subject: [PATCH] dfsf --- public/editor/bridge-core.js | 47 +++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/public/editor/bridge-core.js b/public/editor/bridge-core.js index 0bd2f80..8025dda 100644 --- a/public/editor/bridge-core.js +++ b/public/editor/bridge-core.js @@ -453,21 +453,35 @@                         try {                             log('CORE WARN', 'Führe nachrichtengesteuerten Final-Cleanup-Lauf durch (100ms).', 'orange', 'warn');                               - // 🛑 KRITISCHE KORREKTUR: Entferne das erzwungene ed.setComponents(html) - // Das Laden des Inhalts wird jetzt vom storageManager übernommen (via customFetch). - if (!ed.__contentLoaded) { - log('CONTENT', 'Erster Ladevorgang (storageManager) ist abgeschlossen.', 'orange'); + if (!ed.__contentLoaded) { + log('CONTENT', 'Verarbeite initiale Editor-Daten (postMessage).', 'orange'); - // HINWEIS: Wenn der Editor initial leer lädt (z.B. neue Vorlage), - // MUSS hier der initiale HTML-Code eingefügt werden. - // Da der storageManager aber automatisch lädt, - // sollte dieser Block nur für den Initialfall "Neu" greifen. - if (!hasJson && html && !ed.getComponents().length) { -                                    window.__GJS_IS_PARSING = true;  -                                    isParsing = true; -                                    eventCounts = {}; -                                    try { -                                        ed.setComponents(html);  + const jsonPayload = typeof data.json === 'string' ? data.json : ''; + let applied = false; + + if (jsonPayload) { + window.__GJS_IS_PARSING = true; + isParsing = true; + eventCounts = {}; + try { + const parsedState = JSON.parse(jsonPayload); + ed.loadProjectData(parsedState); + applied = true; + log('CONTENT', 'JSON-Projektzustand angewendet.', 'orange'); + } catch (e) { + log('CONTENT ERROR', `JSON loadProjectData Fehler: ${e.message}`, 'red', 'error'); + } finally { + window.__GJS_IS_PARSING = false; + isParsing = false; + } + } + + if (!applied && html && !ed.getComponents().length) { + window.__GJS_IS_PARSING = true;  + isParsing = true; + eventCounts = {}; + try { + ed.setComponents(html);                                      } catch (e) {                                         log('SET COMPONENTS FAILED', `setComponents Fehler: ${e.message}. Aufgerufene Event-Zähler: ${JSON.stringify(eventCounts)}`, 'red', 'error');                                         throw e;  @@ -478,9 +492,8 @@                                     }                                 } -                                ed.__contentLoaded = true; - -                            } + ed.__contentLoaded = true; + }                                                          // Normalisierung am Ende                             B.normalizeCategories && B.normalizeCategories(ed);