diff --git a/js/app.js b/js/app.js index 53171d6..578ebc7 100644 --- a/js/app.js +++ b/js/app.js @@ -3850,6 +3850,14 @@ async function openSlideOver(id, opts) { } if (!isNew && !e) return; + // The editor must be visible when it opens: Settings sits ABOVE the + // slideover, so a hotkey (Ctrl+Shift+A) fired with Settings open left + // the new-entry panel hidden underneath. Close Settings — placed AFTER + // the discard guard so cancelling it keeps Settings untouched. The + // inverse (opening Settings over the editor) is deliberate and stays: + // Esc closes Settings first, then handles the editor. + if ($('#settingsPanel').classList.contains('is-open')) closeSettings(); + state.selectedId = isNew ? null : id; if (!isNew) touchEntry(id); // Templates: resolve a preset bundle of {kind, title, customFields,