feat(streckkod): okand produkt -> fota forpackning -> spara i delad katalog
Okand streckkod erbjuder nu 'Fota forpackningen' direkt i streckkodsvyn. Fotot lases av (naring/allergener/innehall) och produkten UPSERTas i den DELADE products-katalogen kopplat till GTIN (dataSource=user_scanned, verificationStatus=unverified, createdByUserId=anvandaren) sa nasta person som skannar samma kod far den direkt. Produkten laggs INTE till i lagret. Naringsdeklaration-knappen tas bort som egen ingang - flodet vavs in i streckkodsskanningen. product_package/nutrition_label -> READ_NUTRITION_LABEL avslutar som 'completed' med result.product (ingen awaiting_confirmation). - validation: barcode-falt i createScanInput.context - worker: ny gren i processScanJob som skriver till products + returnerar tidigt - mobil: inline contributePhoto (fota -> ladda upp -> polla -> visa info) - scan: ta bort naringsdeklaration-knappen - i18n: barcode.contributing.* + uppdaterad unknownBody pa 12 sprak Verifierat: typecheck (validation/worker/api/mobil), worker 23/23, api 104/104, och repro mot testdatabas (products-upsert, ingen inventory, idempotent aterskann).
This commit is contained in:
@@ -30,12 +30,15 @@
|
||||
"barcode.allowCamera": "Kamera erlauben",
|
||||
"barcode.cameraBody": "{brand} benötigt die Kamera, um Barcodes zu scannen.",
|
||||
"barcode.cameraTitle": "Kamera erforderlich",
|
||||
"barcode.contributing.title": "Verpackung wird gelesen…",
|
||||
"barcode.contributing.body": "Wir ermitteln Nährwerte, Allergene und Zutaten – und speichern das Produkt im gemeinsamen Katalog, damit es der Nächste nicht fotografieren muss.",
|
||||
"barcode.contributing.failed": "Die Verpackung konnte nicht gelesen werden. Versuche es mit einem scharfen Foto und gutem Licht erneut.",
|
||||
"barcode.kcalPer100": "{kcal} kcal/100 g",
|
||||
"barcode.needHousehold": "Du brauchst zuerst einen Haushalt.",
|
||||
"barcode.noLocation": "Kein Lagerort gefunden.",
|
||||
"barcode.noNutrition": "Keine Nährwertdaten",
|
||||
"barcode.photoPackage": "Verpackung fotografieren",
|
||||
"barcode.unknownBody": "Dieses Produkt ist noch nicht in der Datenbank. Fotografiere Vorderseite und Nährwerttabelle, dann fügen wir es hinzu.",
|
||||
"barcode.unknownBody": "Dieses Produkt ist noch nicht in der Datenbank. Fotografiere die Vorderseite und die Nährwerttabelle – wir lesen den Inhalt aus und speichern das Produkt im gemeinsamen Katalog, damit es der Nächste leichter hat. (Es wird nicht zu deinen Artikeln hinzugefügt.)",
|
||||
"barcode.unknownTitle": "Unbekanntes Produkt",
|
||||
"common.add": "Hinzufügen",
|
||||
"common.back": "Zurück",
|
||||
|
||||
Reference in New Issue
Block a user