feat: improved receipt recognition, batch product add, and scan UX
- Rewrite receipt OCR prompt: completes truncated names, preserves fat% and flavour attributes, extracts weight/volume from line, infers typical package sizes for solid goods with quantity_confidence field - Add quantity_confidence to RecognizedItem, EnrichedItem, and ProductJobResultItem; propagate through item enricher and worker - Replace per-item create loop with single POST /user-products/batch call from RecognitionConfirmScreen - Rebuild RecognitionConfirmScreen: amber qty border for low quantity_confidence, tappable product name → catalog picker, sort items by confidence, full L10n (no hardcoded strings) - Add timestamps (HH:mm / d MMM HH:mm) to recent scan chips - Show close-app hint on ProductJobWatchScreen (queued + processing) - Refresh recentProductJobsProvider on watch screen init so new job appears without a manual pull-to-refresh - App-level WidgetsBindingObserver refreshes product and dish job lists on resume, fixing stale lists after background/foreground transitions - Add 9 new L10n keys across all 12 locales Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,7 @@ class RecognizedItem {
|
||||
String unit;
|
||||
final String category;
|
||||
final double confidence;
|
||||
final double quantityConfidence;
|
||||
final String? primaryProductId;
|
||||
final int storageDays;
|
||||
|
||||
@@ -30,6 +31,7 @@ class RecognizedItem {
|
||||
required this.unit,
|
||||
required this.category,
|
||||
required this.confidence,
|
||||
this.quantityConfidence = 1.0,
|
||||
this.primaryProductId,
|
||||
required this.storageDays,
|
||||
});
|
||||
@@ -41,6 +43,7 @@ class RecognizedItem {
|
||||
unit: json['unit'] as String? ?? 'pcs',
|
||||
category: json['category'] as String? ?? 'other',
|
||||
confidence: (json['confidence'] as num?)?.toDouble() ?? 0.0,
|
||||
quantityConfidence: (json['quantity_confidence'] as num?)?.toDouble() ?? 1.0,
|
||||
primaryProductId: json['mapping_id'] as String?,
|
||||
storageDays: json['storage_days'] as int? ?? 7,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user