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:
@@ -201,5 +201,35 @@
|
||||
"fat": "지방",
|
||||
"carbs": "탄수화물",
|
||||
"fiber": "식이섬유",
|
||||
"productAddedToShelf": "저장실에 추가되었습니다"
|
||||
"productAddedToShelf": "저장실에 추가되었습니다",
|
||||
"recognitionFoundProducts": "{count}개 제품 찾음",
|
||||
"@recognitionFoundProducts": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recognitionAddAll": "모두 추가",
|
||||
"recognitionAddToStock": "저장실에 추가",
|
||||
"recognitionAdded": "{count}개 제품 추가됨",
|
||||
"@recognitionAdded": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recognitionProductsFailed": "제품 추가 실패",
|
||||
"recognitionEmpty": "제품을 찾을 수 없습니다",
|
||||
"recognitionConfidence": "{percent}% 신뢰도",
|
||||
"@recognitionConfidence": {
|
||||
"placeholders": {
|
||||
"percent": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recognitionReplaceProduct": "제품 교체",
|
||||
"scanJobCloseHint": "앱을 닫아도 됩니다 — 이 스캔은 제품 화면의 최근 스캔에 표시됩니다"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user