Introduces a dedicated search page for reception operations.
Enables navigation to this new page from the 'Reception' quick action component, providing a dedicated interface for searching reception records.
Registers the `ReceptionSearchRoute` to integrate it into the application's secure routing system.
Also updates the empty state message on the reception list for improved localization and user experience.
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.
Replaces the generic scanner route with a dedicated reception scanning page.
This change ensures the scanning process initiated from reception details is context-aware by passing the reception ID directly to the new `ReceptionScanPage`. This provides a more tailored and efficient workflow for reception operations.
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).
Updates the sign-in API endpoint to `/simpos/v1/sign_in`.
Captures the `set-cookie` header from successful sign-in responses and stores it as a `sessionId`.
Persists the session ID using secure storage and includes it in subsequent API requests via the `Cookie` header for improved session management.
Extends the `AuthModel` to include the new `sessionId` field.
Enables navigation from the reception list to a new reception details page, passing the selected reception's ID.
Refactors the `StockPickingCard` into a dedicated component and adds loading indicators to the reception list.
Introduces dedicated pages and routes for Delivery and Inventory operations.
Refactors the application drawer to include navigation links for these new operations, ensuring proper route transitions and closing the drawer on tap. Enhances the drawer's active state styling for list and expansion tiles, providing better visual feedback.
Extracts common app bar logic into a reusable `MainAppbarComponent` and integrates it into operation pages, starting with Reception, to standardize the application's header.
Standardizes routing paths for operation pages and ensures consistent page transitions across them.
Removes the dedicated `HomePage` and its associated model files.
Configures `ReceptionPage` as the new default landing page after successful login and product form submission. Updates navigation and state management dependencies to direct users to the primary operational interface upon entry.
Moves page files from verbose `*_page` named directories to simpler, more organized paths.
This includes:
- Renaming top-level pages (e.g., `home_page` to `home`, `login_page` to `login`).
- Nesting related pages under common directories (e.g., `product_form_page` and `product_list_page` are now under `product/`).
The update improves project organization, reduces verbosity in file paths, and enhances overall maintainability.
Adds an `image` field to the user data structure to support profile pictures.
Introduces a new profile page and sets up navigation from the home screen.
Changes the product list page provider to auto dispose for improved resource management.
Enables viewing and editing existing product details by passing the product ID to the form page. The form now loads and displays the product data based on the provided ID.
Adds a delete button to each item in the product list, allowing users to remove products directly from the list view.
Updates navigation from the product list and scanner pages to pass the product ID when navigating to the product form.
Includes minor code style changes by applying the `sort_constructors_first` lint rule and updates dependencies (`flutter_lints`, `lints`).
Introduces a side navigation drawer on the home page to improve navigation and centralize user actions.
Displays the logged-in user's information (name, email) in the drawer header.
Adds a link to the Product List page ("Inventaire") within the drawer.
Moves the logout functionality to the drawer, ensuring user data is also cleared from local storage upon logout.
Ensures user data is saved to local storage during the login process and fetched when the home page loads.
Includes minor text updates on the Product Form page.
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.