Files
Aislo/B01_Dashboard/B01_Dashboard_UI_View_CompanyDefaults.ts
T
eomsangdonandClaude Sonnet 5.5 7e34152de8 feat(B01): 받은 예정노선 · 임시 보관함 · 사람 · 회사 정보 · 회사 설계 기본값 세부 페이지 (549-1)
- 새 페이지 다섯(View_Assigned · Temp · People · Company · CompanyDefaults) · 등록부 다섯 줄 교체
- 표 줄 40 · 세로선 없음 · 줄 끝 ⋯ · 한글 배지 · 빈 상태 · 사람 탭 가입 요청 수 배지 · 보관함 남은 날 막대(7 일 안 빨강)
- 옛 구역 정리(Legacy · Company · AssignedPlans · TempUpload 다시 씀) · 시험 test_549 · test_546 stub 일반화

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:26:27 +09:00

38 lines
1.5 KiB
TypeScript

/* =============================================================================
* B01_Dashboard_UI_View_CompanyDefaults.ts
* 세부 페이지 「회사 설계 기본값」(549-1) — 구조물 조합 회사 층 등 M02 로 가는 설정 줄.
* 줄 규칙 = `settingLinks` 한 벌(역할로 카드 숨김 · 회사 관리자만 수정 · 그 밖은 읽기)
* ========================================================================== */
import { navigateTo } from "../A00_Common/router";
import { settingLinks } from "../A00_Common/m_settings_nav";
import { createButton } from "@ui/ui_template_elements";
import { emptyState, pageFrame, settingCard, settingRow } from "./B01_Dashboard_UI_PageKit";
import type { ViewCtx } from "./B01_Dashboard_UI_Views";
export function mountCompanyDefaults(host: HTMLElement, ctx: ViewCtx): void {
const page = pageFrame(
host,
"회사 설계 기본값",
"새 프로젝트가 처음 받는 구조물 조합 · 회사 층은 회사 관리자가 고침",
);
const links = settingLinks(ctx.me, ctx.companyId);
page.body.append(
links.length
? settingCard(
links.map((link) =>
settingRow(
link.title,
link.desc,
createButton({
label: ctx.role === "ADMIN" ? "열기 · 수정" : "열기",
variant: "ghost",
onClick: () => navigateTo(link.route, link.query),
}),
),
),
)
: emptyState({ icon: "adjustments", text: "표시할 설정이 없음" }),
);
}