ydfdsf
This commit is contained in:
@@ -218,6 +218,33 @@ require dirname(__DIR__) . '/../structure/layout_start.php';
|
|||||||
</div>
|
</div>
|
||||||
<div id="setupStatus" class="text-xs text-slate-500">Noch nicht gespeichert.</div>
|
<div id="setupStatus" class="text-xs text-slate-500">Noch nicht gespeichert.</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<div class="border-t border-slate-200 pt-4">
|
||||||
|
<h4 class="text-base font-semibold mb-2">Schriftarten (optional)</h4>
|
||||||
|
<p class="text-sm text-slate-600 mb-3">
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
<div id="bridgeFontsForm" class="space-y-3">
|
||||||
|
<label class="block text-sm text-slate-600">Schriftarten-Ordner (Serverpfad, optional)
|
||||||
|
<input type="text" name="fonts_dir" class="input mt-1" placeholder="/var/www/site/public/fonts">
|
||||||
|
</label>
|
||||||
|
<label class="block text-sm text-slate-600">Oeffentliche Basis-URL zum Ordner
|
||||||
|
<input type="text" name="fonts_url_base" class="input mt-1" placeholder="https://deine-seite.de/fonts">
|
||||||
|
<p class="text-xs text-slate-500 mt-1">Wird genutzt, um die Dateien im Editor/Email zu laden.</p>
|
||||||
|
</label>
|
||||||
|
<label class="block text-sm text-slate-600">Direkte Font-URLs (eine pro Zeile, optional)
|
||||||
|
<textarea name="fonts_urls" class="input mt-1 h-28" placeholder="Family|https://deine-seite.de/fonts/MyFont.woff2"></textarea>
|
||||||
|
<p class="text-xs text-slate-500 mt-1">
|
||||||
|
Format: <code>Family|URL</code> oder nur <code>URL</code>. Erlaubte Endungen: woff2, woff, ttf, otf.
|
||||||
|
</p>
|
||||||
|
</label>
|
||||||
|
<p class="text-xs text-slate-500">
|
||||||
|
Hinweis: woff2/woff ist empfohlen, ttf/otf funktioniert meist, wird aber nicht von allen Mail-Clients geladen.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
|
||||||
|
|||||||
@@ -491,14 +491,18 @@
|
|||||||
saveBtn.style.cursor = 'pointer';
|
saveBtn.style.cursor = 'pointer';
|
||||||
saveBtn.addEventListener('click', () => {
|
saveBtn.addEventListener('click', () => {
|
||||||
const html = content.innerHTML;
|
const html = content.innerHTML;
|
||||||
if (component.is && component.is('text')) {
|
try {
|
||||||
component.set && component.set('content', html);
|
if (component.components) {
|
||||||
} else if (component.components) {
|
|
||||||
component.components(html);
|
component.components(html);
|
||||||
}
|
}
|
||||||
|
if (component.set) {
|
||||||
|
component.set('content', html);
|
||||||
|
component.trigger && component.trigger('change:content');
|
||||||
|
}
|
||||||
if (component.view && component.view.render) {
|
if (component.view && component.view.render) {
|
||||||
component.view.render();
|
component.view.render();
|
||||||
}
|
}
|
||||||
|
} catch {}
|
||||||
modal.close();
|
modal.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -612,6 +616,11 @@
|
|||||||
|
|
||||||
editor.on('component:selected', (model) => ensureTextToolbarButton(editor, model));
|
editor.on('component:selected', (model) => ensureTextToolbarButton(editor, model));
|
||||||
editor.on('component:add', (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 () => {
|
const loadDynamicFonts = async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user