Cute Theme

Pilih nuansa pastel untuk tampilan pembeli.

🍰

Risoles MamSien

Pre-order Risol dan sosis solo yukk !!

PO Risol MamSien.

Jajan Risoles & Sosis Solo Mamsien Sekarang Gak Pake Ribet! 😍✨,Tinggal klik, pilih menu, langsung kelihatan stok real-time-nya. Begitu sreg, langsung checkout instan tanpa lag, tanpa drama reload! Tinggal rebahan manis di rumah, tunggu kurir dateng anterin Risoles & Sosis Solo anget kesukaanmu. Yuk, langsung amankan slot PO kamu sekarang sebelum kehabisan! 🚀👇

Tanggal PO

{{ formattedPoDate }}

Menu Aktif

{{ availableItems.length }} item

{{ activeView === 'admin' ? 'Order Masuk' : 'Status PO' }}

{{ activeView === 'admin' ? `${store.orders.length} pesanan` : (isPoOpen ? 'Sedang Dibuka' : 'Sedang Ditutup') }}

Ilustrasi risoles MamSien
Yukk dipilih dan langsung Checkout !

Login Admin

Masuk dengan username dan password admin. Detail konfigurasi Firebase disembunyikan dari halaman login biasa.

Mode setup aktif. Di bawah ini Anda bisa menguji koneksi Firebase dan mengubah konfigurasi admin.

Konfigurasi admin belum siap

Domain online ini belum memiliki config Firebase tersimpan. Buka setup admin untuk mengisi config sekali pada origin ini, atau embed config langsung ke file saat deploy.

{{ firebaseConnectionLabel }}

{{ firebase.lastError || 'Tes ini akan memeriksa Firebase App, Auth, dan Firestore dari browser ini.' }}

Setup mode hanya untuk mengisi config Firebase dan menguji koneksi. Akses dashboard admin tetap memerlukan login yang valid.

Setup Firebase

Config ini disimpan lokal lalu dipakai untuk Auth admin dan Firestore realtime.

{{ firebaseConfigured ? 'Siap konek' : 'Belum lengkap' }}
{{ firebaseConnectionLabel }}

Ambil field config dari Project settings → General → Your apps → SDK setup and configuration.

{{ firebase.lastError || 'Indikator hijau berarti Firebase App dan Firestore berhasil dijangkau dari browser ini.' }}

Field adminUsername dipakai untuk login. Jika dikosongkan, username akan memakai bagian depan dari adminEmail.

Setting Tanggal Open PO

Tanggal ini akan tampil otomatis di halaman pembeli.

Status PO

{{ isPoOpen ? 'Pembeli bisa melihat menu dan checkout.' : 'Halaman pembeli menampilkan pesan PO ditutup.' }}

Link Halaman Terpisah

Bagikan link pembeli tanpa menampilkan dashboard admin.

Link Pembeli

Link Admin

Nomor WhatsApp Admin

Nomor ini dipakai pembeli untuk kirim konfirmasi pesanan via WhatsApp.

Cute Mode

Ganti nuansa pastel utama. Mode aktif ikut terbaca di tampilan pembeli.

{{ currentThemeMode }}

Gambar Dashboard Buyer

Ubah ilustrasi hero pada tampilan pembeli agar sesuai promo atau menu andalan.

Hero visual
Preview hero dashboard buyer

Atur ilustrasi hero buyer

Gambar baru akan langsung dipakai pada bagian dashboard buyer dan tersimpan di browser ini.

Saran: gunakan PNG transparan agar objek menyatu lembut dengan gradient hero.

Manajemen Menu & Stok

Aktifkan menu, lalu atur stok yang bisa dibeli pembeli.

{{ store.menu.length }} menu

Tambah Menu Baru

Isi detail menu lalu simpan ke daftar item.

Foto menu tampil lagi di daftar admin dan buyer.

Stok Kritis

{{ card.label }}

{{ card.value }}

{{ card.note }}

{{ card.emoji }}

Dashboard Laporan

Ringkasan pembelian, transaksi, dan omzet dari semua pesanan masuk.

{{ filteredOrders.length }} transaksi dalam filter

{{ report.label }}

{{ report.value }}

{{ report.note }}

Log Pesanan Masuk

{{ firebase.mode === 'cloud' ? 'Pesanan tampil realtime dari Firestore.' : 'Pesanan masih berjalan dari penyimpanan lokal browser.' }}

Pembeli Kontak Pesanan Pembayaran Total

{{ order.customerName }}

{{ order.createdAtFormatted }}

Antrean {{ formatQueueNumber(order.queueNumber) }}

{{ order.phone }}
  • {{ line.name }} x{{ line.quantity }}
{{ order.paymentStatus || (order.transferProof ? 'Bukti Masuk' : 'Menunggu Bukti') }}

{{ order.transferProofName || 'Bukti transfer pembeli' }}

Belum ada upload bukti transfer.

{{ currency(order.total) }}

{{ store.orders.length ? 'Filter belum menemukan pesanan' : 'Belum ada pesanan' }}

{{ store.orders.length ? 'Ubah rentang tanggal untuk melihat transaksi lain.' : 'Pesanan pembeli akan muncul di sini setelah checkout.' }}

😴
ZzZ

PO Sedang Ditutup

Sabar ya cantik, PO akan segera dibuka kembali! Pantau terus halaman ini 🌸✨

1

Data Diri Pembeli

Isi data sebelum melakukan checkout.

Draft keranjang tersimpan otomatis di browser ini.
Informasi Open PO

{{ formattedPoDate }}

Tanggal Open PO Risoles MamSien, Menu yang ditampilkan secara realtime dengan stok yang ada.

Menu Tersedia

Menu yang ditampilkan sesuai dengan stok yang ada.

{{ availableItems.length }} item aktif
{{ item.stock === 0 ? 'Habis Terjual' : 'Stok ' + item.stock }} Stok Kritis {{ currency(item.price) }}

{{ item.name }}

{{ item.description }}

{{ quantities[item.id] || 0 }}

Belum ada menu aktif

Aktifkan menu dari tab admin agar pembeli bisa mulai memesan.

Keranjang Aktif

{{ cartCount }} item • {{ currency(cartPaymentTotal) }}

{{ checkoutSummaryNote }}

Delivery Checker

Cek Ongkir Delivery

Ongkir hanya untuk estimasi pembeli dan tidak masuk ke total checkout, receipt, atau print.

Alamat Pickup

{{ deliveryPickupAddress }}

Buka Maps

Catatan

{{ deliveryNote }}

Pilih provider lalu cek estimasi dari lokasi kamu ke alamat pickup.

Di HP, tombol provider akan menyalin alamat pickup lalu mencoba membuka aplikasi yang terinstall. Jika aplikasi tidak terbuka, halaman provider akan dibuka lewat browser.

{{ successModal.title }}

{{ successModal.message }}

Proses Pembayaran

Bayar dengan QRIS

Sesi pembayaran ini tersimpan di browser selama {{ paymentSessionMinutesLeft }} menit. Jika halaman refresh, proses ini bisa dibuka lagi selama belum expired.

Order ID

{{ activePaymentOrder.id }}

Antrean {{ formatQueueNumber(activePaymentOrder.queueNumber) }}

{{ activePaymentOrder.customerName }} • {{ activePaymentOrder.phone }}

Timeline Checkout

{{ step.icon }}

{{ step.label }}

Subtotal{{ currency(activePaymentOrder.subtotal || activePaymentOrder.total) }}
Kode unik+{{ formatUniqueCode(activePaymentOrder.uniqueCode) }}
Total QRIS{{ currency(activePaymentOrder.total) }}

Rincian Pesanan

{{ line.name }} x{{ line.quantity }} {{ currency(line.price * line.quantity) }}
QRIS Risoles MamSien

Scan QRIS dan bayar tepat sesuai total QRIS agar admin mudah mencocokkan kode unik.

Upload Bukti Pembayaran

Bukti disimpan ke order dan akan dicoba dikirim sebagai lampiran WhatsApp jika browser mendukung.

{{ activePaymentOrder.transferProofName || 'Bukti pembayaran' }}

Jika nomor WhatsApp admin belum terbaca di perangkat ini, HP akan membuka menu share agar kamu bisa memilih WhatsApp dan mengirim bukti manual ke admin.

🍽️ Risoles MamSien

Buyer Order Receipt

{{ activeReceiptOrder.id }}

Nomor Antrean {{ formatQueueNumber(activeReceiptOrder.queueNumber) }}

Receipt Pembelian untuk konfirmasi Risoles MomSien. Simpan detail ini untuk bukti pemesanan dan konfrimasi pembelian.

Nama Pembeli

{{ activeReceiptOrder.customerName }}

{{ activeReceiptOrder.phone }}

Waktu Order

{{ activeReceiptOrder.createdAtFormatted }}

{{ activeReceiptOrder.paymentStatus || 'Menunggu Pembayaran' }}

Rincian Pesanan

{{ activeReceiptOrder.items.length }} baris item

{{ line.name }}

{{ currency(line.price) }} x {{ line.quantity }}

{{ currency(line.price * line.quantity) }}

Pembayaran QRIS

Scan QRIS, bayar sesuai total unik, lalu kirim bukti via WhatsApp.

QRIS Risoles MamSien

Mohon bayar tepat sesuai Total QRIS. Dua digit terakhir adalah kode unik agar admin mudah mencocokkan pembayaran.

Total Pembayaran QRIS

{{ currency(activeReceiptOrder.total) }}

Subtotal pesanan{{ currency(activeReceiptOrder.subtotal || (activeReceiptOrder.total - (activeReceiptOrder.uniqueCode || 0))) }}
Kode unik+{{ formatUniqueCode(activeReceiptOrder.uniqueCode) }}
Status{{ activeReceiptOrder.paymentStatus || 'Menunggu Pembayaran' }}

Terima kasih sudah pesan di Risoles MamSien. Simpan receipt ini sampai pembayaran dikonfirmasi admin.

Setting Firebase

Auth admin, realtime sync, dan transaksi stok akan membaca config dari sini.

{{ cloudStatusLabel }}
{{ firebaseConnectionLabel }}

Ambil nilai config dari Firebase Console → Project settings → General → Your apps → SDK setup and configuration → Config.

{{ firebase.lastError || 'Jika Firestore atau Auth belum aktif, test koneksi akan gagal dan indikator tetap merah.' }}

Field adminUsername dipakai untuk login. Jika dikosongkan, username akan memakai bagian depan dari adminEmail.

{{ toast.title }}

{{ toast.message }}