Improves JSON deserialization for product and stock picking models by
using custom `fromJson` methods and explicit `JsonKey` mappings.
This ensures robust parsing of fields like barcode, display name, and product IDs.
Adds a new `ecart` getter to calculate the difference between requested
and received quantities for stock moves.
Updates the reception details page to display a list of products
with their requested, received, and calculated difference quantities.
Removes redundant JSON-RPC fields from the `stock.picking/web_read` API call.
Refactors `StockPickingRecordModel` to use generic `fromJson` utility functions for robust JSON deserialization, gracefully handling null or unexpected values for various fields.
Updates the stock picking API call to filter by `picking_type_code` ("incoming") instead of a hardcoded `picking_type_id`, enhancing clarity and maintainability.
Removes unnecessary `id`, `jsonrpc`, and `method` parameters from the API request and the `userId` field from the model.
Provides a helper function `checkInternetConnexion` using the `connectivity_plus` package. It returns true for network types typically used for internet access (mobile, wifi, ethernet, vpn) and false otherwise.
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.