feat(B03): 보관함 선택 요약·「업로드할 파일을 선택하세요」 경고 제거
사용자 지시 2건(2026-09-03). - 임시 보관함 선택 요약(「선택된 보관 자료 없음」·묶음 이름·파일 수)을 없앰. 불러온 자료는 카드가 곧바로 보여 주고, 고르기 전 상태는 [파일 업로드]가 잠긴 것으로 이미 드러남. 쓰이지 않게 된 `.b03-file__temp-summary` 규칙과 로케일 2건도 함께 제거. - 입력 컨테이너의 「업로드할 파일을 선택하세요」 경고를 띄우지 않음 — 아직 아무것도 고르지 않은 상태를 붉은 글씨로 알릴 이유가 없음. 확장자·개수·필수 슬롯 같은 나머지 사유와 [파일 업로드]를 눌렀을 때의 검사 결과는 그대로 표시. 검증: 실측 — 보관함 자리에 버튼 하나만 남음(요약 span 없음), 오류 줄 빈 문자열, 한 줄 배치 선택 518px · 보관함 210px · 업로드 102px. typecheck·prettier 통과. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -182,7 +182,10 @@ export async function renderB03FileInput(root: HTMLElement): Promise<void> {
|
|||||||
}
|
}
|
||||||
const validation = validateSlots();
|
const validation = validateSlots();
|
||||||
uploadButton.disabled = validation !== null;
|
uploadButton.disabled = validation !== null;
|
||||||
pageError.textContent = validation ?? "";
|
// 「업로드할 파일을 선택하세요」는 버튼이 잠긴 것으로 이미 드러난다 — 고르기도 전에
|
||||||
|
// 붉은 경고를 띄우지 않는다(2026-09-03 사용자 지시). 나머지 사유는 그대로 알린다.
|
||||||
|
pageError.textContent =
|
||||||
|
validation === null || validation === L("B03_File_Error_Required") ? "" : validation;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 확장자 줄 — 지금 필수인지에 따라 "· 선택" 꼬리표가 붙고 떨어진다. */
|
/** 확장자 줄 — 지금 필수인지에 따라 "· 선택" 꼬리표가 붙고 떨어진다. */
|
||||||
|
|||||||
@@ -14,17 +14,6 @@
|
|||||||
border-radius: var(--radius-cards);
|
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 {
|
.b03-file__temp-modal {
|
||||||
min-width: min(560px, 92vw);
|
min-width: min(560px, 92vw);
|
||||||
max-height: 80vh;
|
max-height: 80vh;
|
||||||
|
|||||||
@@ -46,19 +46,15 @@ export function createTempPicker(
|
|||||||
variant: "ghost",
|
variant: "ghost",
|
||||||
onClick: () => void openModal(),
|
onClick: () => void openModal(),
|
||||||
});
|
});
|
||||||
const summary = document.createElement("span");
|
// 선택 요약(「선택된 보관 자료 없음」·묶음 이름)은 두지 않는다 — 불러온 자료는 카드가
|
||||||
summary.className = "b03-file__temp-summary";
|
// 곧바로 보여 주고, 고르기 전 상태는 [파일 업로드]가 잠긴 것으로 이미 드러난다
|
||||||
summary.textContent = L("B03_Temp_None");
|
// (2026-09-03 사용자 지시).
|
||||||
root.append(openButton, summary);
|
root.append(openButton);
|
||||||
|
|
||||||
let selectedBatch: TempBatchItem | null = null;
|
let selectedBatch: TempBatchItem | null = null;
|
||||||
|
|
||||||
function applySelection(batch: TempBatchItem | null): void {
|
function applySelection(batch: TempBatchItem | null): void {
|
||||||
selectedBatch = batch;
|
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);
|
onSelected(batch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -338,8 +338,6 @@ export const ui_locales_b1 = {
|
|||||||
B03_File_Slot_CadDrawing: ["CAD 도면", "CAD Drawing"],
|
B03_File_Slot_CadDrawing: ["CAD 도면", "CAD Drawing"],
|
||||||
/* --- B03 임시 보관함 불러오기 (2026-08-08) --- */
|
/* --- B03 임시 보관함 불러오기 (2026-08-08) --- */
|
||||||
B03_Temp_Btn_Open: ["임시 보관함에서 불러오기", "Load from temporary storage"],
|
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_FileCount: ["개 파일", " files"],
|
||||||
B03_Temp_Modal_Title: ["보관 자료 선택", "Select stored files"],
|
B03_Temp_Modal_Title: ["보관 자료 선택", "Select stored files"],
|
||||||
B03_Temp_Modal_Empty: [
|
B03_Temp_Modal_Empty: [
|
||||||
|
|||||||
Reference in New Issue
Block a user