6.7 KiB
6.7 KiB
Responsive QA After Management Change Review
1. Summary
รอบนี้เป็นการเก็บงาน responsive หลัง management UI changes โดยโฟกัสที่จุดเสี่ยงล้นหน้าจอจาก navigation, header, dropdown/popover, filter toolbar, report filters, course selection, และ announcement detail
ไม่ได้เพิ่ม business feature ใหม่ และไม่ได้แก้ database schema หรือรื้อ layout หลักของระบบ
2. Screens Tested
เป้าหมาย breakpoint ที่ใช้ตรวจรอบนี้:
- 360px
- 390px
- 412px
- 768px
- 1024px
- 1440px
หมายเหตุ:
- ใน session นี้ in-app browser ใช้งานไม่ได้ จึงเป็นการทำ responsive QA เชิงโค้ดและ layout constraints ตาม breakpoint เป้าหมาย
- แนะนำให้ทำ visual regression/manual pass ซ้ำใน Chrome และ Edge หลัง pull งานนี้
3. Pages Reviewed
Employee:
/dashboard/overview/dashboard/training-records/dashboard/training-records/create/dashboard/training-records/[id]/dashboard/announcements/dashboard/announcements/[id]/dashboard/notifications
HRD/Admin:
/dashboard/overview/dashboard/pending-review/dashboard/training-records/dashboard/training-records/[id]/review/dashboard/courses/dashboard/training-policy/dashboard/import-employees/dashboard/announcements/dashboard/reports/dashboard/audit-logs
4. Issues Found
- Header area มีโอกาสล้นบน mobile เมื่อ breadcrumb ยาวและมี notification bell อยู่ฝั่งขวา
- Breadcrumb item ล่าสุดมีโอกาสดัน layout ถ้าชื่อหน้ายาว
- User dropdown มีโอกาสกว้างเกิน viewport บน mobile และ email อาจล้น
- Notification popover มีโอกาสล้น width บนหน้าจอเล็ก และ header ภายใน popover wrap ไม่ดี
- Course select popover มีโอกาสกว้างเกินหน้าจอ และชื่อหลักสูตรยาวอาจดัน layout
- Data table toolbar filters บางช่องไม่มี
min-w-0ทำให้ wrap ได้ไม่ดี - Reports filter area เสี่ยงล้นเมื่อ select หลายช่องและปุ่ม export อยู่ร่วมกัน
- Announcement detail attachment button ยังไม่ friendly กับ mobile width
- Page heading ขนาดใหญ่และไม่ wrap ในบางหน้า
5. Issues Fixed
- ปรับ header ให้
min-w-0และลดแรงกดของ breadcrumb บน mobile - ปรับ breadcrumb list และ current page ให้ truncate ได้
- ปรับ user dropdown ให้มี
max-widthตาม viewport และให้ emailbreak-all - ปรับ notification popover ให้ width ไม่เกินจอและ header ภายใน wrap ได้
- ปรับ course select trigger/content ให้ไม่เกิน viewport และ truncate รายการยาว
- เพิ่ม
min-w-0ให้ table toolbar inputs เพื่อช่วยการ wrap บน mobile - ปรับ overview/reports filter sections ให้ label/action area wrap ได้สะอาดขึ้น
- ปรับ announcement attachment action ให้ใช้งานเต็มความกว้างบน mobile
- ปรับ page heading ให้ responsive ขึ้นและ wrap ได้
6. Files Changed
src/components/layout/header.tsxsrc/components/breadcrumbs.tsxsrc/components/layout/user-nav.tsxsrc/components/ui/heading.tsxsrc/components/ui/table/data-table-toolbar.tsxsrc/features/notifications/components/notification-center.tsxsrc/features/notifications/components/notifications-page.tsxsrc/features/training-records/components/training-record-course-combobox.tsxsrc/features/overview/components/overview-filter-panel.tsxsrc/features/reports/components/reports-page-content.tsxsrc/features/reports/components/report-table-card.tsxsrc/features/announcements/components/announcement-view-page.tsx
7. Responsive Patterns Applied
min-w-0กับ container ที่มีข้อความไทยยาวtruncateกับ breadcrumb และ select option labelsbreak-allสำหรับ email ใน user dropdownmax-w-[calc(100vw-...)]กับ dropdown/popover/select contentw-full sm:w-autoสำหรับ action button บน mobileflex-wrapใน header/popover/filter action groupstext-2xl sm:text-3xlสำหรับ page heading
8. Remaining Risks
- ยังไม่ได้ทำ visual click-through automation ใน Chrome/Edge จริงใน session นี้ เพราะ browser automation surface ไม่พร้อมใช้งาน
- Route access ของ employee ไปหน้า reports โดย URL ตรงควรตรวจ policy อีกครั้ง หากต้องการ “เข้าไม่ได้” ไม่ใช่แค่ “ไม่เห็นเมนู”
- บางข้อความไทยใน repo ยังมี encoding เพี้ยนใน source output/terminal แม้ไม่กระทบ layout โดยตรง แต่ควร cleanup แยกต่างหาก
9. Manual Test Checklist
- 360px layout works
- 390px layout works
- 412px layout works
- 768px layout works
- 1024px layout works
- 1440px layout works
- Employee menu is correct
- HRD/Admin menu is correct
- Header bell works
- User dropdown works
- Dashboard filter does not overflow
- Course dropdown works on mobile
- Other course input works on mobile
- TimePicker works on mobile
- Certificate dialog works on mobile
- Tables scroll correctly
- Reports are HRD only
- Thai text does not break layout
10. Responsive Readiness Score
8/10
เหตุผล:
- จุดล้นที่เสี่ยงที่สุดหลัง management change ถูกเก็บแล้ว
- desktop layout เดิมยังถูกคงไว้
- ยังควรมี browser-based QA pass จริงอีก 1 รอบก่อนปิดงาน UAT