1.9 KiB
1.9 KiB
You are a Senior Full Stack Engineer.
Project: Training Management System (TMS)
Current task: Update User Dropdown Menu based on management feedback.
Important constraints:
- Do NOT change folder structure.
- Do NOT migrate ORM.
- Do NOT break existing Auth.js session.
- Keep Thai UI.
- Minimal-impact changes only.
Requirements:
- In the user dropdown menu, display employee code under or near the user name/email.
Current display:
- Name
New display:
- Name
- Employee Code
Thai label:
- รหัสพนักงาน: EMP001
If employeeCode is missing:
- รหัสพนักงาน: -
- Remove the Profile menu item from the dropdown.
Current dropdown items:
- Dashboard
- Profile
- Log out
New dropdown items:
- Dashboard
- Log out
-
Keep Dashboard menu item.
-
Keep Log out menu item.
-
Ensure employeeCode is available from:
- Auth.js session
- user query
- or existing user object
- If employeeCode is not currently included in session:
- update session callback/type mapping safely
- do not expose sensitive fields
Files likely involved:
- src/components/layout/user-nav.tsx
- src/auth.ts
- src/lib/auth/session.ts
- src/types/next-auth.d.ts
- src/db/schema.ts only if employeeCode already exists but not selected
Output Review File:
Create: docs/management-change-user-menu-review.md
Include:
- Summary
- Files Changed
- Session Changes
- UI Changes
- Permission/Security Notes
- Manual Test Checklist
- Known Limitations
Manual Test Checklist:
- User dropdown shows name.
- User dropdown shows employee code.
- User dropdown shows email.
- Missing employee code displays "-".
- Profile menu is removed.
- Dashboard menu still works.
- Log out still works.
- No password hash or sensitive data is exposed.
- Works for Employee.
- Works for HRD.
Return:
- Complete code changes with file paths.
- Content of docs/management-change-user-menu-review.md.