admin-mvp-1-ia-handover.html · Stack: React 19 + TanStack Start (SPA) · shadcn amber b1MJ9vRwY6 · light-mode iter-1
Founder-facing daily · Dashboard role-scoped widget + "Tugas Hari Ini" flagship · ⌘K fast-nav across 51 pages (Linear-anchor) · light mode · Indonesian · WIB
schedule:*finance:*finance:*).Landing langsung kasih yang butuh aksi, di-tag per domain (ops/finance). Tiap card tied ke permission — ADMIN liat union (ops+finance), OPS liat ops-only, FINANCE finance-only. 1-tap ke action. Speed goal "less time di dashboard".
Widget di-gate by PERMISSION (bukan role). Section per domain (Operasional schedule:* / Keuangan finance:*). Multi-role (OPS+FINANCE) = UNION section otomatis dari Negation ACL. No role-switcher — section tanpa permission gak di-render. Hero aggregate across semua permission.
Tiap widget = stat ringkas + "Buka →" link ke page detail. Antrian, Sesi minggu, FM, Aging (bucket bar), Mark-paid pending, Period close status.
Widget Tutup Periode nampilin "Blocked" + alasan (3 sesi in-prog, 1 FM) → tau apa yang harus diberesin sebelum close.
shadcn: Card (widget), Badge, Button, Progress/custom bar (aging), gradient hero (custom). Grid responsive 3-col → 2 (tablet) → 1 (mobile).
Personalisasi ringan ("Selamat pagi, Fahrul") + tanggal Indonesian + count "N hal butuh perhatian". Set tone harian.
Ketik partial → fuzzy match nav + action + entity. Power-user gak perlu klik sidebar — ⌘K, ketik, ↵. Speed goal "cepet execution".
Navigasi (ke page) · Aksi cepat (Buat sesi, Approve next, Mark paid, Tutup periode) · Cari entity (tutor/siswa/sesi by nama/ID) · Bantuan (shortcut cheatsheet).
Baru buka palette (sebelum ngetik) → tampil recent visited + aksi sering dipakai. Toggle state di atas buat liat.
Cari tutor/siswa/sesi by nama atau ID → Hyperdrive-cached query, hasil <500ms. Deep-link langsung ke detail.
shadcn Command (cmdk-based) — Dialog + grouped list + keyboard nav built-in. Bind ke TanStack Router routes + entity search API.
↑↓ navigate, ↵ select, esc close. Plus chord shortcuts (G→S jadwal, G→P orang) buat power-user yang hapal.