56 lines
3.0 KiB
Markdown
56 lines
3.0 KiB
Markdown
---
|
|
type: page-frontend
|
|
status: stable
|
|
page_id: B01_Dashboard
|
|
related_pages: ["[[B01_Dashboard/B01_backend]]", "[[B01_Dashboard/B01_api]]", "[[B01_Dashboard/B01_db]]"]
|
|
last_updated: 2026-07-12
|
|
source: 상위 프로젝트 B01_Dashboard 실 코드 직접 확인 (2026-07-12)
|
|
---
|
|
|
|
# B01_Dashboard — Frontend
|
|
|
|
## 파일과 진입점
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| `renderB01Dashboard()` | `B01_Dashboard_UI_Page.ts:81` | 사용자 역할과 회사 상태에 맞는 대시보드 렌더링 |
|
|
| `request()` | `B01_Dashboard_Api_Fetch.ts:171` | 쿠키 포함 요청과 공통 오류 처리 |
|
|
| `buildResourcePanel()` | `B01_Dashboard_UI_Resources.ts:13` | CPU·메모리·디스크 현황과 추이 차트 생성 |
|
|
| `B01_Dashboard_UI_Style.css` | `B01_Dashboard_UI_Style.css:1` | 대시보드·표·워크플로우·모달 스타일 |
|
|
|
|
## UI 권한 헬퍼
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| `canEditProject()` | `B01_Dashboard_UI_Helper.ts:3` | 프로젝트 수정 버튼 표시 판단 |
|
|
| `canDeleteProject()` | `B01_Dashboard_UI_Helper.ts:9` | SYSTEM_ADMIN 삭제 버튼 표시 판단 |
|
|
| `canAddUser()` | `B01_Dashboard_UI_Helper.ts:15` | ADMIN 이상 팀원 추가 표시 판단 |
|
|
| `canChangeRole()` | `B01_Dashboard_UI_Helper.ts:19` | SYSTEM_ADMIN 역할 변경 표시 판단 |
|
|
| `canDeleteUser()` | `B01_Dashboard_UI_Helper.ts:24` | 사용자 제거 표시 판단 |
|
|
| `canManageAutomation()` | `B01_Dashboard_UI_Helper.ts:30` | ADMIN 이상 자동화 관리 표시 판단 |
|
|
|
|
> UI 헬퍼는 표시만 제어한다. 최종 권한 검증은 백엔드가 수행한다. 상세: [[../../concepts/auth_rbac]].
|
|
|
|
## 모달
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| `openEditProjectModal()` | `B01_Dashboard_UI_Modals.ts:75` | 프로젝트 기본정보 수정 |
|
|
| `openDeleteProjectModal()` | `B01_Dashboard_UI_Modals.ts:127` | 프로젝트 삭제 확인 |
|
|
| `openEditUserModal()` | `B01_Dashboard_UI_Modals.ts:138` | 사용자 정보 수정 |
|
|
| `openChangeRoleModal()` | `B01_Dashboard_UI_Modals.ts:183` | 사용자 역할 변경 |
|
|
| `openDeleteUserModal()` | `B01_Dashboard_UI_Modals.ts:199` | 사용자 제거 확인 |
|
|
| `openCreateCompanyModal()` | `B01_Dashboard_UI_Modals.ts:210` | 회사 생성 |
|
|
| `openFindCompanyModal()` | `B01_Dashboard_UI_Modals.ts:235` | 회사 검색·가입 신청 |
|
|
| `openAddMemberModal()` | `B01_Dashboard_UI_Modals.ts:273` | 회사 팀원 추가 |
|
|
| `openAutomationModal()` | `B01_Dashboard_UI_Modals.ts:286` | 프로젝트 자동화 조회·관리 |
|
|
|
|
## 공유 자원 연결
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| 인증·역할 | `B01_Dashboard_UI_Page.ts:81` | 역할별 섹션 제어 → [[../../concepts/auth_rbac]] |
|
|
| workflow 상태 | `B01_Dashboard_Api_Fetch.ts:370` | 프로젝트 카드 단계 표시 → [[../../concepts/workflow_state]] |
|
|
| 공통 UI | `B01_Dashboard_UI_Resources.ts:2` | `createLineChart()` 사용 → [[../../concepts/ui_templates]] |
|
|
|
|
## 기술부채
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| 700줄 초과 | `B01_Dashboard_UI_Page.ts:1` | 739줄로 프로젝트 단일 파일 제한 초과; 기능별 분할 검토 필요 |
|