From a00c7497c15afe1efbda78a1c2e46da0424408d6 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 3 Sep 2026 20:47:02 +0900 Subject: [PATCH] =?UTF-8?q?feat(B03):=20=EB=B3=B4=EA=B4=80=ED=95=A8=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=EC=9A=94=EC=95=BD=C2=B7=E3=80=8C=EC=97=85?= =?UTF-8?q?=EB=A1=9C=EB=93=9C=ED=95=A0=20=ED=8C=8C=EC=9D=BC=EC=9D=84=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=ED=95=98=EC=84=B8=EC=9A=94=E3=80=8D=20?= =?UTF-8?q?=EA=B2=BD=EA=B3=A0=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자 지시 2건(2026-09-03). - 임시 보관함 선택 요약(「선택된 보관 자료 없음」·묶음 이름·파일 수)을 없앰. 불러온 자료는 카드가 곧바로 보여 주고, 고르기 전 상태는 [파일 업로드]가 잠긴 것으로 이미 드러남. 쓰이지 않게 된 `.b03-file__temp-summary` 규칙과 로케일 2건도 함께 제거. - 입력 컨테이너의 「업로드할 파일을 선택하세요」 경고를 띄우지 않음 — 아직 아무것도 고르지 않은 상태를 붉은 글씨로 알릴 이유가 없음. 확장자·개수·필수 슬롯 같은 나머지 사유와 [파일 업로드]를 눌렀을 때의 검사 결과는 그대로 표시. 검증: 실측 — 보관함 자리에 버튼 하나만 남음(요약 span 없음), 오류 줄 빈 문자열, 한 줄 배치 선택 518px · 보관함 210px · 업로드 102px. typecheck·prettier 통과. Co-Authored-By: Claude Opus 5 (1M context) --- B03_FileInput/B03_FileInput_UI_Page.ts | 5 ++++- B03_FileInput/B03_FileInput_UI_Style_Temp.css | 11 ----------- B03_FileInput/B03_FileInput_UI_TempPicker.ts | 12 ++++-------- ui_template/ui_template_locale_b1.ts | 2 -- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/B03_FileInput/B03_FileInput_UI_Page.ts b/B03_FileInput/B03_FileInput_UI_Page.ts index 300589f4..3a95f7be 100644 --- a/B03_FileInput/B03_FileInput_UI_Page.ts +++ b/B03_FileInput/B03_FileInput_UI_Page.ts @@ -182,7 +182,10 @@ export async function renderB03FileInput(root: HTMLElement): Promise { } const validation = validateSlots(); uploadButton.disabled = validation !== null; - pageError.textContent = validation ?? ""; + // 「업로드할 파일을 선택하세요」는 버튼이 잠긴 것으로 이미 드러난다 — 고르기도 전에 + // 붉은 경고를 띄우지 않는다(2026-09-03 사용자 지시). 나머지 사유는 그대로 알린다. + pageError.textContent = + validation === null || validation === L("B03_File_Error_Required") ? "" : validation; } /** 확장자 줄 — 지금 필수인지에 따라 "· 선택" 꼬리표가 붙고 떨어진다. */ diff --git a/B03_FileInput/B03_FileInput_UI_Style_Temp.css b/B03_FileInput/B03_FileInput_UI_Style_Temp.css index 4dfc2cde..345b0ebf 100644 --- a/B03_FileInput/B03_FileInput_UI_Style_Temp.css +++ b/B03_FileInput/B03_FileInput_UI_Style_Temp.css @@ -14,17 +14,6 @@ border-radius: var(--radius-cards); } -.b03-file__temp-summary { - font-family: var(--font-body); - font-size: var(--text-caption); - color: var(--color-text-secondary); -} - -.b03-file__temp-summary.is-active { - color: var(--color-success); - font-weight: 700; -} - .b03-file__temp-modal { min-width: min(560px, 92vw); max-height: 80vh; diff --git a/B03_FileInput/B03_FileInput_UI_TempPicker.ts b/B03_FileInput/B03_FileInput_UI_TempPicker.ts index a94754dd..52d84a3c 100644 --- a/B03_FileInput/B03_FileInput_UI_TempPicker.ts +++ b/B03_FileInput/B03_FileInput_UI_TempPicker.ts @@ -46,19 +46,15 @@ export function createTempPicker( variant: "ghost", onClick: () => void openModal(), }); - const summary = document.createElement("span"); - summary.className = "b03-file__temp-summary"; - summary.textContent = L("B03_Temp_None"); - root.append(openButton, summary); + // 선택 요약(「선택된 보관 자료 없음」·묶음 이름)은 두지 않는다 — 불러온 자료는 카드가 + // 곧바로 보여 주고, 고르기 전 상태는 [파일 업로드]가 잠긴 것으로 이미 드러난다 + // (2026-09-03 사용자 지시). + root.append(openButton); let selectedBatch: TempBatchItem | null = null; function applySelection(batch: TempBatchItem | null): void { selectedBatch = batch; - summary.textContent = batch - ? `${L("B03_Temp_Selected")} ${batch.name} (${batch.files.length}${L("B03_Temp_FileCount")})` - : L("B03_Temp_None"); - summary.classList.toggle("is-active", Boolean(batch)); onSelected(batch); } diff --git a/ui_template/ui_template_locale_b1.ts b/ui_template/ui_template_locale_b1.ts index 6f54fd60..317ad7e4 100644 --- a/ui_template/ui_template_locale_b1.ts +++ b/ui_template/ui_template_locale_b1.ts @@ -338,8 +338,6 @@ export const ui_locales_b1 = { B03_File_Slot_CadDrawing: ["CAD 도면", "CAD Drawing"], /* --- B03 임시 보관함 불러오기 (2026-08-08) --- */ B03_Temp_Btn_Open: ["임시 보관함에서 불러오기", "Load from temporary storage"], - B03_Temp_None: ["선택된 보관 자료 없음", "No stored set selected"], - B03_Temp_Selected: ["선택됨:", "Selected:"], B03_Temp_FileCount: ["개 파일", " files"], B03_Temp_Modal_Title: ["보관 자료 선택", "Select stored files"], B03_Temp_Modal_Empty: [