- Invoice satu per struk berisi semua grup; kembalian/tip masuk total
- Submit ke Firefly III sebagai satu transaksi split; invoice dilampirkan sekali di pecahan pertama
- Nomor invoice 6 digit hex acak, ditentukan sebelum item dan direset tiap struk baru
- Tombol Lihat Invoice di floating menu; tombol invoice per grup dihapus
- Logo & QRIS pada invoice, pengaturan cetak logo/QRIS di struk thermal
- Simpan invoice ke folder Download via MediaStore Android
- Integrasi CashierStatusBar langsung di bawah potongan kertas sobek pada tampilan struk
- Quick dialog Bluetooth scanner langsung dari ketukan status bar tanpa ganti layar
- Penyesuaian lebar struk responsif proporsional dengan tear effect merata
- Pembersihan konfigurasi printer dan akun tujuan dari ConfigScreen
- Perampingan SpeedDial menjadi 5 tombol transaksi utama dengan variasi warna permanen
- Dialog tambah item lebih lebar dan nyaman untuk kasir
- Bump versi aplikasi ke 1.6.0+6
Multi-Grup Sumber & UI:
- Model ReceiptGroup: satu struk bisa punya banyak grup sumber (
revenue)
- Tombol "Tambah Sumber" dengan dashed border (max 10 grup)
- Hapus label "Dari:" di SourceAccountSelector (chip saja)
- Default 1 grup kosong di ReceiptProvider constructor &
_resetState
Akun Tujuan ke Config:
- Pindah DestinationAccountSelector dari receipt body ke Config
screen
- Persist & load via SharedPreferences (permanen, tidak di-reset)
- Dropdown auto-load dari cache/mirror saat buka Config
- Tombol "Sinkronisasi Manual" sekarang simpan ke mirror &
refresh dropdown
Batch Send via SubmissionTask:
- Model SubmissionTask: konteks per-grup (group/tip +
destination + date)
- TransactionSubmissionDialog refactor: terima
List<SubmissionTask>
- Helper buildTasksFromReceipt &
buildTasksFromAllUnsubmittedReceipts
- LocalReceiptsScreen: tombol "Kirim Semua Nota" + post-process
status
Bug Fix:
- copyWith sentinel pattern: field nullable (tipSourceAccount,
destinationAccount, fireflyUrl, accessToken) kini bisa di-set
ke null
- Tip dapat dibersihkan dengan "Batal Tip" & reset antar
transaksi
- Hapus tombol "Muat Akun" (redundan dgn Sinkronisasi Manual)
Lainnya:
- Date picker untuk tanggal transaksi
- Font courier prime caching via CourierStyles
- Perf: compute() untuk decode image, cancel stream bluetooth,
fix rebuild loop
- External link: <queries> AndroidManifest + skip canLaunchUrl
- Layout cetak: hapus Ke:, sederhanakan separator grup, hapus
TIP: TIDAK
- Hapus TransactionLinksScreen, ganti inline copy/open di popup
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Mengimplementasikan ReceiptScreen dengan pola provider untuk manajemen state yang lebih baik. Memisahkan logika bisnis ke service terpisah dan membuat widget komponen yang reusable untuk struk. Menambahkan fitur konfigurasi informasi toko dan teks kustom (disclaimer, thank you note, pantun).