This commit is contained in:
2026-07-16 09:53:14 +07:00
parent 0fc112a2e8
commit 29cec708a3
1236 changed files with 212848 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
# Summary
ปรับ User Dropdown Menu ตาม feedback โดยเพิ่มการแสดงรหัสพนักงานในเมนูผู้ใช้ และลบเมนู Profile ออก พร้อมคงการใช้งาน Dashboard และ Log out ไว้ตามเดิม
# Files Changed
- `src/components/layout/user-nav.tsx`
- `src/auth.ts`
- `src/types/next-auth.d.ts`
# Session Changes
- เพิ่ม `employeeCode` ในข้อมูลที่ return จาก Auth.js credentials authorize callback
- เพิ่ม `session.user.employeeCode` ใน session callback
- ขยาย type ของ NextAuth session/user ให้รองรับ `employeeCode: string | null`
# UI Changes
- User dropdown แสดงข้อมูลดังนี้:
- ชื่อผู้ใช้
- `รหัสพนักงาน: <employeeCode>`
- อีเมล
- หากไม่มีรหัสพนักงาน จะแสดง `รหัสพนักงาน: -`
- ลบเมนู `Profile` ออกจาก dropdown
- คงเมนู `แดชบอร์ด` และ `ออกจากระบบ`
- ปรับข้อความใน dropdown เป็นภาษาไทย
# Permission/Security Notes
- ใช้เฉพาะ `employeeCode` จาก user/session ที่มีอยู่แล้วในระบบ
- ไม่มีการ expose `passwordHash` หรือ field อ่อนไหวอื่นเพิ่ม
- การเปลี่ยนแปลงนี้เป็น presentation-level change บนข้อมูลที่ session ใช้งานอยู่แล้ว
# 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.
# Known Limitations
- หากข้อมูล `employeeCode` ในตาราง `users` เป็นค่าว่าง ระบบจะแสดง `-` ตามที่กำหนด
- การเปลี่ยนแปลงนี้ไม่แก้ไขข้อมูลต้นทางของผู้ใช้ในฐานข้อมูล มีผลเฉพาะการแสดงผลใน dropdown