fix(esc): palette closes before the info modals it opens over
Cheatsheet open -> Ctrl+K -> Esc closed the cheatsheet UNDER the palette: the priority chain tested cheatsheet/history before cmdPalette. Palette now sits right after confirmModal (still the absolute top) in the one-surface- per-keystroke chain. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -7923,11 +7923,18 @@ async function init() {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
openCheatsheet();
|
openCheatsheet();
|
||||||
} else if (e.key === 'Escape') {
|
} else if (e.key === 'Escape') {
|
||||||
// Close in priority order: confirm first (most modal-y) then others
|
// Close in priority order: confirm first (most modal-y), then the
|
||||||
|
// palette — it OPENS OVER the info modals (Ctrl+K on top of the
|
||||||
|
// cheatsheet), so it must close before them. ONE surface per
|
||||||
|
// keystroke, topmost first.
|
||||||
if (!$('#confirmModal').classList.contains('is-hidden')) {
|
if (!$('#confirmModal').classList.contains('is-hidden')) {
|
||||||
closeConfirm(false);
|
closeConfirm(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!$('#cmdPalette').classList.contains('is-hidden')) {
|
||||||
|
closePalette();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!$('#changeMasterModal').classList.contains('is-hidden')) {
|
if (!$('#changeMasterModal').classList.contains('is-hidden')) {
|
||||||
closeChangeMasterModal();
|
closeChangeMasterModal();
|
||||||
return;
|
return;
|
||||||
@@ -7940,13 +7947,6 @@ async function init() {
|
|||||||
closeHistoryModal();
|
closeHistoryModal();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// ONE surface per keystroke, topmost first — closing several at
|
|
||||||
// once meant "Esc closes the palette AND pops the editor's
|
|
||||||
// discard prompt" (same class as the quick-search Esc bug).
|
|
||||||
if (!$('#cmdPalette').classList.contains('is-hidden')) {
|
|
||||||
closePalette();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!$('#entryModal').classList.contains('is-hidden')) {
|
if (!$('#entryModal').classList.contains('is-hidden')) {
|
||||||
closeEntryModal();
|
closeEntryModal();
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user