From d20208bda6a8a25ae40cdd0a08b645c1095adf1c Mon Sep 17 00:00:00 2001 From: Codeman maintainer Date: Sun, 18 Oct 2026 09:27:23 +0200 Subject: [PATCH] fix(story-mode): Escape closes a file preview opened from a panel first Codeman's file preview has no Escape of its own outside the folder grid, so with Story Mode on top it stayed open and blocked the page. While Story Mode is open, Escape now closes one layer per press: the preview, then the drawer, then the overlay. A folder grid and a preview in edit mode keep their own keys. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/web/CLAUDE.md | 2 +- src/web/public/story-mode.js | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/web/CLAUDE.md b/src/web/CLAUDE.md index 828f0b96..91277c9a 100644 --- a/src/web/CLAUDE.md +++ b/src/web/CLAUDE.md @@ -54,7 +54,7 @@ Frontend JS modules have `@fileoverview` with `@dependency`/`@loadorder` tags. L **Settings surface** (`#appSettingsModal` + `#sessionOptionsModal` + `#createCaseModal`): one `set-*` language shared through a single `:is(...)` id scope in styles.css. App Settings' rail is a table of contents over ONE scrolling document (`switchSettingsTab` scrolls); Session Options and Add Case really switch (`switchOptionsTab` / `switchCaseModalTab`), and their larger per-modal size blocks are the design, not drift. ⚠️ **The load/save contract is `getElementById` by id**: renaming or dropping a control id silently stops it loading or saving. ⚠️ The Session Options "Session" entry still keys off `context` (label-only rename). ⚠️ Add Case keeps its legacy `.form-row` markup via an adapter; every `
` there needs `.set-adv-chev` plus both marker suppressions. ⚠️ Model cards and the effort segment are views over hidden `