feat: barcode scanning for shelf add + scan screen barcode option
- Add ShelfBarcodeScanScreen: scans barcode via mobile_scanner, looks up
product via GET /products/barcode/{barcode} (Open Food Facts fallback),
returns CatalogProduct to caller; loading overlay while looking up;
"Add manually" fallback in AppBar for unknown products
- Extract AddToShelfSheet to add_to_shelf_sheet.dart (was private in
product_search_screen.dart) so both search and scan screens can reuse it
- Add barcode icon button to ProductSearchScreen AppBar → opens scanner
- Add "Scan barcode" card (📷) to ScanScreen alongside receipt and photo modes
- Rename ScanScreen title: addFromReceiptOrPhoto → scanScreenTitle
("Сканировать" / "Scan & Recognize") to reflect all three modes
- Add 2 L10n keys (scanScreenTitle, barcodeScanSubtitle) across all 12 locales
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -676,6 +676,18 @@ abstract class AppLocalizations {
|
||||
/// **'Add from receipt or photo'**
|
||||
String get addFromReceiptOrPhoto;
|
||||
|
||||
/// No description provided for @scanScreenTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Scan & Recognize'**
|
||||
String get scanScreenTitle;
|
||||
|
||||
/// No description provided for @barcodeScanSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Find a product by its barcode'**
|
||||
String get barcodeScanSubtitle;
|
||||
|
||||
/// No description provided for @chooseMethod.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
Reference in New Issue
Block a user