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.
Replaces the mocked login flow with an actual API call to an authentication endpoint.
Updates the `AuthStruct` schema to align with the new API response, including fields for `accessToken`, `dbName`, `uid`, `name`, and `username`.
Introduces a `UserConnectedProvider` service for managing the storage and retrieval of authenticated user details, centralizing this logic and replacing prior direct local storage methods.
Integrates the new authentication process and user storage service into the login, reception, and profile pages for a unified experience.
Adjusts the splash screen duration to reflect the real-time nature of the authentication check.
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`).
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.
Integrates Objectbox database initialization into the main application startup process.
Adds `path` and `path_provider` as direct dependencies, which are typically required for Objectbox to locate the database directory.
Adds the ObjectBox database dependency for local data persistence.
Updates the Product ID field type from nullable String to non-nullable int with a default value of 0 to align with ObjectBox's integer ID requirements. Includes necessary generated files for plugin registration and model serialization.
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.
Replaces print statements with debugPrint across the application to prevent logging in release builds.
Removes unused imports and variables for minor code cleanup.