- B01_Dashboard_UI_Legacy.ts: 세부 페이지가 다 갈아 끼워 옛 구역 · mountLegacy 지움 · 고른 회사 자리 · 상태 타입만 남김 - B01_Dashboard_UI_Views.ts: 쓰는 곳 없는 legacy 도우미 지움 - B01_Dashboard_UI_Style_Pages.css: 배지 색(549-1) · 시스템 관리 꼴(549-2) 둘 다 살림 - test_b01_settings_cards · test_309_2: 지운 옛 카드 부품 대신 settingLinks · 설계 기본값 페이지 · 사람 페이지를 읽음(낡은 시험) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
39 lines
1.5 KiB
TypeScript
39 lines
1.5 KiB
TypeScript
/* =============================================================================
|
|
* B01_Dashboard_UI_Legacy.ts
|
|
* 옛 한 페이지 대시보드에서 남은 조각 — 옛 구역은 세부 페이지(549-1 · 549-2)가 다 갈아 끼움.
|
|
* 남은 것 = 고른 회사 자리(Shell · M02) · 옛 상태 타입(Page 가 내보냄).
|
|
* ========================================================================== */
|
|
|
|
import type {
|
|
AuditLog,
|
|
CompanyInfo,
|
|
DashboardUser,
|
|
JoinRequest,
|
|
ProjectItem,
|
|
ResourceData,
|
|
} from "./B01_Dashboard_Api_Fetch";
|
|
|
|
export interface DashboardState {
|
|
user: DashboardUser;
|
|
userProjects: ProjectItem[];
|
|
companyProjects: ProjectItem[];
|
|
allProjects: ProjectItem[];
|
|
allCompanies: CompanyInfo[];
|
|
allUsers: DashboardUser[];
|
|
allJoinRequests: JoinRequest[];
|
|
auditLogs: AuditLog[];
|
|
resources: ResourceData | null;
|
|
/** 시스템 관리자가 고른 회사(29-1) — 프로젝트 · 사용자 · 가입 요청 · 회사 관리가 이 회사 것 */
|
|
adminCompanyId: number | null;
|
|
}
|
|
|
|
/** 고른 회사 id 자리 — M02 도 같은 키를 읽음(이름 바꾸지 않음) */
|
|
export const ADMIN_COMPANY_KEY = "aislo.adminCompany";
|
|
|
|
/** 고른 회사 — 저장값이 없거나 없는 회사면 자기 회사 */
|
|
export function pickAdminCompany(user: DashboardUser, companies: CompanyInfo[]): number | null {
|
|
const saved = Number(sessionStorage.getItem(ADMIN_COMPANY_KEY));
|
|
if (companies.some((c) => c.id === saved)) return saved;
|
|
return user.company_id ?? companies[0]?.id ?? null;
|
|
}
|