fix(nav): 관리자 세션에서 하단 '관리자' 제거, off·로그아웃 사이 구분선

- OPS+관리자: 사용자 현황관리·구분선·관리자 off·구분선·로그아웃
- 비OPS+관리자: 관리자 버튼 제거, 사용자 현황관리·구분선·관리자 off
- README 하단 메뉴 설명 갱신

Made-with: Cursor
This commit is contained in:
2026-04-08 17:48:59 +09:00
parent 0bfa128b61
commit 81244d34c9
2 changed files with 2 additions and 3 deletions

View File

@@ -65,7 +65,7 @@
- 초기 샘플 데이터 시드
- `resources/lecture`에 있는 `.pptx`를 최초 실행 시 자동 등록
- **관리자 인증·바로가기(UI)**
- **좌측 메뉴 하단 `관리자` / `관리자 off`**: 운영(OPS)에서 **이메일 인증**으로 로그인한 임직원에게도 표시됩니다. **`관리자`**는 모달에서 `ADMIN_TOKEN`을 입력해 검증한 뒤 `/admin`으로 이동합니다(`POST /api/admin/validate-token`). **`관리자 off`**는 관리자 쿠키를 지우고 학습센터 목록(`/learning`)으로 돌아갑니다(`GET /admin/logout`). 이메일 미로그인 환경에서도 동일합니다. 관리자 세션이 잡히면 같은 영역에 **사용자 현황관리** 등이 함께 보입니다.
- **좌측 메뉴 하단 `관리자` / `관리자 off`**: 운영(OPS)에서 **이메일 인증**으로 로그인한 임직원에게도 표시됩니다. **`관리자`**는 모달에서 `ADMIN_TOKEN`을 입력해 검증한 뒤 `/admin`으로 이동합니다(`POST /api/admin/validate-token`). **`관리자 off`**는 관리자 쿠키를 지우고 학습센터 목록(`/learning`)으로 돌아갑니다(`GET /admin/logout`). 이메일 미로그인 환경에서도 동일합니다. **이미 관리자 세션**이면 중복이므로 `관리자` 항목은 숨기고, **사용자 현황관리** → 구분선 → **관리자 off** →(OPS일 때 구분선)→ **로그아웃** 순으로 표시됩니다.
- **학습센터** (`/learning`): 관리자 쿠키가 있을 때 상단 오른쪽 **학습 등록**으로 통합 관리 화면(`/admin`)에 들어갈 수 있습니다. 이메일(OPS) 로그인과 동시에 있어도 버튼이 숨겨지지 않습니다.
- **AI 성공 사례** (`/ai-cases`): 관리자일 때 상단 **사례 등록·관리**로 편집 화면(`/ai-cases/write`)에 진입합니다(동일하게 OPS 로그인 중에도 표시).

View File

@@ -35,8 +35,8 @@
<% if (_admin) { %>
<a href="/admin/users" class="nav-item <%= activeMenu === 'admin-users' ? 'active' : '' %>">사용자 현황관리</a>
<div class="nav-separator"></div>
<button type="button" class="nav-item nav-item-admin-entry" onclick="openAdminTokenModal()" title="관리자 토큰 입력">관리자</button>
<a href="/admin/logout" class="nav-item nav-item-ghost" title="관리자 모드 종료 후 학습센터 목록으로">관리자 off</a>
<div class="nav-separator nav-separator-between-footer"></div>
<a href="/logout" class="nav-item nav-item-ops-logout" title="이메일 인증 세션 종료">로그아웃</a>
<% } else { %>
<button type="button" class="nav-item nav-item-admin-entry" onclick="openAdminTokenModal()" title="관리자 토큰으로 인증">관리자</button>
@@ -46,7 +46,6 @@
<% } else if (_admin) { %>
<a href="/admin/users" class="nav-item <%= activeMenu === 'admin-users' ? 'active' : '' %>">사용자 현황관리</a>
<div class="nav-separator"></div>
<button type="button" class="nav-item nav-item-admin-entry" onclick="openAdminTokenModal()" title="관리자 토큰 입력">관리자</button>
<a href="/admin/logout" class="nav-item nav-item-ghost" title="관리자 모드 종료 후 학습센터 목록으로">관리자 off</a>
<% } else { %>
<div class="nav-separator"></div>