This commit removes the confusing default account mapping feature and implements a more reliable offline-first account mirroring system. The changes include:
BREAKING CHANGES:
- Remove all default account mapping functionality (saveDefaultAccount, getDefaultAccount, etc.)
- Simplify account selection to use direct account choice instead of default mapping
FEATURES:
- Implement account mirroring system that stores all FireFly III accounts locally
- Add offline-first approach: server accounts > mirrored accounts > fallback
- Automatic account sync when connection is available
- Manual sync capability in config screen
- Enhanced offline reliability - app works completely without server connection
IMPROVEMENTS:
- Faster startup times using local account cache
- More predictable account selection behavior
- Reduced confusion about which accounts are being used
- Better error handling for offline scenarios
- Simplified architecture without complex default mapping logic
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).
• Replace StrukTextGenerator with EscPosPrintService to support image printing
• Add loading indicator during print process to prevent UI freeze
• Fix Uint8List type issues for printer compatibility
• Improve error handling with proper state management
• Users can now print selected store logo on thermal receipts
- Menambahkan pengecekan koneksi Bluetooth real-time untuk memastikan status koneksi akurat
- Memperbaiki tombol 'Cetak Struk' untuk menggunakan pengecekan koneksi yang benar
- Menambahkan mekanisme koneksi ulang otomatis jika printer terputus
- Meningkatkan fungsi pencetakan dengan penanganan error yang lebih baik dan percobaan ulang
- Menambahkan logging detail di plugin Bluetooth Print (Java) untuk debugging
- Menyesuaikan format struk untuk kompatibilitas printer termal
- Menghapus file yang tidak digunakan (printer_setup_screen.dart, settings_screen.dart)
- Menambahkan fitur WebView untuk menampilkan transaksi Firefly III