Update landing page and ground link features
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
1 parent
a5cc458252
commit
7efe9097ce
28 files changed
+928
-120
No files matched your search
@@ -50,7 +50,7 @@ export interface ColumnInput {
|
||||
export function columnInputFor(model: PierModel, base: ColumnInput = COLUMN_P1): ColumnInput {
|
||||
const col = model.columns[0];
|
||||
const seg = model.segments.find((g) => col.s >= g.s0 - 1e-9 && col.s <= g.s1 + 1e-9) ?? model.segments[0];
|
||||
const Hc = Math.round((model.levelBottom - model.footings[0].top) * 1000 * 10) / 10;
|
||||
const Hc = Math.round((model.levelBottom - (model.footings[0]?.top ?? col.bottom)) * 1000 * 10) / 10;
|
||||
const hcop = Math.round((seg.top - model.levelBottom) * 1000 * 10) / 10;
|
||||
// C3 (상면 3단) = the lowest coping top −127 (C1 cover) −2·s_lay (상면 주철근 단 간격 input); P1 was 43.170 at 57.2.
|
||||
// P1 top = C3 − 100 (계산 2026-10-23), so e_P1 = step top − (C3 − 0.1) = 485 on P1.
|
||||
|
||||
+7
-1
@@ -557,6 +557,7 @@ function renderHeader(): void {
|
||||
if (state.project.bridge) parts.push(state.project.bridge);
|
||||
parts.push(`교각 ${state.piers.length}기`);
|
||||
$('project-line').textContent = parts.join(' · ');
|
||||
$('project-line').title = parts.join(' · ');
|
||||
$('step1-status').textContent = pier?.model ? '생성됨' : '미생성';
|
||||
$('step-drawing-status').textContent = pier?.model ? '가능' : '형상 필요';
|
||||
renderSaveStatus();
|
||||
@@ -2599,7 +2600,12 @@ function renderGroundModel(box: HTMLDivElement, pier: Pier): void {
|
||||
importInput.value = '';
|
||||
}
|
||||
});
|
||||
const importLabel = el('label', '지반 모델 파일 불러오기 (json)');
|
||||
const groundLaunch = el('button', '지반 모델 파일 불러오기 · 지반 생성 프로그램');
|
||||
groundLaunch.type = 'button';groundLaunch.className = 'btn';
|
||||
groundLaunch.addEventListener('click', () => window.dispatchEvent(new Event('pierzainer:open-ground')));
|
||||
wrap.appendChild(groundLaunch);
|
||||
const linkStatus = el('p', '현재 Excel을 사용하여 종평면도에서 지반을 생성합니다.', 'muted small');linkStatus.id='ground-link-status';wrap.appendChild(linkStatus);
|
||||
const importLabel = el('label', '기존 지반 JSON 직접 불러오기');
|
||||
importLabel.appendChild(importInput);
|
||||
wrap.appendChild(importLabel);
|
||||
|
||||
|
||||
@@ -606,6 +606,21 @@ body { background: #eef1f4; font-family: 'Noto Sans KR', system-ui, sans-serif;
|
||||
.top .brand strong { font-size: 18px; letter-spacing: 0.01em; }
|
||||
.top .brand > span:not(.proj) { font-size: 12px; color: #b8c2ce; }
|
||||
.proj { padding-left: 14px; border-left: 1px solid #33404f; color: #ffffff; font-size: 13px; font-weight: 700; }
|
||||
.top { flex-wrap: nowrap; }
|
||||
.top .brand { flex: 1 1 0; min-width: 0; align-items: center; }
|
||||
.top .brand > strong, .top .brand > span:not(.proj) { flex-shrink: 0; white-space: nowrap; }
|
||||
.top .proj { min-width: 0; overflow: hidden; overflow-wrap: anywhere; line-height: 1.5; max-height: 3em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
|
||||
.top .steps, .top .actions { flex: 0 0 auto; flex-wrap: nowrap; align-items: center; }
|
||||
.top .steps .step, .top .actions button, .top .savest { white-space: nowrap; }
|
||||
@media (max-width: 1600px) {
|
||||
.top { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
|
||||
.top .actions { grid-column: 1 / -1; justify-content: flex-end; }
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.top { grid-template-columns: minmax(0, 1fr); }
|
||||
.top .steps, .top .actions { max-width: 100%; overflow-x: auto; }
|
||||
.top .actions { justify-content: flex-start; }
|
||||
}
|
||||
.steps .step { color: #dce3ea; min-height: 44px; padding: 4px 14px; border-radius: 6px; background: transparent; border: 0; }
|
||||
.steps .step.current { background: #ffffff; color: #18212b; }
|
||||
.steps .step em { font-style: normal; color: #b8c2ce; font-size: 12px; }
|
||||
|
||||
Reference in new issue
Block a user