Commit Graph

157 Commits

Author SHA1 Message Date
Nils-Johan Gynther 621ced0e43 refactor: streamline alias editing and improve category path handling in admin panel
Test Suite / backend-pr-quick (push) Has been skipped
Test Suite / quick-import-pr-quick (push) Has been skipped
Test Suite / backend-full (push) Failing after 21s
Test Suite / flutter-quality (push) Successful in 57s
2026-05-12 21:53:19 +02:00
Nils-Johan Gynther 46b9be4791 feat: implement update functionality for receipt aliases and add corresponding tests
Test Suite / backend-pr-quick (24.15.0) (push) Has been skipped
Test Suite / quick-import-pr-quick (24.15.0) (push) Has been skipped
Test Suite / backend-full (24.15.0) (push) Failing after 22s
Test Suite / flutter-quality (push) Failing after 4s
2026-05-12 21:25:48 +02:00
Nils-Johan Gynther fb6b371fb7 feat: enhance error dialogs with delete functionality and improve documentation
Test Suite / backend-pr-quick (24.15.0) (push) Has been skipped
Test Suite / quick-import-pr-quick (24.15.0) (push) Has been skipped
Test Suite / backend-full (24.15.0) (push) Failing after 26s
Test Suite / flutter-quality (push) Failing after 4s
2026-05-12 21:11:54 +02:00
Nils-Johan Gynther 98ee8a3ad6 feat: implement real-time database synchronization with SSE and update backend modules
Test Suite / backend-pr-quick (24.15.0) (push) Has been cancelled
Test Suite / backend-full (24.15.0) (push) Has been cancelled
Test Suite / flutter-quality (push) Has been cancelled
2026-05-12 16:57:05 +02:00
Nils-Johan Gynther d645d3ad9d feat: add Flutter quality checks and tests for category chips in inventory and pantry screens
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / flutter-quality (push) Has been cancelled
2026-05-12 16:13:10 +02:00
Nils-Johan Gynther cd84e25890 feat: enhance category handling with new category chip logic and user-specific product categorization
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 22:03:09 +02:00
Nils-Johan Gynther f19c157e8f feat: add updateCategoryMine endpoint to manage product category updates
Test Suite / test (24.15.0) (push) Has been cancelled
- Implemented a new PATCH endpoint in ProductsController to update the category of a user's product.
- Added corresponding service method in ProductsService to handle business logic and validation.
- Created UpdateCategoryMineDto for request validation.
- Enhanced error handling for forbidden actions and not found resources.
- Updated API error mapping in Flutter to handle specific forbidden messages.
- Modified ProductPickerField to allow product creation directly from the picker.
- Added tests for the new endpoint and service method to ensure proper functionality and error handling.
2026-05-11 21:41:42 +02:00
Nils-Johan Gynther 8e0166c68a feat: Improve category ID handling with dynamic parsing in inventory screens
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 21:18:06 +02:00
Nils-Johan Gynther 3e0af925d5 feat: Refactor inventory screens with category selection and product handling improvements
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 21:09:40 +02:00
Nils-Johan Gynther 2281df3716 feat: Add location display and category chips in pantry and inventory screens
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 20:53:11 +02:00
Nils-Johan Gynther 68476142c1 refactor: Remove PantryProduct class and simplify category resolution in PantryScreen
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 20:01:00 +02:00
Nils-Johan Gynther a635f1002a feat: Enhance inventory screens with category selection and product loading improvements
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 19:40:02 +02:00
Nils-Johan Gynther d05b7da8bc feat: Add isPrivate field to AdminProduct and update filtering logic in admin panels
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 19:30:42 +02:00
Nils-Johan Gynther a4f65c6065 feat: Implement caching for selectable products and enhance product filtering in admin panels
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 18:42:35 +02:00
Nils-Johan Gynther 9b4d1f94bf Refactor category handling in inventory and pantry forms
Test Suite / test (24.15.0) (push) Has been cancelled
- Introduced `_categorySearchController` and `_categoryOptions` in both `_InventoryFormDialogState` and `_PantryFormDialogState` to manage category selection more effectively.
- Implemented `_flattenCategoryOptions` method to create a flat list of category options from nested category nodes.
- Updated the initialization and disposal of the new controllers to ensure proper resource management.
- Made minor adjustments to the PopupMenuItem definitions in `AppShell` for consistency.
2026-05-11 17:03:58 +02:00
Nils-Johan Gynther 3ad6cfee50 feat: Introduce SearchableCategoryField component and integrate it into admin panels for enhanced category selection
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 12:20:57 +02:00
Nils-Johan Gynther f132983b75 feat: Implement admin pantry item management with create and update functionality, including category selection and validation
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 11:18:13 +02:00
Nils-Johan Gynther 573c12cdc3 feat: Add _getMap and _postMap methods for improved API handling and refactor resetPassword to use _postMap
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 10:40:54 +02:00
Nils-Johan Gynther 56050a896b feat: Enhance apple categorization logic and improve bulk category update feedback
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 10:31:57 +02:00
Nils-Johan Gynther 06056c6182 feat: Improve bulk category update functionality with validation and clearer logic
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 10:22:17 +02:00
Nils-Johan Gynther afbc5b91b2 feat: Enhance admin panel navigation and UI by implementing tab management and improving layout structure
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 10:10:03 +02:00
Nils-Johan Gynther 06492ff099 feat: Refactor admin database panel to improve tab management and enhance UI structure with dedicated tab configuration
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 09:55:52 +02:00
Nils-Johan Gynther 1d2c3c9032 feat: Refactor inventory screen to improve type safety and enhance UI structure with dedicated widget methods
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 09:40:42 +02:00
Nils-Johan Gynther d4a7983afb feat: Add bulk delete and merge functionality for inventory items with DTOs and API endpoints
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 09:36:15 +02:00
Nils-Johan Gynther 8e6e0e96b8 feat: Enhance admin user management with search, filtering, and sorting capabilities
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-11 09:22:19 +02:00
Nils-Johan Gynther 84ccabe2fe feat: Add functionality to move inventory items to pantry and enhance pantry management
Test Suite / test (24.15.0) (push) Has been cancelled
- Implemented moveInventoryItemToPantry method in InventoryRepository to facilitate moving items from inventory to pantry.
- Enhanced InventoryScreen with a new header section providing context about the inventory.
- Added a button in SwipeableInventoryTile to move items to pantry with appropriate error handling.
- Introduced movePantryItemToInventory method in PantryRepository to support moving items back to inventory.
- Refactored PantryScreen to rename _addToInventory to _moveToInventory for clarity and updated UI to reflect changes.
- Added AdminPantryItem model to represent pantry items in the admin panel.
- Created AdminPantryPanel for managing pantry items, including moving items to inventory and listing users.
- Developed AdminPrivateProductsPanel for managing private products, allowing promotion to global products.
2026-05-11 09:06:30 +02:00
Nils-Johan Gynther 1709bb1dad Implement admin inventory management features including CRUD operations, merging, filtering, sorting, previewing, and security enhancements. Update documentation and add comprehensive test coverage for security and validation.
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-10 00:20:25 +02:00
Nils-Johan Gynther 65137b41fb feat: implement alias strategy for receipt import with user-scoped and global fallback, enhance validation and normalization, and update UI components
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-09 23:41:42 +02:00
Nils-Johan Gynther 7aa93ff5d0 refactor: streamline error handling by removing redundant SnackBar calls in AdminProductsPanel
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-09 23:26:56 +02:00
Nils-Johan Gynther 14a1107466 feat: add private product management endpoints for updating canonical names and merging products
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-09 23:19:28 +02:00
Nils-Johan Gynther 9f3f5c1cef feat: add canonical name endpoint and update product renaming functionality in admin panel
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-09 22:58:23 +02:00
Nils-Johan Gynther b121000bf7 feat: enhance receipt import matching logic to include category path resolution and improve edit handling
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-09 16:06:19 +02:00
Nils-Johan Gynther 8354abbc8f feat: implement save receipt functionality with transaction handling and DTOs
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-09 15:04:23 +02:00
Nils-Johan Gynther bd78b1de81 feat: add "See receipt" button and preview modal in receipt import flow
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-08 16:56:03 +02:00
Nils-Johan Gynther e3bbd7d99e feat: replace ListView with SingleChildScrollView for better layout in admin panels
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-08 16:31:09 +02:00
Nils-Johan Gynther fc366547c7 feat: clean up imports and fix minor formatting issues in various files
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-08 15:31:30 +02:00
Nils-Johan Gynther 84dbe8490d feat: remove unused methods and improve widget styling in various screens
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-08 15:28:54 +02:00
Nils-Johan Gynther 5019bf6acf feat: add import for ProductOption in receipt_import_tab
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-08 14:33:58 +02:00
Nils-Johan Gynther 5aadc34d4a feat: remove unused import for product_picker_field in receipt_import_tab
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-08 12:58:55 +02:00
Nils-Johan Gynther 0873fa42bb feat: Refactor routing and navigation structure with StatefulShellRoute
Test Suite / test (24.15.0) (push) Has been cancelled
- Introduced a new function `_shellBranchIndexForPath` to determine the index of the shell branch based on the path.
- Replaced `ShellRoute` with `StatefulShellRoute.indexedStack` for better state management during navigation.
- Updated `AppShell` to handle navigation path changes and integrate with the new routing structure.
- Organized routes into `StatefulShellBranch` for better modularity and clarity.
- Enhanced admin panel functionality with improved alias management and UI updates.
- Added new methods in `ReceiptImportSessionNotifier` for managing selected items and edits more efficiently.
- Improved UI components in receipt import and admin panels for better performance and user experience.
- Added PageStorageKeys to various ListViews to maintain scroll positions across navigation.
- Documented performance goals and profiling strategies in a new PERFORMANCE.md file.
2026-05-08 12:51:38 +02:00
Nils-Johan Gynther d92272e554 feat: implement matchedVia tracking for receipt items and enhance user alias management
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-07 13:57:41 +02:00
Nils-Johan Gynther 5b1aec6449 fix: ensure new unit is not null when confirming unit change
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-07 10:23:44 +02:00
Nils-Johan Gynther a68a0ca86f feat: add unit mapping functionality
Test Suite / test (24.15.0) (push) Has been cancelled
- Added new API path for unit mappings in `api_paths.dart`.
- Implemented `upsertUnitMapping` method in `ImportRepository` to handle unit mapping creation.
- Updated `ReceiptImportTab` to learn and save unit mappings during receipt import.
- Created DTO for unit mapping with validation in `create-unit-mapping.dto.ts`.
- Added SQL migration for `UnitMapping` table creation with necessary constraints.
2026-05-07 10:00:42 +02:00
Nils-Johan Gynther 7d63b615b6 feat: add unit mapping functionality and confirmation dialog for unit changes in import process
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-07 08:10:56 +02:00
Nils-Johan Gynther a19bc1279a fix: update l1Category method to return 'Övrigt' for empty categoryPath
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-07 07:56:49 +02:00
Nils-Johan Gynther 7f7e4c24a8 feat: enhance inventory management with category and location filters
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-07 07:51:47 +02:00
Nils-Johan Gynther e7251fd94c feat: add location field to PantryItem model and update related functionality
Test Suite / test (24.15.0) (push) Has been cancelled
Co-authored-by: Copilot <copilot@github.com>
2026-05-06 11:54:56 +02:00
Nils-Johan Gynther 7a8f441390 feat: update API endpoint for product listing and simplify manual product creation UI
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-06 10:43:55 +02:00
Nils-Johan Gynther 7f15f8028b feat: update inventory queries to filter by userId for accurate recipe analysis
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-06 10:32:35 +02:00
Nils-Johan Gynther 04b1fc3024 feat: add rematch functionality for recipe ingredients and enhance inventory management
Test Suite / test (24.15.0) (push) Has been cancelled
- Added a new API path for rematching recipe ingredients in `api_paths.dart`.
- Implemented a manual product creation dialog in `inventory_screen.dart` to allow users to create new products directly.
- Integrated the rematch functionality in `recipe_repository.dart` to handle rematching of recipe ingredients.
- Updated the recipe detail screen to include a button for triggering the rematch process.
- Introduced a new `RecipeMatchingService` in the backend to handle ingredient matching logic.
- Added database migration to include `aiEngineEnabled` column in the User table.

Co-authored-by: Copilot <copilot@github.com>
2026-05-06 09:20:31 +02:00