fix(ground): one 위치 control on the card and clearer layer labels

- The 위치 buttons duplicated the 형상 옵션 chips above the card. The chips
  stay the one place for 위치 (only the default is selectable until Q6).
- The water-level row lays out as a flex row, so its label and input do not
  overlap.
- The 연암 상면 caption sits just under the line instead of over the band label.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-26 10:41:21 +09:00
1 parent 325c841733
commit 7dd59dfc6c
2 files changed
+8 -12

No files matched your search

+6 -11
View File
@@ -17,7 +17,7 @@ import { DEFAULT_MATERIAL, FCK_MEMBERS, fyOf, GRADE_CHOICES, isAssumedMaterial,
import { buildQuantity, quantityRows, type Quantity, type QuantityLine } from './core/rebar/quantity';
import { parseDrawingRows } from './core/drawing-import';
import { groundElFor, parseGroundModel, strataRowsFor, type GroundModelFile } from './core/ground-model';
import { GROUND_POSITIONS, STRATA_NAMES } from './core/ground';
import { STRATA_NAMES } from './core/ground';
import { groundSectionSvg } from './view/ground-svg';
import { parseBearingElevationTable, parseSolplateTable, readDxfTexts } from './core/dxf-table';
import { columnDiameterIssues } from './core/column-check';
@@ -1550,19 +1550,14 @@ function renderGroundModel(box: HTMLDivElement, pier: Pier): void {
const d = pier.draft;
const wrap = el('div', undefined, 'ground-model');
wrap.appendChild(el('p', '위치', 'lbl'));
const positions = el('div', undefined, 'opts');
for (const v of GROUND_POSITIONS) {
const b = el('button', v, 'btn small');
b.type = 'button';
b.setAttribute('aria-pressed', String((d.groundPosition ?? '육상') === v));
b.addEventListener('click', () => editGround(name, 'groundPosition', v));
positions.appendChild(b);
}
wrap.appendChild(positions);
// 위치 is the 형상 옵션 of this member (the chips above the card); only the default is selectable until Q6.
wrap.appendChild(el('p', '지하수위', 'lbl'));
const water = el('div', undefined, 'ground-water');
water.style.display = 'flex';
water.style.flexWrap = 'wrap';
water.style.alignItems = 'center';
water.style.gap = '8px';
const check = el('input');
check.type = 'checkbox';
check.checked = d.groundWaterOn === true;
+2 -1
View File
@@ -38,7 +38,8 @@ export function groundSectionSvg(input: PierInput, model: PierModel): string {
parts.push(`<text x="8" y="${(top + bottom) / 2 + 4}" font-size="12" fill="#18212B">${escapeText(row.name)}</text>`);
if (row.name === SUPPORT_STRATUM) {
parts.push(`<line x1="0" y1="${top}" x2="${WIDTH}" y2="${top}" stroke="#5B4A2E" stroke-width="2"></line>`);
parts.push(`<text x="8" y="${top - 4}" font-size="12" fill="#18212B">연암층 상면 EL ${upper.toFixed(3)}</text>`);
// Caption just under the line, so it does not collide with the label of the band above.
parts.push(`<text x="8" y="${top + 14}" font-size="12" fill="#18212B">연암층 상면 EL ${upper.toFixed(3)}</text>`);
}
upper = row.bottomEl;
});