# Feedback & Loading ## Flash Messages - Partial: `partials/flash.blade.php` - Variasi: success (emerald), error (red), warning (amber) - Turbo-aware payload: `partials/ui-flash-payload.blade.php` untuk refresh frame ## Loading Overlay - Global overlay `#ui-loading-overlay` (`role="status"`) - Spinner + pesan kustom via `data-loading-message` pada form - Body class `ui-is-loading` mencegah scroll - Pesan contoh: "Memverifikasi login LDAP...", "Menyimpan profil..." ## Result Dialog - Modal `#ui-dialog` (`role="alertdialog"`, `aria-modal`) - Tipe: success (✓), error (!), info (i) - Judul default Bahasa Indonesia: Berhasil / Gagal / Informasi - Tombol OK dengan auto-focus ## Button Loading State - Class `.ui-btn.is-loading`: spinner inline, teks transparan - Script: `public/js/ui-feedback.js` ## Inline Error (Halaman) - Blade `@if ($error)` banner merah/amber di atas konten - Validasi form: `@errors` / `$errors->first()` di login ## Progress Bar SPA - `#app-content-progress` di atas turbo-frame - Animasi gradient cyan saat navigasi frame loading ## Animasi Konten - Frame selesai load: `app-content-in` (fade + translateY 4px) - Frame loading: opacity 0.72