From 06eed1e41494b4c6905cd4378b2adb574e56bbd3 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 8 Oct 2026 16:32:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix(m02):=20=EC=83=81=EC=84=B8=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99=20=EB=8B=A8=EC=B6=94=20=ED=85=8C=EB=91=90=EB=A6=AC=20?= =?UTF-8?q?=EA=BC=B4=20=E2=80=94=20=EB=88=8C=EB=A6=BC=20=EA=B8=80=EC=9D=B4?= =?UTF-8?q?=20=EC=95=88=20=EB=B3=B4=EC=9D=B4=EB=8D=98=20=EA=B2=83(105-4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X --- M02_MasterTemplete/M02_MasterTemplete_DetailNav.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/M02_MasterTemplete/M02_MasterTemplete_DetailNav.ts b/M02_MasterTemplete/M02_MasterTemplete_DetailNav.ts index ecf8d49b0..3dd81ee7d 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_DetailNav.ts +++ b/M02_MasterTemplete/M02_MasterTemplete_DetailNav.ts @@ -32,7 +32,7 @@ export interface DetailNav { export function createDetailNav(go: (kind: DetailKind) => void): DetailNav { const buttons = ITEMS.map(([kind, label]) => { - const button = createButton({ label, size: "sm", onClick: () => go(kind) }); + const button = createButton({ label, size: "sm", variant: "ghost", onClick: () => go(kind) }); button.dataset.detailNav = kind; return button; }); From 7dcb1c84dfb9f3ad35f256376566670934fc8c3a Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 8 Oct 2026 16:32:06 +0900 Subject: [PATCH 2/2] =?UTF-8?q?test(m02):=20=EA=B5=AC=EC=A1=B0=EB=AC=BC=20?= =?UTF-8?q?=ED=8C=A8=EB=84=90=20=EC=8B=9C=ED=97=98=20=EA=B8=B0=EB=8C=80?= =?UTF-8?q?=EA=B0=92=20=E2=80=94=20=EC=B9=B4=EB=93=9C=20mountStructureShee?= =?UTF-8?q?ts=20=C2=B7=20=EB=A8=B8=EB=A6=AC=20=EC=A4=84=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99=20=EB=AC=B6=EC=9D=8C(105-3=20=C2=B7=20105-4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X --- resources/tester/test_m02_structure_panel.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/resources/tester/test_m02_structure_panel.py b/resources/tester/test_m02_structure_panel.py index 0bb187110..0ebdf0d67 100644 --- a/resources/tester/test_m02_structure_panel.py +++ b/resources/tester/test_m02_structure_panel.py @@ -51,8 +51,8 @@ def test_소스가_700줄을_넘지_않음(): ), # 산출근거 저장은 컨테이너가 안 함 — [산출근거 수정] 이 여는 메인 칸 전체 편집이 함 ("M02_MasterTemplete_Api_Fetch.ts", ["saveTemplate"], MAIN), - # 도면 카드(31-4)는 카드 파일에서 뗀 `DrawingCard` 가 부름 - ("M02_MasterTemplete_Drawing.ts", ["mountDrawingTemplate"], DRAWING_CARD), + # 도면 카드(31-4)는 카드 파일에서 뗀 `DrawingCard` 가 부름 · 여러 장 탭 고르기만(105-3) + ("M02_MasterTemplete_Drawing.ts", ["mountStructureSheets"], DRAWING_CARD), ("../A00_Common/spreadsheet/spreadsheet.ts", ["createSpreadsheet"], CARDS), ], ) @@ -93,7 +93,7 @@ def test_집계표만_컨테이너를_붙임(): # 구조물 도면 저장은 `도면` · `더한장`(82-2) 칸만 갈아 끼움 — 도번 · 산출근거는 읽은 그대로 # 맨 위 연결표는 도면 표에 맞춤(41-3 `toDrawing.withLinks`) assert re.search( - r'toDrawing\.withLinks\(\{\s*\.\.\.\(loaded as StructureDoc\),\s*' + r"toDrawing\.withLinks\(\{\s*\.\.\.\(loaded as StructureDoc\),\s*" r'\.\.\.\(edited as Pick\),\s*\}\)', body, ) @@ -215,8 +215,10 @@ def test_표_도구_막대에_줄_더하기_줄_지우기_손_입력_열_없음( def test_상세_화면_돌아가기는_집계표로_그_열_고른_채(): main = _text(MAIN) - # M01 꼴 — 제목 앞(39-5) · 49-7 [?] 칸(helpSlot)이 제목 바로 뒤 - assert re.search(r"children: \[\s*back,\s*title,\s*helpSlot,\s*slot,\s*reload,\s*save,", main) + # M01 꼴 — 제목 앞(39-5) · 105-4 상세 이동 묶음(nav) · 49-7 [?] 칸(helpSlot)이 그 뒤 + assert re.search( + r"children: \[\s*back,\s*title,\s*nav\.root,\s*helpSlot,\s*slot,\s*reload,\s*save,", main + ) assert "!(sel.kind in NUMBER_FIELD)" in main # 구조물 도면 · 일위대가 · 면적산출만 body = main.split('back.addEventListener("click"')[1] assert "confirmLeave()" in body and "STRUCTURE_TABLE" in body