fix: settings modal dismiss — add close button, fix backdrop click
This commit is contained in:
@@ -1444,6 +1444,7 @@ function bindStaticEventListeners() {
|
||||
// Settings dialog bindings
|
||||
on($('settings-btn'), 'click', openSettings);
|
||||
on($('settings-btn-expanded'), 'click', openSettings);
|
||||
on($('settings-close-btn'), 'click', closeSettings);
|
||||
on($('settings-backdrop'), 'click', closeSettings);
|
||||
const settingsDialog = $('settings-dialog');
|
||||
if (settingsDialog) settingsDialog.addEventListener('cancel', closeSettings);
|
||||
|
||||
@@ -78,6 +78,10 @@
|
||||
<!-- ── Settings ─────────────────────────────────────────────────────────────────────── -->
|
||||
<div id="settings-backdrop" class="settings-backdrop hidden"></div>
|
||||
<dialog id="settings-dialog" class="settings-dialog">
|
||||
<div class="settings-dialog-header">
|
||||
<h2 class="settings-dialog-title">Settings</h2>
|
||||
<button id="settings-close-btn" class="settings-close-btn" aria-label="Close settings">×</button>
|
||||
</div>
|
||||
<div class="settings-layout">
|
||||
<nav class="settings-tabs">
|
||||
<button class="settings-tab settings-tab--active" data-tab="display">Display</button>
|
||||
|
||||
@@ -934,15 +934,51 @@ body {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.settings-dialog::backdrop {
|
||||
background: transparent;
|
||||
pointer-events: none; /* let clicks fall through to #settings-backdrop */
|
||||
}
|
||||
|
||||
.settings-dialog-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 10px 16px;
|
||||
border-bottom: 1px solid var(--border);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.settings-dialog-title {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.settings-close-btn {
|
||||
background: none;
|
||||
border: none;
|
||||
color: var(--text-muted);
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.settings-close-btn:hover {
|
||||
color: var(--text);
|
||||
background: var(--bg-surface);
|
||||
}
|
||||
|
||||
.settings-layout {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.settings-tabs {
|
||||
|
||||
Reference in New Issue
Block a user