51 lines
2.5 KiB
Markdown
51 lines
2.5 KiB
Markdown
# 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
|