feat(M01): 테스트 컨테이너에 방식 B·C 잇기 + 재료 고르기 후보 API 연결

- 탭 A·B·C 모두 연결
- 방식 A 재료 고르기 단계 = GET /materials 조건 후보(조건형 요소일 때)
- 화면 계약에 /materials 한 줄

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
This commit is contained in:
2026-09-20 21:54:12 +09:00
co-authored by Claude Sonnet 5
parent 826495f199
commit be4bed801c
4 changed files with 27 additions and 3 deletions
+4 -2
View File
@@ -8,6 +8,8 @@
import { createSelectField, el, showToast } from "@ui/ui_template_elements";
import { fetchLogics } from "./M01_MasterData_UI_Logic_Api";
import { render as renderA } from "./M01_MasterData_UI_Test_A";
import { render as renderB } from "./M01_MasterData_UI_Test_B";
import { render as renderC } from "./M01_MasterData_UI_Test_C";
import { tt } from "./M01_MasterData_UI_Test_Text";
import "./M01_MasterData_UI_Test_Style.css";
@@ -31,8 +33,8 @@ type Render = (host: HTMLElement, logicKey: string) => void;
/** 방식 파일이 오면 여기 한 줄씩 잇는다 — null 은 준비 중 */
const METHODS: { id: string; label: () => string; render: Render | null }[] = [
{ id: "A", label: () => tt("Tab_A"), render: renderA },
{ id: "B", label: () => tt("Tab_B"), render: null },
{ id: "C", label: () => tt("Tab_C"), render: null },
{ id: "B", label: () => tt("Tab_B"), render: renderB },
{ id: "C", label: () => tt("Tab_C"), render: renderC },
];
export function mountM01Test(host: HTMLElement): void {