update project context for checkpoint

master
a2nr 2025-11-17 07:07:38 +07:00
parent d64d3716c3
commit d894d880ed
1 changed files with 43 additions and 1 deletions

View File

@ -524,8 +524,50 @@ These tasks aim to further refine the application's functionality and user exper
- **Verified End-to-End Flow:** - **Verified End-to-End Flow:**
- Triggered the `_sendToFirefly` function in `ReceiptScreen`. - Triggered the `_sendToFirefly` function in `ReceiptScreen`.
- **Step 1: Transaction Submission:** Confirmed that the transaction is successfully created in Firefly III. - **Step 1: Transaction Submission:** Confirmed that the transaction is successfully created in Firefly III.
- **Step 2: PDF Generation:** Confirmed that the PDF receipt is generated locally on the device. - **Step 2: PDF Generation:** Confirmed that the PDF receipt is generated locally on the device.
- **Step 3: PDF Upload:** Confirmed that the `uploadAttachment` service method is called with the correct transaction ID and PDF data. - **Step 3: PDF Upload:** Confirmed that the `uploadAttachment` service method is called with the correct transaction ID and PDF data.
- **Step 4: Verification in Firefly III:** Manually checked the Firefly III instance and verified that the newly created transaction now has the correct PDF receipt attached to it. - **Step 4: Verification in Firefly III:** Manually checked the Firefly III instance and verified that the newly created transaction now has the correct PDF receipt attached to it.
- **Current Status:** The core feature of submitting a transaction and attaching the corresponding PDF receipt is now fully implemented and working correctly. - **Current Status:** The core feature of submitting a transaction and attaching the corresponding PDF receipt is now fully implemented and working correctly.
## [2025-09-18 11:39] - Update Item Quantity to Support Double Values
- **Feature Enhancement:** Modified the `ReceiptItem` model to support double values for quantities instead of only integers.
- **Changes Made:**
- Updated `quantity` property in `ReceiptItem` model from `int` to `double`
- Modified the quantity input validation in `AddItemScreen` to accept decimal values using `double.tryParse()` instead of `int.tryParse()`
- Updated the quantity display and calculation logic to handle decimal quantities properly
- **Impact:** This allows for more flexible item management, supporting scenarios like 0.5 kg of vegetables, 1.25 liters of liquid, etc.
- **Co-authored-by:** Qwen-Coder <qwen-coder@alibabacloud.com>
## [2025-11-08 12:15] - Implement Receipt Caching and Offline Submission
- **New Feature:** Added offline capability to cache receipts locally and submit them when the FireFly III server becomes available.
- **Key Changes:**
- Enhanced `LocalReceiptService` to store receipts with submission status tracking
- Added `fireflyTransactionId` and `fireflyTransactionUrl` properties to `LocalReceipt` model to store transaction references
- Implemented automatic retry mechanism for failed submissions when network connectivity is restored
- Added server availability checking before attempting to submit transactions
- Modified `ReceiptService` to handle both online and offline submission scenarios
- **Benefits:** Users can continue working even when the FireFly III server is temporarily unavailable, with transactions being queued and submitted automatically when connectivity is restored.
## [2025-11-08 13:38] - Add Swipe-to-Delete and WebView Transaction Features
- **Enhanced Local Receipts Screen:**
- **Swipe-to-Delete:** Implemented `Dismissible` widget in `LocalReceiptsScreen` to allow users to swipe right-to-left to delete receipts
- **Visual Feedback:** Added red background with delete icon during swipe action for clear user feedback
- **Confirmation:** Integrated with existing delete confirmation logic for safety
- **FireFly III Transaction WebView Integration:**
- **New Model Property:** Added `fireflyTransactionUrl` to `LocalReceipt` model to store the URL of the transaction in FireFly III
- **WebView Screen:** Created `WebViewScreen` widget to display FireFly III transactions within the app
- **Navigation:** Added tap functionality on receipt items in `LocalReceiptsScreen` to open the corresponding FireFly III transaction in WebView
- **URL Construction:** Implemented proper URL generation for FireFly III transaction viewing: `'$baseUrl/transactions/show/$transactionId'`
- **Improved Currency Formatting:**
- Enhanced currency formatting in `LocalReceiptsScreen` to properly handle Rupiah formatting without removing decimal places when necessary
- Maintained `.00` suffix only when required for proper currency display
- **Enhanced ReceiptService:**
- Updated `submitReceiptToFirefly` method to save the transaction ID and URL back to the local receipt after successful submission
- Added proper error handling and transaction reference updates during the submission process