From 77887c1bf46bbf366e886ef65bdf2503e4c8e8fc Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 21 Sep 2026 19:29:51 +0900 Subject: [PATCH] =?UTF-8?q?fix(M01):=20=EC=9E=AC=EB=A3=8C=20=EC=BB=A8?= =?UTF-8?q?=ED=85=8C=EC=9D=B4=EB=84=88=EB=A5=BC=20=EB=8B=AB=EC=95=98?= =?UTF-8?q?=EB=8B=A4=20=EB=8B=A4=EC=8B=9C=20=EC=97=B4=EB=A9=B4=20=EA=B8=B0?= =?UTF-8?q?=EC=96=B5=EB=90=9C=20=EA=B1=B0=EB=A6=84=EA=B3=BC=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=EC=9D=B4=20=EC=96=B4=EA=B8=8B=EB=82=98=EB=8D=98=20?= =?UTF-8?q?=EA=B2=83=20=E2=80=94=20=EB=A7=88=EC=A7=80=EB=A7=89=20=EA=B1=B0?= =?UTF-8?q?=EB=A6=84=EC=9C=BC=EB=A1=9C=20=EB=AA=A9=EB=A1=9D=20=EB=90=98?= =?UTF-8?q?=EC=82=B4=EB=A6=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ --- M01_MasterData/M01_MasterData_UI_Side.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/M01_MasterData/M01_MasterData_UI_Side.ts b/M01_MasterData/M01_MasterData_UI_Side.ts index d2df4b16..eb9dc421 100644 --- a/M01_MasterData/M01_MasterData_UI_Side.ts +++ b/M01_MasterData/M01_MasterData_UI_Side.ts @@ -153,6 +153,8 @@ export function buildSide( const runs = new Map void>(); let restoring = false; let onPicked = (): void => {}; + /** 컨테이너별로 마지막에 고른 거름 줄 — 다시 펼칠 때 그 목록을 되살림(재료는 파일이 둘) */ + const lastRun = new Map(); const setActive = (id: string | null): void => { for (const [key, button] of buttons) button.classList.toggle("is-active", key === id); @@ -235,6 +237,7 @@ export function buildSide( /* 기억 못 해도 거름은 됨 */ } setActive(a.id); + lastRun.set(a.id.split(/[|\n]/)[0] as Group, a.id); a.onPick( sub.select.value, d, @@ -405,12 +408,12 @@ export function buildSide( onOpen({ group, file: one, sub: "", detail: "", label: L(GROUP_TITLE[group]) }); }); } - if (FILTERED.includes(group)) { + if (FILTERED.includes(group) || group === "재료") { root.querySelector(".ui-collapsible__title")?.addEventListener("click", () => { if (!root.classList.contains("is-collapsed")) return; // 닫을 때는 그대로 둠 restoring = true; try { - runs.get(`${group}|`)?.(); + runs.get(lastRun.get(group) ?? (group === "재료" ? "" : `${group}|`))?.(); } finally { restoring = false; }