Files
alla-tms/docs/management-change-user-menu-review.md
2026-07-16 09:53:14 +07:00

2.5 KiB

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