fix(frontend): make Escape dismiss overlays before clearing selection
deploy / deploy (push) Successful in 18s

Escape now peels one layer at a time on the files page: an open tag
editor, pool picker, or delete confirm closes first, and only a second
Escape drops the multi-select. Selection-exit handling moves out of
SelectionBar into a single window handler on the page so precedence is
deterministic rather than dependent on window-listener fire order.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 16:04:11 +03:00
parent 9a14c50250
commit e97b7282ff
2 changed files with 14 additions and 6 deletions
@@ -8,14 +8,8 @@
}
let { onEditTags, onAddToPool, onDelete }: Props = $props();
function handleKeydown(e: KeyboardEvent) {
if (e.key === 'Escape') selectionStore.exit();
}
</script>
<svelte:window onkeydown={handleKeydown} />
<div class="bar" role="toolbar" aria-label="Selection actions">
<div class="row">
<!-- Count / deselect all -->