fix(B06): 조정창 정보 표시를 항목당 한 행으로 — 관 길이/좌우/상하
- 한 줄 요약(관 길이 · 바깥 · 위) 대신 3행: 관 길이 / 좌우 / 상하(사면) - 조작 없으면 각 행에 '자동' 표기 — 행 수 고정으로 레이아웃 안정 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -101,8 +101,13 @@ export function buildStructurePanel(deps: StructurePanelDeps): StructurePanelHan
|
||||
const title = document.createElement("span");
|
||||
title.className = "b06-structure-panel__title";
|
||||
|
||||
const value = document.createElement("span");
|
||||
// 정보 표시(2026-08-22 사용자 — 항목당 한 행): 관 길이 / 좌우 / 상하.
|
||||
const value = document.createElement("div");
|
||||
value.className = "b06-structure-panel__value";
|
||||
const pipeLine = document.createElement("span");
|
||||
const lateralLine = document.createElement("span");
|
||||
const slopeLine = document.createElement("span");
|
||||
value.append(pipeLine, lateralLine, slopeLine);
|
||||
|
||||
let current: RevetKey | null = null;
|
||||
const act = (run: (key: RevetKey) => void) => () => {
|
||||
@@ -288,22 +293,22 @@ export function buildStructurePanel(deps: StructurePanelDeps): StructurePanelHan
|
||||
currentCount = extra.count;
|
||||
countValue.textContent = `${extra.count}단`;
|
||||
const adjust = deps.adjustFor(key);
|
||||
// 조작 요약 — 0이면 "자동". 좌우는 안/바깥, 상하는 위/아래로 적는다.
|
||||
const parts: string[] = [];
|
||||
if (Math.abs(adjust.x) > 1e-9) {
|
||||
parts.push(
|
||||
`${L(adjust.x > 0 ? "B06_Cross_Revet_Outward" : "B06_Cross_Revet_Inward")} ${Math.abs(adjust.x).toFixed(1)}m`,
|
||||
);
|
||||
}
|
||||
if (Math.abs(adjust.d) > 1e-9) {
|
||||
parts.push(
|
||||
`${L(adjust.d > 0 ? "B06_Cross_Revet_DirDown" : "B06_Cross_Revet_DirUp")} ${Math.abs(adjust.d).toFixed(1)}m`,
|
||||
);
|
||||
}
|
||||
const moved = parts.length ? parts.join(" · ") : L("B06_Cross_Revet_Auto");
|
||||
// 정보는 항목당 한 행(2026-08-22 사용자) — 0이면 "자동", 좌우는 안/바깥,
|
||||
// 상하는 위/아래로 적는다.
|
||||
const pipeLength = deps.pipeLengthM();
|
||||
value.textContent =
|
||||
pipeLength === null ? moved : `${L("B06_Cross_Revet_Pipe")} ${pipeLength}m · ${moved}`;
|
||||
pipeLine.classList.toggle("is-hidden", pipeLength === null);
|
||||
pipeLine.textContent =
|
||||
pipeLength === null ? "" : `${L("B06_Cross_Revet_Pipe")} ${pipeLength}m`;
|
||||
lateralLine.textContent =
|
||||
`${L("B06_Cross_Lateral_Label")} ` +
|
||||
(Math.abs(adjust.x) > 1e-9
|
||||
? `${L(adjust.x > 0 ? "B06_Cross_Revet_Outward" : "B06_Cross_Revet_Inward")} ${Math.abs(adjust.x).toFixed(1)}m`
|
||||
: L("B06_Cross_Revet_Auto"));
|
||||
slopeLine.textContent =
|
||||
`${L("B06_Cross_Slope_Label")} ` +
|
||||
(Math.abs(adjust.d) > 1e-9
|
||||
? `${L(adjust.d > 0 ? "B06_Cross_Revet_DirDown" : "B06_Cross_Revet_DirUp")} ${Math.abs(adjust.d).toFixed(1)}m`
|
||||
: L("B06_Cross_Revet_Auto"));
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -596,7 +596,14 @@
|
||||
font-weight: var(--font-weight-medium);
|
||||
}
|
||||
|
||||
.b06-structure-panel__value span.is-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.b06-structure-panel__value {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1px;
|
||||
color: var(--color-text-secondary);
|
||||
font-size: var(--text-caption);
|
||||
}
|
||||
|
||||
@@ -266,6 +266,8 @@ export const ui_locales_b2 = {
|
||||
],
|
||||
B06_Cross_Height_Label: ["높이", "Height"],
|
||||
B06_Cross_Move_Label: ["이동(좌우·사면 상하)", "Move (lateral / along slope)"],
|
||||
B06_Cross_Lateral_Label: ["좌우", "Lateral"],
|
||||
B06_Cross_Slope_Label: ["상하(사면)", "Along slope"],
|
||||
B06_Cross_Height_Minus: ["높이 −0.1m", "Height −0.1m"],
|
||||
B06_Cross_Height_Plus: ["높이 +0.1m", "Height +0.1m"],
|
||||
B06_Cross_Height_Limit: [
|
||||
|
||||
Reference in New Issue
Block a user