diff --git a/B07_DesignDetail/B07_DesignDetail_Router.py b/B07_DesignDetail/B07_DesignDetail_Router.py index a98ee1c99..8f5494ae4 100644 --- a/B07_DesignDetail/B07_DesignDetail_Router.py +++ b/B07_DesignDetail/B07_DesignDetail_Router.py @@ -441,7 +441,7 @@ async def confirm_design_drawing( items = await asyncio.to_thread(_drawing_list, project_root, longitudinal_path) item = next((candidate for candidate in items if candidate.id == drawing_id), None) if not item: - raise FileNotFoundError("확정할 도면을 찾을 수 없습니다.") + raise FileNotFoundError("저장할 도면을 찾을 수 없습니다.") sheet = None if CROSS_SHEET_ID.fullmatch(drawing_id): plan = await asyncio.to_thread(_cross_sheet_plan, project_root, longitudinal_path) @@ -520,7 +520,7 @@ async def confirm_design_drawing( logger.exception("B07 도면 확정 실패: project_id=%s drawing_id=%s", project_id, drawing_id) return JSONResponse( status_code=500, - content={"status": "error", "message": "상세 설계 도면을 확정하지 못했습니다."}, + content={"status": "error", "message": "상세 설계 도면을 저장하지 못했습니다."}, ) diff --git a/B07_DesignDetail/B07_DesignDetail_UI_Panels.ts b/B07_DesignDetail/B07_DesignDetail_UI_Panels.ts index 5366a0934..0d74116c4 100644 --- a/B07_DesignDetail/B07_DesignDetail_UI_Panels.ts +++ b/B07_DesignDetail/B07_DesignDetail_UI_Panels.ts @@ -352,7 +352,7 @@ function infoRow(label: string, value: string): HTMLElement { } /** - * 선택 횡단도의 지반정보/계획정보를 2분할로 렌더한다 (B06 정본 값 · B07 확정은 상태만 올림). + * 선택 횡단도의 지반정보/계획정보를 2분할로 렌더한다 (B06 정본 값 · 확정 배지 없음 · 요구 343). * * **장(여러 측점을 담은 도면)에는 측점 단위 값이 없다** — 서버가 `design` 을 넘기지 * 않는데도 제목만 「측점 …」으로 달려 어느 측점 값인지 오해됐다(2026-09-03 정리). @@ -370,11 +370,7 @@ export function buildDesignInfoPanel( const stationName = document.createElement("strong"); const scopeLabel = scope === "sheet" ? L("B07_Info_Sheet") : L("B07_Info_Station"); stationName.textContent = `${scopeLabel} ${title}`; - const confirmed = design?.status === "confirmed"; - const badge = document.createElement("span"); - badge.className = `b07-info__badge${confirmed ? " b07-info__badge--confirmed" : ""}`; - badge.textContent = confirmed ? L("B07_Info_Confirmed") : L("B07_Info_Provisional"); - heading.append(stationName, badge); + heading.append(stationName); panel.append(heading); if (!design) { diff --git a/B07_DesignDetail/B07_DesignDetail_UI_Style.css b/B07_DesignDetail/B07_DesignDetail_UI_Style.css index 34b77dd09..921d02322 100644 --- a/B07_DesignDetail/B07_DesignDetail_UI_Style.css +++ b/B07_DesignDetail/B07_DesignDetail_UI_Style.css @@ -181,19 +181,6 @@ gap: var(--spacing-8); } -.b07-info__badge { - padding: 1px 6px; - font-size: 10px; - color: var(--color-primary); - background: var(--color-mist-violet); - border-radius: var(--radius-buttons); -} - -.b07-info__badge--confirmed { - color: var(--color-surface); - background: var(--color-success); -} - .b07-info__block { display: flex; flex-direction: column; diff --git a/B07_DesignDetail/openwebcad/src/commands/run-command.ts b/B07_DesignDetail/openwebcad/src/commands/run-command.ts index 41bebbe94..c57aeed9a 100644 --- a/B07_DesignDetail/openwebcad/src/commands/run-command.ts +++ b/B07_DesignDetail/openwebcad/src/commands/run-command.ts @@ -30,8 +30,8 @@ export function runCommand(command: CadCommand): string { // 확정한 도면은 읽기 전용이다 — 보는 명령만 통과시킨다. 리본·명령행·단축키가 모두 // 이 한 곳을 지나므로 여기서 한 번 막으면 새는 길이 없다 (2026-09-01 사용자 확정). if (isDrawingReadOnly() && !isViewOnlyCommand(command)) { - toast.info(`확정한 도면입니다. 고치려면 [수정]을 먼저 누르세요. (${command.label})`); - logLine(`${command.id}: 확정 도면 — 실행하지 않음`); + toast.info(`보기 전용 도면입니다. (${command.label})`); + logLine(`${command.id}: 보기 전용 — 실행하지 않음`); return ''; } if (command.needsSelection && getSelectedEntities().length === 0) { diff --git a/B07_DesignDetail/openwebcad/src/helpers/autosave.ts b/B07_DesignDetail/openwebcad/src/helpers/autosave.ts index 65e58f4ba..d39878cdf 100644 --- a/B07_DesignDetail/openwebcad/src/helpers/autosave.ts +++ b/B07_DesignDetail/openwebcad/src/helpers/autosave.ts @@ -91,7 +91,7 @@ export function clearRecovery(): void { export async function restoreRecovery(): Promise { if (isDrawingReadOnly()) { - toast.info('확정한 도면입니다. 되살리려면 [수정]을 먼저 누르세요.'); + toast.info('보기 전용 도면입니다.'); return; } const file = readRecovery(); diff --git a/B07_DesignDetail/openwebcad/src/integration/text-inplace-edit.ts b/B07_DesignDetail/openwebcad/src/integration/text-inplace-edit.ts index 80d001ca5..4ab6c3e80 100644 --- a/B07_DesignDetail/openwebcad/src/integration/text-inplace-edit.ts +++ b/B07_DesignDetail/openwebcad/src/integration/text-inplace-edit.ts @@ -205,7 +205,7 @@ export function handleTextDoubleClick(event: MouseEvent, canvas: HTMLCanvasEleme return; } if (isDrawingReadOnly()) { - toast.info('확정한 도면입니다. 고치려면 [수정]을 먼저 누르세요.'); + toast.info('보기 전용 도면입니다.'); return; } const drawController = getScreenCanvasDrawController(); diff --git a/ui_template/ui_template_locale_b2.ts b/ui_template/ui_template_locale_b2.ts index 4cada153b..288889187 100644 --- a/ui_template/ui_template_locale_b2.ts +++ b/ui_template/ui_template_locale_b2.ts @@ -535,8 +535,6 @@ export const ui_locales_b2 = { B07_Info_Ditch: ["측구규격", "Ditch spec"], B07_Info_CutArea: ["절토 단면적", "Cut area"], B07_Info_FillArea: ["성토 단면적", "Fill area"], - B07_Info_Provisional: ["잠정", "Provisional"], - B07_Info_Confirmed: ["확정", "Confirmed"], B07_Info_NoDesign: ["지반·계획 지정 데이터가 없습니다.", "No ground/plan designation data."], B07_Info_Station: ["측점", "Station"], /* 장(여러 측점을 담은 횡단 도면)은 측점 단위 지반·계획 정보를 갖지 않는다 —