Halaman utama (production entry). State hari diturunkan dari log: pagi review (belum mulai) β satu tap Mulai Penjualan β jualan LIVE β Tutup (ketik "tutup") β Buka (ketik "buka"). Void dari strip penjualan terakhir.
Tap pill di layar kasir: intip ringkasan uang (internal!), lihat semua penjualan, Tutup Penjualan, dan "Lainnyaβ¦" (admin: ekspor + pengaturan, dua langkah dalam).
Proyeksi log: per varietas (kg, bruto), per metode bayar, total bersih β navigasi antar hari.
Sales JSONL + Ringkasan CSV dalam satu ZIP (untuk agen rekonsiliasi) dan Log JSONL lengkap (lanjutan).
Strategi pembulatan (Rp500), nama perangkat, editor katalog (terkunci saat LIVE), gambar QRIS stan, zona bahaya.
Versi prototipe sebelumnya (dengan tab bar) diarsipkan di ../prototype-v1/ untuk perbandingan.
Semua data tersimpan di IndexedDB perangkat ini β log event append-only, satu-satunya sumber kebenaran. Mulai production = kosong: buka kasir.html langsung.
Dev: buka dengan ?demo=1 untuk memunculkan seeding contoh data (tersembunyi di production).