From d74eecc9f68c1d0753ee1f5431f6721b5f05a773 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 29 Sep 2026 21:58:17 +0900 Subject: [PATCH] =?UTF-8?q?fix(B06):=20=EC=88=A8=EC=9D=80=20=ED=9A=A1?= =?UTF-8?q?=EB=8B=A8=20=EB=B3=B4=EA=B8=B0=EC=9D=98=20=EC=A1=B0=EC=A0=95?= =?UTF-8?q?=EC=B0=BD=EC=9D=B4=20=EB=8B=A4=EB=A5=B8=20=EB=B3=B4=EA=B8=B0?= =?UTF-8?q?=EC=9D=98=20=EB=B0=A9=ED=96=A5=ED=82=A4=EB=A5=BC=20=EB=A8=B9?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EC=9D=8C(24-3a)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 조정창 방향키 듣기가 창이 숨은 보기에 있으면 넘김(Cross_Panel_Base · Cross_Structure_Panel 한 줄씩) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt --- B06_Section/B06_Section_UI_Cross_Panel_Base.ts | 3 ++- B06_Section/B06_Section_UI_Cross_Structure_Panel.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/B06_Section/B06_Section_UI_Cross_Panel_Base.ts b/B06_Section/B06_Section_UI_Cross_Panel_Base.ts index 017e2716..0d1fe1b6 100644 --- a/B06_Section/B06_Section_UI_Cross_Panel_Base.ts +++ b/B06_Section/B06_Section_UI_Cross_Panel_Base.ts @@ -92,7 +92,8 @@ export function bindArrowKeys( return; } const slot = ARROW_SLOT[event.key]; - if (!slot || root.classList.contains("is-hidden")) return; + // 보기가 숨었으면(한 페이지 두 보기 · 계획서 24-3a) 다른 보기의 방향키를 먹지 않는다. + if (!slot || root.classList.contains("is-hidden") || !root.getClientRects().length) return; const focus = event.target as HTMLElement | null; if (focus && (focus.tagName === "SELECT" || focus.tagName === "INPUT")) return; for (const container of containers()) { diff --git a/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts b/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts index b360e64d..e24f37fa 100644 --- a/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts +++ b/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts @@ -457,7 +457,8 @@ export function buildStructurePanel( return; } const slot = ARROW_SLOT[event.key]; - if (!slot || root.classList.contains("is-hidden")) return; + // 보기가 숨었으면(한 페이지 두 보기 · 계획서 24-3a) 다른 보기의 방향키를 먹지 않는다. + if (!slot || root.classList.contains("is-hidden") || !root.getClientRects().length) return; const focus = event.target as HTMLElement | null; if (focus && (focus.tagName === "SELECT" || focus.tagName === "INPUT")) return; for (const candidate of [basinRow, moveRow]) {