Files
Aislo/M02_MasterTemplete/M02_MasterTemplete_UI_Side_Sangeun.ts
T
eomsangdonandClaude Opus 5.5 a64e3ca398 feat(717-2a): M02 왼쪽 맨 위 「단가산출」 칸 — 층 단추 따로(기본 개인) · 폴더 나무 · 목록표 · 상세 자리 · 대시보드 줄
- 새 UI_Side_Sangeun.ts — 서고 칸(716-4) kind sangeun · 목록표 고름 sangeunList
- 새 Sangeun_View.ts — 이름 · 단위 · 바탕 · 덮개 · 더한 줄 · 뺀 줄 · 열린 입력 요약 + 상세 자리표(717-2b 가 갈음)
- UI_Main 종류 sangeun 갈래 · 목록표 조건에 sangeun · Library_List 열 표(단가산출 = 바탕 · 고친 줄 · 쓰는 곳) · sangeunBlank(단위 식 · 바탕 없음)
- UI_Page 단가산출 층 상태 sk · UI_Side 맨 위 칸 · reveal 「단가산출」 · Layer open 「단가산출」 · Api Kind sangeun
- m_settings_nav 대시보드 마스터 템플릿 묶음 「단가산출」 줄(?open=단가산출) · locale_m2 키
- 낡은 글 대조 시험 넷 고침(197_1 · b01_settings_cards · m02_layer_screen · m02_precombo_scope) — 대시보드 줄 하나 늘고 OPENS · reveal · 목록 열 표 · 칸 차례가 바뀜

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 16:00:03 +09:00

42 lines
1.6 KiB
TypeScript

/* =============================================================================
* M02_MasterTemplete_UI_Side_Sangeun.ts
* 좌측 맨 위 「단가산출」 칸(717-2a · 요구서 4장 12) — 서고 칸(`UI_Side_Library` · 716-4)에 단가산출 몫만 줌:
* 종류 sangeun(SK-) · 그 층 목록표 고름 · 새 문서 몸 · 글. 층 단추는 페이지가 만듦(칸마다 따로 · 기본 개인).
* 문서 누름 = 편집 칸(UI_Main 종류 sangeun = `Sangeun_View`) · 켜진 층 단추 다시 누름 = 목록표(`Library_List`).
* ========================================================================== */
import { t as L } from "@ui/ui_template_locale";
import { sangeunBlank } from "./M02_MasterTemplete_Library_List";
import type { Selection } from "./M02_MasterTemplete_UI_Main";
import {
buildLibrarySection,
type LibraryHandle,
type LibraryOptions,
type LibraryScope,
} from "./M02_MasterTemplete_UI_Side_Library";
/** 그 층 목록표 고름(켜진 층 단추 다시 누름) */
export const sangeunList = (scope: LibraryScope): Selection => ({
layer: scope.layer,
owner: scope.owner,
canWrite: scope.canWrite,
projectId: null,
kind: "sangeun",
name: "",
label: L("M02_SangeunTitle"),
});
export type SangeunOptions = Pick<
LibraryOptions,
"scope" | "bar" | "confirmLeave" | "onOpen" | "getOpen"
>;
export const buildSangeunSection = (opt: SangeunOptions): LibraryHandle =>
buildLibrarySection({
...opt,
kind: "sangeun",
list: sangeunList,
blank: sangeunBlank,
text: { none: L("M02_SangeunNone"), newHere: L("M02_SangeunNewHere") },
});