diff --git a/partials/landingpage/accountsetup/settings.php b/partials/landingpage/accountsetup/settings.php index ad4b53f..e661357 100644 --- a/partials/landingpage/accountsetup/settings.php +++ b/partials/landingpage/accountsetup/settings.php @@ -218,6 +218,33 @@ require dirname(__DIR__) . '/../structure/layout_start.php';
Noch nicht gespeichert.
+ +
+

Schriftarten (optional)

+

+ Eigene Fonts vom Hoster: gib einen lokalen Schriftarten-Ordner (plus oeffentliche URL) an + oder trage direkte Font-URLs ein. Das System erstellt @font-face automatisch und zeigt die + Fonts im Editor an. +

+
+ + + +

+ Hinweis: woff2/woff ist empfohlen, ttf/otf funktioniert meist, wird aber nicht von allen Mail-Clients geladen. +

+
+
diff --git a/public/editor/bridge-core.js b/public/editor/bridge-core.js index 6082a9d..699edd8 100644 --- a/public/editor/bridge-core.js +++ b/public/editor/bridge-core.js @@ -491,14 +491,18 @@ saveBtn.style.cursor = 'pointer'; saveBtn.addEventListener('click', () => { const html = content.innerHTML; - if (component.is && component.is('text')) { - component.set && component.set('content', html); - } else if (component.components) { - component.components(html); - } - if (component.view && component.view.render) { - component.view.render(); - } + try { + if (component.components) { + component.components(html); + } + if (component.set) { + component.set('content', html); + component.trigger && component.trigger('change:content'); + } + if (component.view && component.view.render) { + component.view.render(); + } + } catch {} modal.close(); }); @@ -612,6 +616,11 @@ editor.on('component:selected', (model) => ensureTextToolbarButton(editor, model)); editor.on('component:add', (model) => ensureTextToolbarButton(editor, model)); + editor.on('component:dblclick', (model) => { + if (model && model.is && model.is('text')) { + openRichTextModal(editor, model); + } + }); }; const loadDynamicFonts = async () => {