Commit Graph

59 Commits

Author SHA1 Message Date
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 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 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 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
Nils-Johan Gynther 9fe85a719c feat: implement recipe analysis service and data models
Test Suite / test (24.15.0) (push) Has been cancelled
- Added RecipeAnalysisService to handle recipe ingredient analysis, including methods for checking ingredient availability and calculating quantities.
- Introduced new TypeScript definitions for recipe analysis results, including ingredient status and summary.
- Created corresponding Dart models for recipe analysis, including RecipeIngredientAnalysis, RecipeAnalysisSummary, and RecipeShoppingCandidate.
- Updated Flutter UI to reflect changes in ingredient availability status.
- Fixed color opacity issue in recipe image card.
2026-05-06 07:54:03 +02:00
Nils-Johan Gynther ce20b1dd07 feat: implement AI recipe suggestions; add endpoint and UI for generating suggestions based on inventory
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-05 14:15:28 +02:00
Nils-Johan Gynther 1b1d5d006d feat: enhance error handling; implement copyable SnackBar for user messages across various screens
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-04 22:10:23 +02:00
Nils-Johan Gynther 5411dfe2c0 feat: add utility functions for date and quantity formatting; refactor inventory and recipe screens to use new formatters
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-04 20:50:18 +02:00
Nils-Johan Gynther 64b06435cf feat: implement user-scoped receipt aliases with global fallback; enhance alias management in admin panel
Test Suite / test (24.15.0) (push) Has been cancelled
2026-05-04 19:43:13 +02:00
Nils-Johan Gynther 3bfcf63a53 refactor(category-picker): streamline category selection flow in product picker 2026-05-03 14:01:28 +02:00
Nils-Johan Gynther b2eb870ec7 feat(receipt-import): add refresh categories endpoint and UI integration
Co-authored-by: Copilot <copilot@github.com>
2026-05-03 10:48:06 +02:00
Nils-Johan Gynther 41ae7d4d06 feat(recipes): add recipe visibility and sharing features
- Implemented functionality to set recipe visibility (public/private) with appropriate checks for user permissions.
- Added ability to share recipes with other users, including validation for existing users and permissions.
- Introduced new DTOs for setting visibility and sharing recipes.
- Updated RecipesController and RecipesService to handle new endpoints for visibility and sharing.
- Enhanced inventory preview to consider user permissions and shared recipes.
- Updated front-end to support new sharing and visibility features, including UI changes for recipe detail and admin user management.
2026-05-02 09:19:59 +02:00
Nils-Johan Gynther e4f1aae047 feat: add package quantity normalization and AI suggestion handling in receipt import 2026-05-01 23:18:32 +02:00
Nils-Johan Gynther 4cbd658fa0 feat: enhance receipt import functionality with category selection and PDF opening support 2026-05-01 22:46:58 +02:00
Nils-Johan Gynther 5c263a14df feat: add receipt import session management with file handling and item editing support 2026-05-01 08:57:34 +02:00
Nils-Johan Gynther f983458ff0 feat: implement two-step category and product picker with private product creation support 2026-05-01 02:44:30 +02:00
Nils-Johan Gynther 4f387fe6eb feat: enhance category selection flow by adding preselection support and a select button 2026-05-01 02:41:02 +02:00
Nils-Johan Gynther 9ee061d5f3 feat: add isPrivate field to Product model and implement private product creation and retrieval 2026-05-01 02:29:38 +02:00
Nils-Johan Gynther 1fd910b561 feat: implement two-step category and product picker for enhanced selection 2026-05-01 02:19:13 +02:00
Nils-Johan Gynther 84dfbc4a52 feat: enhance ProductPickerField and ParsedReceiptItem to support category filtering in receipt import 2026-05-01 02:05:53 +02:00
Nils-Johan Gynther 47801935e9 feat: enhance ProductPickerField to use rawName for initial query in receipt import 2026-05-01 02:00:13 +02:00
Nils-Johan Gynther f4fea7b92c feat: add initial query support to ProductPickerField and enhance ParsedReceiptItem with categorySuggestionPath 2026-05-01 01:50:18 +02:00
Nils-Johan Gynther 5231ca42a7 feat: implement global error handling with reusable dialog and widget for improved user feedback
Co-authored-by: Copilot <copilot@github.com>
2026-04-30 12:01:47 +02:00
Nils-Johan Gynther 63d225d7f7 feat: update README and technical documentation with onboarding improvements, user experience enhancements, and architectural details 2026-04-25 16:26:34 +02:00
Nils-Johan Gynther 6abe69e12d feat: enhance admin product management with AI categorization, product status updates, and email editing for users 2026-04-25 08:46:54 +02:00
Nils-Johan Gynther a02950c97a feat: implement admin product management panel with bulk categorization and premium user toggle 2026-04-25 08:36:40 +02:00
Nils-Johan Gynther e2b7b884aa feat: simplify AdminScreen and refactor ImportScreen to use TabBarView directly 2026-04-25 08:31:42 +02:00
Nils-Johan Gynther 8ea2b97c27 feat: enhance profile screen with tab navigation and admin panels
- Added tab navigation for profile, database, users, suggestions, and AI sections.
- Implemented database management with inventory, pantry, and products tabs.
- Created Admin AI panel to display AI model information.
- Introduced Admin Pending Products panel for managing product approvals.
- Developed Admin Users panel for user management, including role changes and password resets.
- Added data models for AI models and pending products.
2026-04-25 08:22:14 +02:00
Nils-Johan Gynther 53afcc98a9 feat: enhance product picker and improve error handling in inventory screen 2026-04-25 07:47:35 +02:00
Nils-Johan Gynther 5a85bd4526 feat: enhance product picker with searchable bottom sheet and improve recipe list item layout 2026-04-25 07:31:28 +02:00
Nils-Johan Gynther 46de546f9f feat: update RecipesViewNotifier and RecipesScreen to use maybeWhen for safer state handling 2026-04-25 07:12:36 +02:00
Nils-Johan Gynther ba4e931f5c feat: refactor RecipesScreen and RecipesViewNotifier to support dynamic view modes and column selection 2026-04-25 07:09:15 +02:00
Nils-Johan Gynther fe3d8581a8 feat: implement grid layout for recipes with column selection and improve pantry product picker
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 23:34:34 +02:00
Nils-Johan Gynther db1128ceaf Refactor code structure for improved readability and maintainability
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 21:14:46 +02:00
Nils-Johan Gynther 5644101b68 refactor(profile): update ProfileRepository to include MockRef for improved testing and enhance error handling in API calls 2026-04-23 18:01:13 +02:00
Nils-Johan Gynther 2256ddb29b refactor(profile): update ProfileRepository to include Ref for improved state management and enhance error handling in tests 2026-04-23 17:55:17 +02:00
Nils-Johan Gynther ad2a6a2fab refactor(inventory): simplify delete item logic and remove unnecessary parameters
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 17:05:12 +02:00
Nils-Johan Gynther c8510b431f fix(router): adjust type check for extra parameter in navigation
fix(import): ensure correct typing for passing markdown and imageUrl
fix(recipes): delete local image file on recipe deletion to avoid orphan files
2026-04-22 21:51:16 +02:00
Nils-Johan Gynther 29beb3a85f feat(import): enhance recipe creation by passing both markdown and image URL from import 2026-04-22 21:38:05 +02:00
Nils-Johan Gynther 81117fbcb7 feat(import): implement recipe import functionality with file and URL support
Co-authored-by: Copilot <copilot@github.com>
2026-04-22 21:31:25 +02:00
Nils-Johan Gynther 14d782aeec feat(inventory): implement swipeable inventory tile and product picker field 2026-04-22 21:19:36 +02:00
Nils-Johan Gynther e495a4b38e feat: add meal planning feature with API integration
- Introduced MealPlanApiPaths for handling meal plan related API endpoints.
- Added MealPlanScreen for displaying and managing meal plans.
- Implemented MealPlanRepository for fetching and updating meal plan data.
- Created data models: MealPlanEntry, MealPlanRecipe, InventoryCompareItem, ShoppingItem, and MealPlanDashboard.
- Integrated meal plan functionality into the app router and UI.
- Updated localization files for meal plan related strings in English and Swedish.
- Added state management for meal plan using Riverpod.
2026-04-22 19:51:33 +02:00
Nils-Johan Gynther b8627d0b7f feat(inventory): add inventory preview functionality and related models 2026-04-22 19:41:45 +02:00
Nils-Johan Gynther ac3a8e96c0 feat(localization): add localization generation step and update l10n configuration 2026-04-22 19:23:08 +02:00
Nils-Johan Gynther 2e117718a7 feat(localization): Implement Swedish localization and error messages
- Added localization support for Swedish and English languages.
- Integrated localized strings for user messages in the API error mapper.
- Updated UI components to use localized strings for labels and messages.
- Ensured all error messages are context-aware and utilize the localization framework.
- Created regression test to prevent common ASCII fallbacks in Swedish UI text.
2026-04-22 19:16:23 +02:00
Nils-Johan Gynther dd05fed279 feat: add pantry management features including repository, providers, and UI integration 2026-04-22 10:45:37 +02:00
Nils-Johan Gynther c163821bad feat: refactor API paths for authentication, inventory, and recipes; add contract tests for repositories 2026-04-22 10:21:07 +02:00
Nils-Johan Gynther 655adf66ae feat: implement dropdowns for unit and location selection in inventory forms; add product sorting functionality 2026-04-22 10:04:57 +02:00
Nils-Johan Gynther 75d993f83a refactor: Clean up ApiClient code structure and improve readability 2026-04-22 08:14:32 +02:00
Nils-Johan Gynther 967121113e feat: Add inventory management feature with CRUD operations
- Implemented inventory screen to display items with details.
- Added create, edit, and consume inventory screens for managing items.
- Introduced consumption history screen to track item usage.
- Created inventory repository and providers for API interactions.
- Enhanced routing to include inventory-related paths.
- Added necessary models for inventory items and consumption history.
- Integrated error handling and loading states for better user experience.
2026-04-22 08:12:37 +02:00