매뉴얼 (사용자·관리자)
매뉴얼은 포털 화면으로 제공한다 — 위키·PDF 로 나가면 배포본과 어긋나고, 사용자는 자기 화면 옆에서 절차를 찾지 못한다(설계서 §17.2).
| 문서 | 화면 경로 | 진입 자리 | 화면 | 원천 |
|---|---|---|---|---|
| 사용자 매뉴얼 | /manual | 사이드바 하단 셸 슬롯(PortalShell.manualLink) | client/src/pages/Manual.tsx | shared/manual.ts 의 USER_MANUAL |
| 관리자 매뉴얼 | /admin/manual | 관리자 셸 슬롯(PortalAdminShell.manualLink) | client/src/pages/admin/AdminManual.tsx | shared/manual.ts 의 ADMIN_MANUAL |
두 화면 모두 client/src/pages/ManualDocument.tsx 하나로 그린다 — 문구의 원천이 하나이므로 화면과 매뉴얼이 서로 다른 말을 하지 않는다.
진입 자리 — 메뉴 행이 아니라 셸 슬롯 (규약 MANUAL_CONVENTION)
- 매뉴얼은 메뉴 항목이 아니다. 진입은 셸 슬롯(
manualLink, 사이드바 하단 고정)이 맡고, 자리·모양·기본 라벨(매뉴얼/Manual)·기본 아이콘(BookOpen)은 플랫폼(portal-foundationdocs/MANUAL_CONVENTION.md)이 정한다 — 포털은href만 넘긴다(decisions.mdD-069). - 경로는 라우팅 표에만 적는다:
client/src/routing.ts의STANDALONE_ROUTES(메뉴 행이 아닌 화면)이고 경로 상수는shared/const.ts의MANUAL_PATH·ADMIN_MANUAL_PATH다. 셸 슬롯의href도 같은 상수를 쓴다. - 그래서 메뉴 정의(
MENU_TREE·ADMIN_MENU_PORTAL)에는 매뉴얼 항목이 없다.routing.test.ts·navigation.test.tsx가 이 규칙을 고정한다 — 진입점이 다시 둘로 갈라지면 그 테스트가 먼저 깨진다.
문구를 고치는 방법
shared/manual.ts만 고친다. 화면(컴포넌트)에 문구를 복사하지 않는다 — 복사하면 한쪽만 고쳐진다.- 절의
href는 실재하는 화면 경로만 쓴다(shared/const.ts의 메뉴 경로 +MANUAL_PATH·ADMIN_MANUAL_PATH). pnpm test shared/manual.test.ts로 확인한다 — 없는 경로·중복된 단계 제목·잘못된 역할 값을 잡는다.
검증
shared/manual.test.ts— 경로 실재성(사용자 매뉴얼은 사용자 메뉴, 관리자 매뉴얼은 관리자 메뉴), 절·단계·주의 중복, 역할 값.client/src/pages/manual.test.tsx— 화면이 절을 빠뜨리지 않고 그리는지(서버 렌더, DOM 없음 — D-005).client/src/routing.test.ts·client/src/navigation.test.tsx— 매뉴얼 경로가 메뉴 정의에 없고 라우팅 표에만 있으며, 셸 슬롯이 링크를 그리는지(규약 MANUAL_CONVENTION).
넣지 않은 것
- 인쇄·배포용 파일(PDF·Markdown) — 필요하면 같은 원천에서 생성한다.
- 매뉴얼 지면 안의 해시 이동·전체 검색 — 화면 간 이동은 셸의 경로·슬롯이 담당한다.
- 화면 캡처 이미지 — 배포본이 바뀌면 조용히 어긋나므로, 지금은 텍스트 절차만 둔다(§16.1-11).