Integrates the `toastification` package to provide clear and non-intrusive user feedback for operations like product not found.
Refactors the reception scan page UI by extracting reusable widgets for the scan information text, the scan box, and the flash button. This improves code organization and readability.
Switches the data source for reception details from API calls to the local ObjectBox database, improving performance and enabling offline access for this specific data.
Corrects the display of scanned product information to show the barcode instead of a generic ID.
Updates `go_router` to version 16.0.0.
Moves product lookup from external API calls to a local ObjectBox database. This improves performance and enables offline product identification during scanning.
Removes the standalone scanner page, consolidating barcode scanning functionality directly into the reception flow for a more streamlined user experience.
Updates ObjectBox entity fields by removing `final` modifiers, allowing the database to manage and update persisted data effectively. Introduces new methods in the reception scan model to support local product checks, retrieval, and quantity increment for scanned items.
Refactors the product data model to primarily store `id`, `barcode`, and `displayName`. This simplifies the product structure, focusing on essential attributes for inventory and scanning operations.
Optimizes API calls for stock picking to fetch more relevant product details. Unnecessary fields are removed, and specific product attributes like `barcode` and `quantity` are now explicitly requested for stock moves.
Moves `StockPickingRecordModel` to its own dedicated file for improved code organization and maintainability. Updates all affected UI components and scanner logic to align with the revised product model.
Performs a comprehensive project rename from 'barcode_scanner' to 'e_scan' (or 'eScan' for user-facing labels). This update spans all relevant files, including:
- Application IDs and bundle identifiers for Android, iOS, macOS, and Linux.
- VS Code launch configurations.
- Dart package import paths.
- Project names and titles in `pubspec.yaml`, `README.md`, and platform-specific configurations (e.g., CMakeLists, Info.plist, AndroidManifest).
Renames `AuthStruct` to `AuthModel` and `ProductStruct` to `ProductModel` to align with a consistent data model naming convention.
Updates all relevant imports, type declarations, and method signatures across the application to reflect these changes, improving codebase clarity and maintainability.
Includes minor code style improvements and refactorings in other components.
Configures the ObjectBox ProductEntity to allow assigning IDs. Adds a helper to convert ProductStruct to ProductEntity for easier storage.
Saves scanned products directly to the local ObjectBox store.
Updates the ProductListPage to fetch and display locally stored products from ObjectBox upon initialization.
Includes minor UI adjustments in the scanned product component and scanner page, and fixes loading state handling in HomePageModel.
Replaces hardcoded colors and standard Theme.of(context) accesses with a custom AppTheme.
Introduces distinct light and dark themes and persists the selected theme mode using shared_preferences.
Integrates the theme into the main app structure and applies it to various components and pages.
Adds google_fonts dependency for theme typography.
Refactors the login page and model for improved separation of concerns. Moves navigation logic from the model to the page using success callbacks. Integrates a dedicated primary button component for the login action, showing loading state.
Adds a new secure route for a product form page and updates the scanner page to navigate to it when viewing scanned product details.
Simplifies the callback signature for viewing product details in the scanned product component. Also includes minor adjustments to the splash screen delay and theme definition.