fix(B06): 등록표에 extraspan 이 빠져 B06 화면이 통째로 안 뜨던 회귀

캐시·세션 일원화에서 조정창 값 8종을 옮기며 다단 구간값(`extraspan`)을 등록표에
빠뜨렸다. 표에 없는 이름을 꺼내다 예외가 나 페이지 렌더가 통째로 실패했고 화면에는
「준비 중인 페이지입니다」만 떴다(화면 확인으로 발견).

- `extraspan` 을 등록표에 넣음.
- 표에 없는 이름은 이제 **예외 대신 저장 건너뛰기** — 그 값만 안 남고 화면은 선다.
  콘솔에 한 번 알려 표에 줄을 넣게 한다.
- B06 이 키를 만들 때 쓰던 형변환을 없앰 — 앞으로 등록표에 없는 이름은 컴파일에서
  걸린다. 같은 사고가 화면까지 가지 않는다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-06 12:21:32 +09:00
co-authored by Claude Opus 5
parent 2b18c1b535
commit 1bfc9ee12c
2 changed files with 23 additions and 6 deletions
+4 -2
View File
@@ -1,6 +1,6 @@
import { CURRENT_PROJECT_ID_KEY, ROUTES } from "@config/config_frontend";
import { leaveForDashboard } from "../A00_Common/b_missing_data_guard";
import { stateKey, type StateName } from "../A00_Common/b_page_state";
import { stateKey } from "../A00_Common/b_page_state";
import { navigateTo } from "../A00_Common/router";
import { createButton, createInputField, showToast } from "@ui/ui_template_elements";
import { createWorkflowLayout } from "@ui/ui_template_workflow_layout";
@@ -401,7 +401,9 @@ export async function renderB06ProfileCross(root: HTMLElement): Promise<void> {
const stationControls = createStationControls({
// 키는 등록표(`b_page_state`)가 만든다 — 이름만 넘기면 통·범위·옛 키 이관이 따라온다.
sessionKey: (kind) => stateKey(kind as StateName, projectId, currentRouteId),
// 형변환을 두지 않는다: 등록표에 없는 이름을 쓰면 **컴파일에서** 걸린다
// (2026-09-06 `extraspan` 누락으로 B06 이 안 뜬 뒤 막음).
sessionKey: (kind) => stateKey(kind, projectId, currentRouteId),
refreshCard: (chainageM) => sectionView.refreshCard(chainageM),
detail: () => sectionDetail,
crossHalfWidth,