Skip to content

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
  • 2026-09-08 CS 리포트 "내 신고 내역" 답변 열람 뷰 신설 반영(#625, 288a45c 머지) — 운영자 답변 타임라인·회신 알림 라우팅. 라이브 실증(빈 상태 "아직 신고 내역이 없어요.") - 카나/PM
  • 2026-09-17 (공통/DS 비고) 탭 바 화살표 스크롤·액션 버튼 축소 반영(66079d4) — 근태 현황·스케줄러 등 탭 줄이 좁은 화면(400px)에서 우측 버튼(「근무 설정」 등)이 탭 글자를 덮던 문제 해소. 탭·버튼을 한 줄(.ds-tab-nav-row)에 두고, 좁아지면 ① 버튼 아이콘화(라벨 툴팁) ② 넘치면 < > 셰브론으로 탭 스크롤. 앱 셸 LNB·사이드바 자체는 변경 없음(탭 바 정본 = DS 문서) - 카나/PM
  • 2026-09-21 전체화면 토글(페이지 헤더 액션·Fullscreen API·ESC/「전체화면 종료」/탭 이동 복귀·Ctrl+Shift+F, 열린 창 우선 ESC 처리 — b41697d #808, 046033b #813)·LNB 「역할」 낱말 조직 용어 치환(47b53a9 #807)·시트 임베드 중 admin AI 위젯 숨김(1cfa01e #810) 반영 — 커밋 근거, 라이브 실사 이월(TBU) - 카나/PM
  • 2026-09-23 해시 하위 키 보존(주소창 입력·북마크·뒤로가기로 #embed/sheets 진입 시 빈 임베드 셸이 뜨던 결함 수정 — e969e57, MED-695)·시트 임베드 AI 진입점 정리(admin 일반 AI 위젯 숨김 유지 + 시트 어시스턴트 ✨ FAB 단독 노출, 시트 도크가 열리면 admin 채팅 FAB이 그 폭만큼 비킴 — fc3d6ba #850 · 9d73c12 #853, CS-OKBEST-260922-0002) 반영 — 커밋 근거, 라이브 실사 이월(TBU) - 카나/PM
  • 2026-09-25 낮 스윕 라이브 실사 — #embed/sheets 직접 진입 정상 렌더(02 해소)·「전체화면」 버튼 실측(ㄴ10-2)·시트 임베드 중 admin AI 위젯 숨김 실증(ㄴ90-1 해소). 시트 어시스턴트 ✨ FAB은 미노출(조직 opt-in OFF 추정, ㄴ90-2 TBU 유지) - 카나/PM
  • 2026-09-30 PR #892·#910·#946·#927·#923·#935 반영: 권한 미리보기 배너(주황 띠·남은 시간·〔종료〕, 화면을 배너 높이만큼 내림)·접근 불가 화면의 〔직원 앱으로 이동〕/〔미리보기 종료〕(같은 주소 복귀 시 재로드)·채팅/AI FAB 권한 없음 위젯 내 안내 + 「권한 요청」·LNB 맨 위 「시작하기 › 직원 앱 도입」(도입 끝나면 제거)·직원 앱 도입 진행률 배너 — 커밋 근거, 라이브 실사 이월(TBU) - 카나/PM
  • 2026-10-08 (10/7 머지분) PR #1084 반영: 직원 앱 도입 진행률 배너를 **바 노티스(.ds-bar-notice--info)**로 교체(ㄴ15-1) — 라이브 실사 10/8 문구 원문 실측. (같은 PR의 각 탭 표 스크롤 영역 pb-5→ds-fab-safe 교체는 채팅 FAB 겹침 방지 공용 클래스 — 셸 사양 변화 없음. 「예약된 변경(#scheduled-changes)」 화면 재구성은 신규 채번 제안 HBAD275 참조) - 카나/PM
  • 2026-10-09 (10/8 머지분) 사이드바 신메뉴 3종 라이브 실측: 인사 관리 「결재선」(#1122, HBAD245 채번 제안) · 급여 관리 「예약된 변경」 정식 항목(HBAD275 제안 유지) · 기타 「대화 복구」(E2EE #1108, HBAD310 채번 제안, #chat-recovery) — 20·40·70 갱신 - 카나/PM
  • 2026-10-17 주간 정합 스윕 라이브 실측 — ① 알림 드롭다운 실측 해소(ㄴ12): 헤더 「알림 (4)」+「모두 읽음」, 행별 「이 사람 알림 끄기」 ② 도입 진행률 배너(ㄴ15-1) 원문 재확인(「직원 앱 도입 — 체크리스트 1/7 단계 · 첫 로그인 0% (목표 80%)」 — 10/8 실측과 동일) ③ 「도입 설정」 모달 전면 채록(직원 앱 도입 화면 소속 — 사양서 미채번이라 기록만): 부제 "바꾼 내용은 다음 발송부터 적용돼요. 이미 보낸 안내는 바뀌지 않아요." + 탭 3종 앱 로그인(회사 코드* 영문·숫자·하이픈 3~32자 + 「조직 선택」 직원 앱 첫 화면 미리보기 + 스마트 링크(선택) "기기에 맞는 스토어로 보내는 주소 하나예요. 비우면 iOS · Android 링크 두 줄이 들어가요.") / 안내 문구(문자·이메일 탭 + 「기본값으로」 + 낱말 넣기 변수 {병원명}{이름}{회사코드}{로그인ID}{임시비밀번호}{앱링크} + "문자 N자 · 90자가 넘으면 장문(LMS)으로 보내요" + {임시비밀번호} 누락 시 발송 차단 경고 + "비밀번호를 이미 바꾼 직원에게는 임시 비밀번호 줄이 통째로 빠져요" + 미리보기 「홍길동 님에게」) / 도입 기준(완료 목표 "{n}% 가 첫 로그인하면 완료" · "안내 후 14일 안에 80%가 보통이에요." + 관리자 도입 단계 토글 "끈 단계는 이 페이지의 도입 흐름에서 빠져요." + 직원 앱 튜토리얼 4단계 토글 "끈 화면은 건너뛰어요.") + 하단 [취소][저장] — 스샷 live-1017-admin-onboarding-settings.png ④ 로그인 화면 「패스키로 로그인」 여전히 미노출(비밀번호/휴대폰 인증 탭만 — 헤드리스 WebAuthn 한계 추정 유지) ⑤ 결재선 설정 오타 「…근태 승인 권한이 있는 관리자이 바로 처리해요」 미수정 지속 - 카나/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) 랜딩 + 사이드바 + 헤더 + 우하단 플로팅 런처
02해시 라우팅 (탭 하위 키 보존)Rule• 주소창 입력·북마크·뒤로가기(popstate)로 해시만 바뀌어 탭이 전환될 때, 라우터가 들고 있는 같은 탭의 하위 키를 앱 상태로 옮기고 해시에도 남긴다(currentEmbed · settingsSubTab)
 - CASE01 [#embed/sheets 직접 진입]: 해당 임베드가 그대로 열림 — 구버전은 해시가 #embed로 덮이고 currentEmbed도 갱신되지 않아 빈 임베드 셸이 떴음(MED-695)
 - CASE02 [같은 탭 안에서 임베드 키만 변경]: 화면이 바뀐 임베드를 따라감
 - CASE03 [팀 관리·스케줄러]: 화면이 라우터 값을 직접 읽으므로 해시만 보존
임베드 진입점(40 · ㄴ51 · ㄴ61 · ㄴ71) · [[HBAD270_설정 (조직 설정·내 정보)]] 서브탭수정 (코드 반영: e969e57, MED-695) · 라이브 실사 확인(2026-09-25): 주소창 직접 입력 + 새로고침으로 #embed/sheets 진입 → 빈 셸 없이 시트 임베드 정상 렌더·LNB 「시트」 활성(CASE01 실증)
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-3권한 미리보기 배너Banner• 조직 시스템 관리자가 직원 관리에서 「권한 미리보기」를 시작하면(ORG_DEBUG grant) 화면 맨 위에 주황 띠 배너 상시 노출. 관리자·급여·팀 관리·직원 앱 4앱 공용(ImpersonationBanner), iframe 임베드 안에서는 중복 없이 숨김
• 문구: 「권한 미리보기 — {대상 이름}({역할}) 님으로 보는 중 · 남은 시간 mm:ss · 시작: {시작한 관리자}」 + 〔종료〕(처리 중 「종료 중…」). 남은 시간 임박 시 굵게·밑줄
• 클릭 시(〔종료〕): 서버 회수 → 원래 관리자 세션 복원 → 직원 관리로 이동, 도착 화면 하단에 「권한 미리보기를 종료했어요」 1회 안내
 - CASE01 [만료·회수로 401]: 자동 복원 + 「미리보기가 만료되어 원래 세션으로 돌아왔어요」
 - CASE02 [배너 노출 중]: 화면 전체를 배너 높이(28px)만큼 아래로 내려 헤더 알림·닫기 버튼이 가려지지 않음(#910)
 - CASE03 [복귀 주소가 지금 화면과 같음(접근 불가 화면 /admin/#employees)]: 페이지 재로드로 직원 관리 복귀 — 구버전은 「종료 중…」에 멈춤(#946, CS-OKBEST-260929-0001)
 - 플랫폼 운영자 지원(PLATFORM) 세션은 기존 파란 지원 모드 배너가 담당
시작 진입점 = [[HBAD200_직원 관리]] 행 눈 아이콘·[[HBAD201_직원 추가·수정 모달]] 계정·보안 탭 · audit_logs(행위자·대상 이중 기록)신설 (코드 반영: #892 f6f0389 · #910 b884f75 · #946 e9954a1, MED-712/713) · TBU: 라이브 실사
ㄴ10-4접근 불가 화면 (미리보기 중)Rule• 미리보기 대상 직원이 관리자 앱 권한이 없으면 대상 그대로 「접근 불가」 화면이 뜨고, 배너와 함께 버튼 2개 추가 노출
 - 〔직원 앱으로 이동〕: 같은 미리보기 세션으로 직원 앱 열기
 - 〔미리보기 종료〕: 배너 〔종료〕와 같은 복귀 규칙(ㄴ10-3 CASE03)
ㄴ10-3신설 (코드 반영: #892 · #946) · TBU: 라이브 실사
ㄴ10-2전체화면 토글Button• 스케줄러·시트처럼 넓은 화면에서 LNB·페이지 헤더를 걷어내고 본문만 채우는 「전체화면」 버튼. 위치 = 페이지 헤더 액션 자리
• 클릭 시: 앱 전체화면 + 브라우저 전체화면(Fullscreen API) 동시 진입. 아이콘 ic-maximize / ic-minimize
• 복귀 경로 3종: ESC · 상단 중앙 「전체화면 종료」 · 다른 탭 이동
• 단축키 Ctrl/⌘+Shift+F 토글(스케줄러·시트 단축키 도움말에 표기, 시트 iframe은 메시지로 부모에 전달)
 - 대상 화면 판정 = fullscreenAvailable() 한 곳(현재 스케줄러·시트)
 - CASE01 [화면 안에 열린 창(모달·다이얼로그·iframe 모달) 있음]: ESC가 열린 창을 먼저 닫고 전체화면은 유지
 - CASE02 [Chromium 키보드 잠금 가능]: ESC를 페이지가 먼저 받음
 - CASE03 [키보드 잠금 없는 브라우저 + 창 열림]: 브라우저 전체화면이 끝나도 앱 전체화면 유지
 - 스케줄러 전체화면에서는 탭 줄·병동/기간 필터 줄도 숨겨 근무표만 남김
[[HBNS200_근무표 그리드]] · [[HBHR100_시트 워크스페이스 (공통 Shell)]]신설 (코드 반영: b41697d #808 · 046033b #813) · 라이브 실사(2026-09-25): 시트·스케줄러 페이지 헤더에 「전체화면」 버튼 실측(토글 동작·복귀 경로는 미실행)
ㄴ10-1불편·기능 신고Button• 확성기 아이콘 버튼(알림 종 왼쪽, 기본 켜짐 — 페이지에 리포트 호스트 없으면 자동 미렌더). 버튼 라벨 "불편·기능 신고 (Shift+F1)"(단축키 병기, 라이브 원문)
• 클릭 시: CS 리포트 모달 오픈 — 타이틀 "불편·오류 신고"(버튼명과 상이, 라이브 원문), 현재 화면 스크린샷 자동 캡처+"다시 찍기"/"제외", 마스킹 안내 "민감한 부분은 드래그해서 가릴 수 있어요. 가린 부분은 복구되지 않아요.", 유형 세그먼트 4종 "오류/불편·개선(기본)/기능 요청/문의", "제목" 입력, "취소"/"보내기". 하단 "내 신고 내역" 버튼(신규)로 열람 뷰 전환
• 내 신고 내역 뷰(신규 #625): 제목 "내 신고 내역", 내 신고 목록(listMine — 상태 뱃지·접수번호·제목·일시)과 "새 신고 작성" 토글. 목록 빈 상태 문구 "아직 신고 내역이 없어요."(라이브 원문). 항목 선택 시 신고 상세(getMine) — 본문 + 운영자 답변 타임라인 + 처리 결과 메모
• 회신 알림("신고에 답변이 등록됐어요") 클릭 시 신고 상세로 직행(referenceType=csReport 라우팅, hereby:cs-report-open 이벤트 — 전 앱 위젯 마운트라 앱 구분 없이 열람)
• 전 앱 공통 단축키 Shift+F1로도 오픈
cs_reports (공용 리포트 모달 — 신규 문서 채번 대상)신규(#608·609) · 답변 열람 신설(#625, 288a45c) · 라이브 실증 9/4(제출 모달) + 9/8(내 신고 내역 뷰, 빈 상태만 관찰 — 제출 안 함)
ㄴ11새로고침Button• 현재 화면의 데이터를 다시 불러오는 버튼
• 클릭 시: 현재 화면 데이터 재로드
ㄴ12알림Button• 미읽음 알림 배지(현재 "3")와 드롭다운을 여는 버튼
• 클릭 시: 드롭다운 노출 — 패널 헤더 「알림 (N)」 + 「모두 읽음」 버튼(2026-10-17 실측: 「알림 (4) 모두 읽음」), 알림 행마다 제목·본문·시각 + 「이 사람 알림 끄기」 행 액션(시스템성 알림 — 예: 「10월 시행 변경 요약」 — 에는 없음)
 - CASE01 [모두 읽음]: 배지 0
 - CASE02 [값 없음]: 배지 hide
HBNS 연계 (추정)패널 헤더·행 구성 2026-10-17 라이브 실측(스샷 live-1017-admin-notifications.png, 「모두 읽음」 클릭은 안 함)
ㄴ13계정Button• 계정 메뉴를 여는 버튼
• 클릭 시: 드롭다운 노출 "내 정보" / "로그아웃" / "새 비밀번호 설정"
15사이드바 — 시작하기List• LNB 맨 위 섹션 「시작하기」, 항목 「직원 앱 도입」(주소 #onboarding, 구 「앱 배포 온보딩」)
• 클릭 시: 직원 앱 도입 화면(체크리스트 7단계·안내 발송·설치/로그인 현황) 전환
 - CASE01 [도입 진행 중]: 노출
 - CASE02 [도입 끝남 = 목표 비율 달성 또는 완료 처리]: 섹션 제거(새로고침 없이 즉시), 이후 [[HBAD270_설정 (조직 설정·내 정보)]] 「직원 앱 도입」 탭에서 진입. 새로고침 시 마지막 판정값으로 먼저 그려 깜빡임 없음
 - CASE03 [목표 미달성 조직에서 「다시 열기」]: 섹션 복귀
직원 앱 도입 화면(사양서 없음 — 신규 채번 대상) · employee:read 보유 관리자에게 적용신설 (코드 반영: #923 38d4437 · #935 f599811, MED-795) · TBU: 라이브 실사
ㄴ15-1직원 앱 도입 진행률 배너Banner• 헤더 아래 안내 띠: 「직원 앱 도입 — 체크리스트 n/7 단계 · 첫 로그인 n% (목표 80%)」 + 〔이어서 하기〕 + 닫기(X, 툴팁 「7일간 닫기」)
 - CASE01 [시스템 관리자 + 도입 진행 중]: 노출(직원 앱 도입 화면에서는 숨김)
 - CASE02 [도입 끝남]: 숨김
 - CASE03 [닫기]: 7일 뒤 다시 노출
• 클릭 시(〔이어서 하기〕): 직원 앱 도입 화면 전환
• (10/8, #1084) 띠 컴포넌트를 .ds-notice(둥근 모서리·테두리 제거 변형)에서 바 노티스 .ds-bar-notice--info(전체 폭 · 선/모서리 없음 · 상하 가운데 정렬, 본문 + 전용 버튼 슬롯 1개 + 닫기 슬롯)로 교체 — 문구·동작 동일
15신설 (코드 반영: #923 · #935) · 목표 비율 = 조직 설정값(기본 80%) · 바 노티스 교체(#1084) · 라이브 실사 2026-10-08: 원문 「직원 앱 도입 — 체크리스트 1/7 단계 · 첫 로그인 0% (목표 80%)」 + 〔이어서 하기〕 + 닫기(툴팁 「7일간 닫기」) 실측
20사이드바 — 인사 관리List• 인사 관리 그룹 항목 묶음: "팀 관리" / "역할 관리" / "병동 관리" / "직원 관리" / "결재선"(10/8, #1122 신설)HBAD200/210/220/230 · HBAD245(채번 제안)
ㄴ21직원 관리Link• 직원 마스터 목록으로 이동하는 메뉴(기본 랜딩)
• 클릭 시: 직원 관리(HBAD200) 전환
[[HBAD200_직원 관리]]
ㄴ22팀 관리Link• 팀 트리·상세로 이동하는 메뉴
• 클릭 시: 팀 관리(HBAD210) 전환
[[HBAD210_팀 관리]]
ㄴ23역할 관리Link• 역할·권한 트리로 이동하는 메뉴
• 클릭 시: 역할 관리(HBAD220) 전환
[[HBAD220_역할 관리·권한 트리]]
ㄴ23-1LNB 「역할」 낱말 치환Label• 조직 설정 「용어 표시」(settings.terminology.role)가 설정돼 있으면 LNB 메뉴 라벨의 「역할」이 조직 낱말로 표시
 - ⚠ 즉시 반영 아님 — 새로고침 후 반영(lnbSidebar 스냅샷)
 - 값 없음: 기본 「역할 관리」
[[HBAD270_설정 (조직 설정·내 정보)]]신설 (코드 반영: 47b53a9, #807) · TBU: 라이브 실사 이월
ㄴ24병동 관리Link• 병동 목록으로 이동하는 메뉴
• 클릭 시: 병동 관리(HBAD230) 전환
[[HBAD230_병동 관리]]
30사이드바 — 문서 결재List• 문서 결재 그룹 항목 묶음: "문서 결재"(TM embed) / "문서 양식"(문서 제출 유형/자격증·면허)HBAD240/241
40사이드바 — 급여 관리Embed• HR 급여 관리 시트 워크스페이스로 진입하는 "시트" 항목 + "예약된 변경"(라이브 10/9: 급여 관리 그룹의 정식 항목, #scheduled-changes — 화면 사양 HBAD275 채번 제안)
• 클릭 시: 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• 기타 그룹 항목 묶음: "전자 서명" / "경영 대시보드" / "드라이브" / "대화 복구"(10/8, E2EE #1108 신설, #chat-recovery — 화면 사양 HBAD310 채번 제안) / "설정"HBAD270/290라이브 실사 2026-10-09 구성 실측
ㄴ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 신규
ㄴ90-3AI 권한 없음 상태Rule• 조직이 AI를 켰지만(ai.status) 사용자에게 AI 실행 권한이 없으면 FAB은 그대로 노출, 패널을 열면 대화 대신 안내만 표시(권한 모달로 화면을 가리지 않음)
 - 안내: 「AI 어시스턴트를 쓰려면 AI 실행 권한이 필요해요. 필요하면 관리자에게 권한을 요청해 주세요.」 + 〔권한 요청〕(누를 때만 공용 권한 요청 모달)
 - 권한 없는 동안 대화 목록·사용량 조회 안 함
[[HBAD110_AI 어시스턴트]]신설 (코드 반영: #927 33e38f8, MED-789) · TBU: 라이브 실사
ㄴ90-1시트 임베드 중 위젯 숨김Rule• 관리자 패널이 시트(HR) 임베드를 띄우는 동안 자기 AI 위젯을 감춤 — 시트 컨텍스트를 아는 iframe 쪽(시트 어시스턴트)이 대화를 맡음
 - CASE01 [시트 임베드 활성]: admin ✨ 위젯 숨김
 - CASE02 [그 외 화면]: 기존대로 노출
 - CASE03 [시트에서 오른쪽 레일 열림]: 숨김 유지 — 구버전은 레일이 열리면 admin 일반 AI 어시스턴트가 다시 나타나 시트 컨텍스트 없이 답하던 결함(CS-OKBEST-260922-0002)
 - 도크로 열어 둔 채 시트로 와도 본문(body)에 도크 여백이 남지 않음
[[HBAD110_AI 어시스턴트]] · [[HBHR100_시트 워크스페이스 (공통 Shell)]]신설 (코드 반영: 1cfa01e, #810) · 레일 열림 시 재노출 수정(fc3d6ba, #850, CS-OKBEST-260922-0002) · 라이브 실사 확인(2026-09-25): 시트 임베드 화면에서 admin ✨ AI FAB 미노출(타 화면에서는 .ds-fab--ai 노출) — CASE01·02 실증
ㄴ90-2시트 임베드의 AI 진입점 (시트 어시스턴트 FAB)Button• 「급여 관리 › 시트」 임베드에서는 iframe 쪽 시트 어시스턴트(반짝이 ✨) FAB만 AI 진입점으로 노출한다 — admin 일반 AI 위젯은 감춘다(ㄴ90-1)
 - CASE01 [시트 임베드 활성]: 시트 어시스턴트 FAB 노출. 구버전은 임베드 문서의 채팅·AI FAB을 전부 숨기고 admin 위젯까지 감춰 AI 진입점이 하나도 남지 않았음(CS-OKBEST-260922-0002 QA 재검증)
 - CASE02 [시트 도크 열림]: 도크 폭만큼 admin 채팅 FAB이 옆으로 비킴(레일 폭과 합산)
[[HBHR100_시트 워크스페이스 (공통 Shell)]] · [[HBAD110_AI 어시스턴트]] · 91 플로팅 채팅 런처신설 (코드 반영: fc3d6ba #850 · 9d73c12 #853) · CS-OKBEST-260922-0002 · 2026-09-25 실사: 시트 임베드에서 iframe ✨ FAB 미노출(admin 메신저 FAB만 잔존) — 조직 시트 어시스턴트 opt-in OFF로 추정, CASE01 실증은 opt-in 조직 필요 · TBU 유지
91플로팅 채팅 런처Button• ✨ 버튼 옆 별도 채팅 런처 (플로팅)
• 클릭 시: TBU
7/20 신규 · TBU: 채팅 런처 세부 동작
ㄴ91-1채팅 권한 없음 상태Rule• 대화 조회 권한(conversation:read)이 없는 역할도 FAB은 유지, 패널 「메신저」를 열면 안내만 표시 — 구버전은 앱 진입 직후 「접근 권한이 필요해요 — conversation:read」 모달이 화면을 가림
 - 안내: 「메신저를 쓰려면 대화 조회 권한(conversation:read)이 필요해요. 필요하면 관리자에게 권한을 요청해 주세요.」 + 〔권한 요청〕
 - 권한 없는 동안 미확인 배지 조회·실시간 구독 안 함. 권한 미리보기 전환으로 권한이 사라지면 패널 닫힘
공용 채팅 위젯(7개 앱)신설 (코드 반영: #927 33e38f8, MED-789) · TBU: 라이브 실사

사이드바 전체 트리 (7/20 확인) ​

그룹항목진입코드
시작하기 (도입 끝나면 제거)직원 앱 도입내부 #onboarding사양서 없음 (#923·#935)
인사 관리팀 관리내부[[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 embedHBMD
기타대화 복구내부HBAD310 (채번 제안)
기타설정내부[[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 [알림 모두 읽음]알림 드롭다운 → "모두 읽음"미읽음 배지 0HBNS 연계
CASE04 [AI 게이트]settings.ai.enabled=false✨ 플로팅 위젯 hide[[HBAD110_AI 어시스턴트]]

Open Question ​

구분미확인 항목
메타프로토타입
플로팅 런처채팅 런처 세부 동작