From 85cd60da18bb9d1a2df91e1ad39127d8fdd06933 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 1 Oct 2026 09:15:57 +0900 Subject: [PATCH] =?UTF-8?q?feat(M01):=20=EC=89=AC=EC=9A=B4=20=EB=8B=A8?= =?UTF-8?q?=EA=B0=80=EC=82=B0=EC=B6=9C=20=EC=8B=9C=ED=97=98=20=EB=8B=A8?= =?UTF-8?q?=EC=B6=94=20+=20=EB=B9=88=20=EC=B0=BD=20=E2=80=94=20EasyCalc=20?= =?UTF-8?q?=ED=8F=B4=EB=8D=94=20=EC=8B=A0=EC=84=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt --- M01_MasterData/EasyCalc/M01_EasyCalc_Entry.ts | 33 +++++++++++++++++++ .../EasyCalc/M01_EasyCalc_Style.css | 6 ++++ M01_MasterData/M01_MasterData_UI_LogicLab.ts | 4 +++ 3 files changed, 43 insertions(+) create mode 100644 M01_MasterData/EasyCalc/M01_EasyCalc_Entry.ts create mode 100644 M01_MasterData/EasyCalc/M01_EasyCalc_Style.css diff --git a/M01_MasterData/EasyCalc/M01_EasyCalc_Entry.ts b/M01_MasterData/EasyCalc/M01_EasyCalc_Entry.ts new file mode 100644 index 000000000..b930f56cb --- /dev/null +++ b/M01_MasterData/EasyCalc/M01_EasyCalc_Entry.ts @@ -0,0 +1,33 @@ +/* ============================================================================= + * M01_EasyCalc_Entry.ts + * 쉬운 단가산출 시험 길 — 들어가는 단추 + 빈 창(틀만). 이 폴더째 지워도 됨. + * ========================================================================== */ + +import { currentLanguageIndex } from "@ui/ui_template_locale"; +import { createButton, el } from "@ui/ui_template_elements"; +import { openModal } from "@ui/ui_template_modal"; +import "./M01_EasyCalc_Style.css"; + +const TEXT = { + Open: ["쉬운 단가산출(시험)", "Easy unit-price (trial)"], + Title: ["쉬운 단가산출", "Easy unit-price"], + Ready: ["준비 중", "Coming soon"], + Close: ["닫기", "Close"], +} as const; + +const te = (key: keyof typeof TEXT): string => TEXT[key][currentLanguageIndex]; + +/** 「식으로 새로 만들기」 옆에 놓는 단추 — 누르면 빈 창 */ +export function createEasyCalcButton(): HTMLButtonElement { + return createButton({ + label: te("Open"), + variant: "filled", + onClick: () => + openModal({ + title: te("Title"), + closeLabel: te("Close"), + mount: (body) => + body.append(el("p", { className: "m01-easycalc__ready", text: te("Ready") })), + }), + }); +} diff --git a/M01_MasterData/EasyCalc/M01_EasyCalc_Style.css b/M01_MasterData/EasyCalc/M01_EasyCalc_Style.css new file mode 100644 index 000000000..767d9150d --- /dev/null +++ b/M01_MasterData/EasyCalc/M01_EasyCalc_Style.css @@ -0,0 +1,6 @@ +.m01-easycalc__ready { + margin: 0; + padding: var(--spacing-16) 0; + color: var(--color-text-muted); + font-size: var(--text-body-sm); +} diff --git a/M01_MasterData/M01_MasterData_UI_LogicLab.ts b/M01_MasterData/M01_MasterData_UI_LogicLab.ts index c0d63c847..05942c5a5 100644 --- a/M01_MasterData/M01_MasterData_UI_LogicLab.ts +++ b/M01_MasterData/M01_MasterData_UI_LogicLab.ts @@ -39,6 +39,8 @@ import { openCopyScreen } from "./M01_MasterData_UI_LogicLab_Copy"; import { tl } from "./M01_MasterData_UI_LogicLab_Text"; import { buildNewLogic } from "./M01_MasterData_UI_LogicLab_New"; import { tn } from "./M01_MasterData_UI_LogicLab_New_Text"; +// 쉬운 단가산출 시험 길 — 폴더째 지우면 이 두 줄도 지움 +import { createEasyCalcButton } from "./EasyCalc/M01_EasyCalc_Entry"; import "./M01_MasterData_UI_Logic_Style.css"; /** 저장 안 한 로직 하나 — origKey null = 새 로직 · row null = 지움 */ @@ -398,6 +400,8 @@ export async function mountM01LogicLab( el("h2", { text: tx("Title") }), pending, createButton({ label: tn("Open"), variant: "filled", onClick: startNew }), + // 쉬운 단가산출 시험 길 — 폴더째 지우면 이 두 줄도 지움 + createEasyCalcButton(), createButton({ label: tx("Bar_Delete"), variant: "danger", onClick: () => void onDelete() }), discardButton, saveButton,