HBAD100_App Shell·사이드바
(Hereby) 관리자 패널 > App Shell · 사이드바
| 메타 | 앱: 관리자 패널 (App Shell)대상 사용자: 조건1 [권한 보유 역할]프로토타입: TBU관련 정책: [[POL_권한(RBAC)]]Status: reviewOwner: 카나 |
개요
App Shell은 관리자 패널의 공통 레이아웃이다. 좌측 모듈 사이드바 + 상단 글로벌 헤더로 구성되며, 우측 콘텐츠 영역에 각 화면(직원/팀/역할/병동/근태/설정 등)이 로드된다. 사이드바 항목은 권한 토큰에 따라 노출/비노출된다 (POL_권한(RBAC)). 총무 그룹의 준비중 3종(대시보드/총무/관리)은 "준비중" 배지로 표시되며 클릭 무반응이다. 급여 시트·스케줄러·경영 대시보드는 관리자 패널 내부 화면이 아니라 타 앱 embed/링크 진입점이다. 우하단에는 AI 어시스턴트 ✨ 플로팅 버튼과 채팅 런처가 별도로 상시 노출된다.
문서 히스토리
- 2026-07-06 최초 작성 - 카나/콸
- 2026-07-10 라이브 기능 검토 반영 - 카나/콸
- 2026-07-13 버튼 행동 명세 보강 - 카나/콸
- 2026-07-21 GC700 깊이 재작성 (라이브 재검증 7/20, 사이드바 전체 트리·플로팅 런처 반영) - 카나/콸
- 2026-07-21 가독성 패스 (GUIDE §7) - 카나/PM
- 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
- 2026-08-05 병원 로고 코브랜딩 표시 반영(609eb73) - 카나/PM
- 2026-08-26 LNB 심볼 슬롯 = 병원 로고 대체 반영(416d863, 라이브 실증) — 구 "심볼 × 로고" 병기 폐기 - 카나/PM
- 2026-09-04 CS 리포트 진입점(헤더 확성기 버튼·Shift+F1) 반영(#608·609 머지, 라이브 실증) + 사이드바 기타 그룹 "드라이브" 항목 신규 관찰(경영 대시보드와 설정 사이) - 카나/PM
Data I/O
Server → Client
변수
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
| 메타 | $ |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 알림 모두 읽음 | - | sdk.notification.markAllRead() (추정) | - (HBNS 연계) |
| 메뉴 이동 | route | 해당 화면 로드 | 메뉴별 권한 토큰 |
| AI 위젯 열기 | - | 패널 토글 (client) | ai:execute |
외부 통합 (embed / 링크)
| 진입 항목 | 대상 앱 | URL | 관계 |
|---|---|---|---|
| 시트 | HR 급여 관리 (HBHR) | /hr-system/sheets?embedded=1 | 직원·근태 원천 소비 embed |
| 스케줄러 | 간호 스케줄러 (HBNS) | ?embedded=1 | 병동·근무유형 원천 소비 embed |
| 경영 대시보드 | HBMD | /management-dashboard/?embedded=1 | 조직 지표 embed |
| 문서 결재 | Team Manager (TM) | /team-manager/document-management?embedded=1 | 결재 embed |
| 공지 | General Affairs (GA) | /general-affairs/notices?embedded=1 | 총무 그룹 embed |
App Shell 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | • 관리자 패널 모든 화면 공통 프레임 (인증 후 상시) | 인증 세션 | |
| 01 | 초기 상태 | - | • 직원 관리(HBAD200) 랜딩 + 사이드바 + 헤더 + 우하단 플로팅 런처 | ||
| 05 | 좌측 상단 브랜드 영역 | - | • 좌측 상단 브랜드 영역(ws-brand)에 로고 + 잠금업 2줄 텍스트("hereby Medical" / 조직명 "분당베스트병원" — 라이브 원문) - CASE01 [조직 로고 등록]: 심볼 슬롯을 병원 로고가 대체 (구 "심볼 × 로고" 병기 폐기 — 코드 반영: 416d863) - CASE02 [로고 미등록]: hereby 기본 심볼 표시 | 조직 설정 [[HBAD270_설정 (조직 설정·내 정보)]] 병원 로고 필드 · DS 잠금업 최소 높이 24→16px(7b2c43b) | 갱신 (코드 반영: 416d863 · 라이브 실증 2026-08-26: 주황 십자 로고+2줄 잠금업 확인) |
| 10 | 글로벌 헤더 | - | • 좌측 "HEREBY · 분당베스트병원" + 우측 새로고침 / 불편·기능 신고(확성기) / 알림 / 계정 | CS 진입점 추가(#608·609, 9/3 머지) | |
| ㄴ10-1 | 불편·기능 신고 | Button | • 확성기 아이콘 버튼(알림 종 왼쪽, 기본 켜짐 — 페이지에 리포트 호스트 없으면 자동 미렌더) • 클릭 시: CS 리포트 모달 오픈 — 타이틀 "불편·오류 신고"(버튼명과 상이, 라이브 원문), 현재 화면 스크린샷 자동 캡처+"다시 찍기"/"제외", 마스킹 안내 "민감한 부분은 드래그해서 가릴 수 있어요. 가린 부분은 복구되지 않아요.", 유형 세그먼트 4종 "오류/불편·개선(기본)/기능 요청/문의", "제목" 입력, "취소"/"보내기" • 전 앱 공통 단축키 Shift+F1로도 오픈 | cs_reports (공용 리포트 모달 — 신규 문서 채번 대상) | 신규(#608·609) · 라이브 실증 9/4(모달 열람만, 제출 안 함) |
| ㄴ11 | 새로고침 | Button | • 현재 화면의 데이터를 다시 불러오는 버튼 • 클릭 시: 현재 화면 데이터 재로드 | ||
| ㄴ12 | 알림 | Button | • 미읽음 알림 배지(현재 "3")와 드롭다운을 여는 버튼 • 클릭 시: 드롭다운 노출 "모두 읽음" / "이 사람 알림 끄기" - CASE01 [모두 읽음]: 배지 0 - CASE02 [값 없음]: 배지 hide | HBNS 연계 (추정) | |
| ㄴ13 | 계정 | Button | • 계정 메뉴를 여는 버튼 • 클릭 시: 드롭다운 노출 "내 정보" / "로그아웃" / "새 비밀번호 설정" | ||
| 20 | 사이드바 — 인사 관리 | List | • 인사 관리 그룹 항목 묶음: "팀 관리" / "역할 관리" / "병동 관리" / "직원 관리" | HBAD200/210/220/230 | |
| ㄴ21 | 직원 관리 | Link | • 직원 마스터 목록으로 이동하는 메뉴(기본 랜딩) • 클릭 시: 직원 관리(HBAD200) 전환 | [[HBAD200_직원 관리]] | |
| ㄴ22 | 팀 관리 | Link | • 팀 트리·상세로 이동하는 메뉴 • 클릭 시: 팀 관리(HBAD210) 전환 | [[HBAD210_팀 관리]] | |
| ㄴ23 | 역할 관리 | Link | • 역할·권한 트리로 이동하는 메뉴 • 클릭 시: 역할 관리(HBAD220) 전환 | [[HBAD220_역할 관리·권한 트리]] | |
| ㄴ24 | 병동 관리 | Link | • 병동 목록으로 이동하는 메뉴 • 클릭 시: 병동 관리(HBAD230) 전환 | [[HBAD230_병동 관리]] | |
| 30 | 사이드바 — 문서 결재 | List | • 문서 결재 그룹 항목 묶음: "문서 결재"(TM embed) / "문서 양식"(문서 제출 유형/자격증·면허) | HBAD240/241 | |
| 40 | 사이드바 — 급여 관리 | Embed | • HR 급여 관리 시트 워크스페이스로 진입하는 "시트" 항목 • 클릭 시: HR 급여 시트 embed 로드 | [[HBHR000_HR 급여 관리 (앱 개요)]] | 타 앱 embed |
| 50 | 사이드바 — 근태 관리 | List | • 근태 관리 그룹 항목 묶음: "스케줄러"(NS embed) / "근태 현황"(근무/연차/연장근무/외근). 구 "근무 관리" 그룹·"연차 관리" 항목 소멸 (연차는 근태 현황 탭으로 통합) | HBAD250~262 | |
| ㄴ51 | 스케줄러 | Embed | • 간호 스케줄러로 진입하는 항목 (근무표/간호사/희망근무/환자수 관리/병동 설정 + AI 자동생성/업로드/인쇄/단축키) • 클릭 시: 간호 스케줄러 embed 로드 | [[HBNS000_간호 스케줄러 (앱 개요)]] | 타 앱 embed |
| 60 | 사이드바 — 총무 | List | • 총무 그룹 항목 묶음: "대시보드 준비중" / "총무 준비중" / "관리 준비중" / "공지" - CASE01 [준비중 3종]: 클릭 무반응 - CASE02 [공지]: 진입 | HBAD280 | 공지 = GA 임베드 |
| ㄴ61 | 공지 | Embed | • 총무 공지 화면으로 진입하는 항목 • 클릭 시: GA 임베드 로드 (/general-affairs/notices?embedded=1) | [[HBAD280_공지]] | 타 앱 embed |
| 70 | 사이드바 — 기타 | List | • 기타 그룹 항목 묶음: "전자 서명" / "경영 대시보드" / "설정" | HBAD270/290 | |
| ㄴ71 | 경영 대시보드 | Embed | • 경영 대시보드로 진입하는 항목 • 클릭 시: MD 임베드 로드 (/management-dashboard/?embedded=1) | HBMD | 타 앱 embed |
| 80 | 준비중 3종 | Badge | • "대시보드 준비중" / "총무 준비중" / "관리 준비중" — 총무 그룹에 "준비중" 배지로 노출 • 클릭 시: 무반응 (에러·토스트 없음) | 미출시 모듈 | |
| 90 | 플로팅 AI 어시스턴트 | Button | • 우하단 ✨ 원형 버튼(fixed bottom-6 right-20, w-11 h-11) • 클릭 시: AI 패널 열림, 버튼 ⌄(닫기)로 전환 - CASE01 [settings.ai.enabled=true]: 노출 - CASE02 [false]: hide | [[HBAD110_AI 어시스턴트]] | 7/20 신규 |
| 91 | 플로팅 채팅 런처 | Button | • ✨ 버튼 옆 별도 채팅 런처 (플로팅) • 클릭 시: TBU | 7/20 신규 · TBU: 채팅 런처 세부 동작 |
사이드바 전체 트리 (7/20 확인)
| 그룹 | 항목 | 진입 | 코드 |
|---|---|---|---|
| 인사 관리 | 팀 관리 | 내부 | [[HBAD210_팀 관리]] |
| 인사 관리 | 역할 관리 | 내부 | [[HBAD220_역할 관리·권한 트리]] |
| 인사 관리 | 병동 관리 | 내부 | [[HBAD230_병동 관리]] |
| 인사 관리 | 직원 관리 | 내부 (기본 랜딩) | [[HBAD200_직원 관리]] |
| 문서 결재 | 문서 결재 | TM embed | [[HBAD240]] |
| 문서 결재 | 문서 양식 (문서 제출 유형 / 자격증·면허) | 내부 | [[HBAD241]] |
| 급여 관리 | 시트 | HR embed | [[HBHR000_HR 급여 관리 (앱 개요)]] |
| 근태 관리 | 스케줄러 | NS embed | [[HBNS000_간호 스케줄러 (앱 개요)]] |
| 근태 관리 | 근태 현황 (근무/연차/연장근무/외근) | 내부 + TM embed | [[HBAD250]] |
| 총무 | 대시보드 (준비중) | 클릭 무반응 | Badge |
| 총무 | 총무 (준비중) | 클릭 무반응 | Badge |
| 총무 | 관리 (준비중) | 클릭 무반응 | Badge |
| 총무 | 공지 | GA embed | [[HBAD280_공지]] |
| 기타 | 전자 서명 | 내부 | [[HBAD290]] |
| 기타 | 경영 대시보드 | MD embed | HBMD |
| 기타 | 설정 | 내부 | [[HBAD270]] |
| 플로팅 (우하단) | AI 어시스턴트 ✨ | 패널 토글 | [[HBAD110_AI 어시스턴트]] |
| 플로팅 (우하단) | 채팅 런처 | 별도 런처 | TBU |
Embed / 링크 관계
| 진입 항목 | 대상 앱 | 관계 |
|---|---|---|
| 시트 | HR 급여 관리 (HBHR) | Admin 직원·근태 원천을 소비하는 급여 시트 embed |
| 스케줄러 | 간호 스케줄러 (HBNS) | Admin 병동·근무유형 원천 소비, 근무표 생성 embed (?embedded=1) |
| 경영 대시보드 | HBMD | /management-dashboard/?embedded=1 embed |
| 문서 결재 | Team Manager (TM) | /team-manager/document-management?embedded=1 embed |
| 공지 | General Affairs (GA) | /general-affairs/notices?embedded=1 embed (총무 그룹) |
권한 / 상태 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
| CASE01 [권한 없는 메뉴] | 권한 토큰 미보유 | 사이드바 항목 비노출 | POL_권한(RBAC) |
| CASE02 [준비중 모듈] | 총무 그룹 준비중 배지 항목 | 클릭 무반응 | 미출시 (대시보드/총무/관리) |
| CASE03 [알림 모두 읽음] | 알림 드롭다운 → "모두 읽음" | 미읽음 배지 0 | HBNS 연계 |
| CASE04 [AI 게이트] | settings.ai.enabled=false | ✨ 플로팅 위젯 hide | [[HBAD110_AI 어시스턴트]] |
Open Question
| 구분 | 미확인 항목 |
|---|---|
| 메타 | 프로토타입 |
| 플로팅 런처 | 채팅 런처 세부 동작 |