2.0 KiB
2.0 KiB
Tahap 15 — UI/UX Laptop dan HP
Shell dan navigasi
NavigationServiceadalah satu-satunya konfigurasi menu untuk desktop dan mobile; keduanya merenderpartials/navigation_itemsyang sama.- Menu dan quick action difilter permission; Admin tetap memperoleh seluruh menu administrasi.
- Pencarian menu, badge approval, quick action, breadcrumb, mobile bottom action bar dan shortcut scanner tersedia.
- Link mati
Umumdihapus. Identitas shell menggunakan Accounting tanpa identitas template lama.
Mobile behavior
- Touch target minimum 44 px, modal fullscreen, numeric keyboard, lazy image, sticky action, collapsible/filter panel utility dan summary card utility.
- Tabel biasa diubah ke card/detail per baris menggunakan label header. DataTables tetap memakai responsive extension.
- Form POST menolak submit ganda dan menampilkan global loading. Posting offline selalu ditolak.
- Upload gambar di atas 350 KB dikompresi client-side ke maksimum 1600 px/JPEG 82% jika browser mendukung Canvas/DataTransfer.
- Laporan profesional tetap dapat dilihat sebagai HTML; PDF bukan satu-satunya jalur.
Frontend dan PWA
- Bootstrap, DataTables, Select2, QR scanner dan SweetAlert dimuat berdasarkan halaman. SweetAlert duplikat pada login dihapus.
- Bootstrap dan jQuery memiliki fallback lokal. Aturan responsive kanonis berada di
app-final.css;app-responsive.min.cssdipertahankan hanya sebagai marker kompatibilitas cache PWA lama. JavaScript UI tetap menggunakanapp-ui.min.js. - PWA memakai ikon 192/512 yang benar. Service worker hanya cache
/assets/; halaman dan respons transaksi tidak disimpan untuk penggunaan offline.
Pengujian viewport
Headless Chrome diuji pada:
- 360×800
- 390×844
- 768×1024
- 1366×768
Artefak berada di docs/ui-tests/. Pemeriksaan regresi dapat dijalankan dengan php index.php stage15check.
Pengujian transaksi autentik tetap perlu dilakukan dengan akun per role pada perangkat fisik sebelum Production, terutama scanner/camera permission, keyboard mobile, upload foto, modal panjang dan proses approval.