다크모드
페이지 도움말·Docs·AI 동기화 FE 계약
SSOT
src/composables/pageHelpCatalog.js: route prefix → manual·summary·keywordsContextHelpButtonMol.vue: 현재 route의docs.leyve.net/manual/*링크GlobalAssistantButtonMol.vue+ rootAssistantSheetArt: 자체 AI 버튼이 없는 셰에서도 전역 진입aiAssistantLocal.helpAnswer: 기능명 또는 현재 URL 문맥의 사용법 답변
변경 규칙
- 고객용 route를 추가하면
PAGE_HELP_TOPICS에 매핑한다. - 해당 manual에
<!-- page-help: topic-id -->마커를 넣는다. - UI 용어·상태·사용 순서가 바뀌면 manual·BE·FE 핸드오프를 같이 갱신한다.
pageHelpCatalog.spec.js와audit-docs-mirror.mjs를 통과한다.
레이아웃 계약
- 모바일에서는 문맥 도움말과 전역 AI 버튼을 root grid의
[grid-area:footer]도크에 정적으로 배치해 표·카드·입력 내용을 가리지 않는다. 둘 다button-neutral-subtle을 사용해 저장·결제 같은 페이지 주 행동보다 낮은 위계를 유지한다. 빈 도크는empty:hidden으로 높이를 차지하지 않는다. md이상에서는 도크 wrapper를contents로 풀고 도움말은bottom-20, AI는bottom-32의 기존 플로팅 위치를 유지한다. 이미 상단 AI 진입이 있는 Workspace·Billing에서는 전역 AI 버튼을 중복 표시하지 않는다.- AI Sheet는 root layout에 한 번만 mount하여 중복 dialog ID를 만들지 않는다.