다크모드
모바일 Aside 내비 셸 (SheetAsideOrg) — BE 참고
BE 개발자/AI용. 결론: BE 표면 없음.
SheetAsideOrg(모바일 좌측 내비 드로어)와 DS 모디파이어 sheet-body-flush, SidebarGroup 소유 8px inset, 공통 Leyve 홈 앵커는 순수 프레젠테이션·라우팅 컨텍스트 변경이다.
- 데이터 모델 / API 계약 / 상태머신 / 분개·회계 규칙 영향 없음. Sheet body는 0을 유지하고 navigation 표면만 경계에서 8px 떨어뜨린다.
- 데이터 권한과 API endpoint는 불변이다. 기준정보·계약의 오래된 앱 전환 레일만 제거했으며, 앱 간 이동은 워크스페이스를 경유한다.
- 상품 관리·Office·권한·관리비 계정과목의 대상 데이터와 권한 계약은 그대로이고, FE 라우터의 부모 셸만 올바른 업무 범위로 고정했다.
- 회귀: vitest 713 그대로(분개·집계·수납 등 BE 함의 테스트 무변경).
연관: FE 핸드오프 frontend/mobile-aside-nav-shell.md · DS ADR leysys-design/docs/decisions/MOBILE-APP-SIDEBAR-8PX-INSET-2026-07-19.md.
2026-07-19 모바일 navigation 8px inset
- 21개 모바일 navigation Sheet가 동일한 8px outer inset을 사용한다.
- 일반 폼·테이블 Sheet, API payload, 권한, 라우팅 대상은 변경하지 않는다.
- active·hover 표면과 chevron 배치만 DS 계약에 맞춰 조정한다.
- 모든 제품의 disclosure chevron을 provider-neutral SVG로 통일했지만, 라우트·principal·Company/Office scope와 API 권한은 변경하지 않는다.
2026-07-13 IA 정합
- 공통 홈 앵커는
/workspace/home으로 이동하며 인증·Office scope를 변경하지 않는다. - 기준정보·계약의 메뉴에서 CRM 등 다른 도메인으로 직접 이동시키는 항목을 제거했다.
- 이 변경으로 추가되는 BE 상태, API, DB 마이그레이션은 없다.
2026-07-18 Company·업무 셸 시각 정합
- Company 홈과 워크스페이스 헤더의 AI 진입 위치·사이트맵 개발 전용 게이트를 통일했다.
- 모바일 메뉴의 동작 없는 이중 꺾쇠를 제거하고 섹션 end 슬롯을 시트 헤더 닫기 버튼 중심선에 맞췄으며, Company KPI 카드의 elevation을 inset edge로 바꿨다.
- 모두 FE 표시·라우팅 계약이다. Company·Office scope, 권한 검사, KPI 집계 응답, API·DB·감사 이벤트는 변경하지 않는다.
2026-07-19 전 제품 Global App Header 수렴
- 21개 제품별
AppHeaderOrg가 하나의 FE composition인GlobalAppHeaderOrg를 소비하도록 수렴했다. 제품별 wrapper는 자신의 모바일 aside만 연결한다. - AI 비서 trigger가 모든 제품에서 같은 위치에 표시되지만, 기존 전역
AssistantSheetArt를 여는 UI trigger일 뿐이다. AI 요청·대화·외부 전송 API 계약을 추가하거나 변경하지 않는다. AccountScopeSwitcherMol의 Company·Office 선택, scope 값, 인증 principal과 권한 검사는 기존 계약을 그대로 사용한다.- DB schema, RLS, API endpoint, 상태머신, 분개·청구·수납 규칙, 감사 이벤트 변경은 없다.
2026-07-22 상단 IA 축소와 권한형 조직관리
- 상단의 Organization 가상 범위를 제거하고, 워크스페이스·관리비 셸의 왼쪽 메뉴 하단에
조직관리진입점을 배치했다. - 표시 조건은 인증 principal
kind === 'company-admin'이다. staff에는 표시하지 않는다. 이 조건은 FE 표시 게이트이며/administration/organization/*API·RLS 권한을 새로 부여하지 않는다. - 신규 Company 로그인 뒤 Office 0을 첫 업무 범위로 선택하는 기존 session/bootstrap 계약과
officeNumber: 0을 유지한다. 이번 변경으로 Office 생성, 번호 부여, Company/Office 조회 API는 바뀌지 않는다. - 실제품
v3-style은 별도 계정 모델을 그대로 사용한다. Company role 또는 레이브 관리자에게 기존/account/organization-account진입점만 옮겼으며, 선도 제품의 Office 0 모델을 실제품 API에 역으로 추가하지 않았다.
2026-07-24 메뉴 구분선 콘텐츠 축 정렬
- 전 제품 sidebar menu 제목 아래 구분선은 모바일 Sheet 경계에서 16px, 데스크톱 aside 경계에서 8px 떨어진다.
- 데스크톱과 모바일 Sheet 모두
SidebarBody > SidebarGroup > SidebarGroupContent > SidebarMenu(flush)를 사용하며 Group만 outer padding을 소유한다. - 관리비 하단 조직 설정 위 구분선도 같은 축을 사용한다. 모바일 active·hover 항목 표면의 outer inset은 기존 8px 그대로다.
- EDS 전용 top/bottom separator class를 소비하는 순수 FE 표시 변경이다. 라우팅 대상,
company-admin표시 게이트, principal·Company/Office scope, API·RLS·DB schema·분개·청구·수납 계약은 바뀌지 않는다.
2026-07-26 메뉴 surface와 구분선 실제 8px 간격
@leysys/eds@1.2.4는 제목 hover·active surface와 하단선, 상단선과 utility surface, 하단선과 다음 일반 item 사이에 각각 실제 8px clear space를 둔다.- 제품은 기존 공식 top/bottom separator class만 유지하며 제품 CSS, wrapper padding,
!important보정을 추가하지 않는다. - 순수 FE 표시 계층 정정으로 라우팅, 권한, principal·Company/Office scope, API·RLS·DB schema·분개·청구·수납 계약에는 영향이 없다.
2026-07-26 line-free Sidebar Menu anatomy
- 후속
@leysys/eds@1.3.0은 제목·그룹·하단 utility의 implicit separator를 폐기한다. - 정적 제목은
.sidebar-menu-heading, 인터랙티브 navigation control은.sidebar-menu-item으로 책임을 분리한다. 정적 제목에는 hover·active surface가 없다. - 조직관리의
company-admin표시 게이트와 라우트는 그대로이며 시각적 상단선만 제거된다. - 순수 FE anatomy 변경으로 principal·Company/Office scope, API·RLS·DB schema·분개· 청구·수납 계약에는 영향이 없다.
2026-07-19 disclosure chevron P0 복구
- 열린
details전체가 회전하던 FE scoped selector를 제거하고,@leysys/eds의 공식.sidebar-menu-chevron상태 계약으로 교체했다. details,summary, 라벨, 하위 메뉴의 DOM·라우트·권한·payload는 바뀌지 않는다. chevron SVG의 표시 방향만 open 상태에 따라 바뀐다.- DB schema, RLS, API endpoint, 상태머신, 분개·청구·수납 규칙, 감사 이벤트 영향은 없다.