frontend: fix broken Settings modal and stop stealing Cmd+Q
Settings: navigation.js hides every .view:not(.tab-group) on every nav
switch, and the settings overlay card was <div class="view
settings-overlay-card">, so opening Settings showed the dimmed backdrop
with an empty card behind it. Drop the .view class; the overlay's
visibility is driven by #settings-overlay.hidden, not by the nav.
Cmd+Q: the keyboard shortcut dispatcher didn't guard for modifiers, so
pressing Cmd+Q triggered the `q` = Quick Add binding instead of quitting.
Return early on metaKey/ctrlKey/altKey (Cmd+K is handled above, before
the guard, so the palette still opens).
- Co-Authored-By
- Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 files changed,
+5 insertions,
-1 deletion
| 561 |
561 |
|
<!-- Settings Overlay (Phase 7 Tier 6: settings as modeless drawer) -->
|
| 562 |
562 |
|
<div id="settings-overlay" class="settings-overlay hidden" role="dialog" aria-modal="true" aria-labelledby="settings-overlay-title" aria-hidden="true">
|
| 563 |
563 |
|
<div class="settings-overlay-backdrop" data-act="settings.goBack" aria-hidden="true"></div>
|
| 564 |
|
- |
<div id="settings-view" class="view settings-overlay-card">
|
|
564 |
+ |
<div id="settings-view" class="settings-overlay-card">
|
| 565 |
565 |
|
<div class="settings-page-layout">
|
| 566 |
566 |
|
<nav class="settings-sidebar">
|
| 567 |
567 |
|
<button class="btn-link mb-1 settings-back" data-act="settings.goBack" aria-label="Close settings">← Close</button>
|
| 98 |
98 |
|
return;
|
| 99 |
99 |
|
}
|
| 100 |
100 |
|
|
|
101 |
+ |
// Let OS shortcuts through (Cmd+Q, Cmd+W, Cmd+H, etc). Cmd+K is
|
|
102 |
+ |
// handled above, before this guard, so it still opens the palette.
|
|
103 |
+ |
if (e.metaKey || e.ctrlKey || e.altKey) return;
|
|
104 |
+ |
|
| 101 |
105 |
|
// Handle two-key sequences
|
| 102 |
106 |
|
if (pendingKey) {
|
| 103 |
107 |
|
clearTimeout(pendingKeyTimeout);
|