Einkaufsliste — Direkter Kamera-Scan-Button in der Kopfzeile #161
Labels
No labels
priority/could
priority/must
priority/should
priority/wont
status/blocked
status/claimed
status/done-migrated
type/bug
type/feature
type/infra
type/tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/todo#161
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Story: Einkaufsliste — Direkter Kamera-Scan-Button in der Kopfzeile
As a Nutzer der Einkaufsliste,
I want to die Handy-Kamera zum Barcode-Scannen mit einem Klick direkt aus der Kopfzeile öffnen können,
so that ich beim Einkaufen nicht erst durch das "..."-Menü navigieren muss.
Kontext (verifiziert im Code):
shopping.page.scanBarcode) im "..."-Menü erreichbar (ShoppingListPage.tsx, setztshowBarcodeScan), derShoppingBarcodeScanDialogöffnet (Kamera-basiertes Scannen viauseBarcodeScanner-Hook, mit Fallback auf manuelle Eingabe wenn die Kamera nicht verfügbar ist).Acceptance criteria:
ShoppingBarcodeScanDialogwie der bestehende Menüpunkt.aria-label(DE/EN).Out of scope for this story:
Open questions:
Claimed. Starting implementation.
No open questions on this one - adding a camera icon button to the Shopping list header (now decluttered by #160) that opens the same ShoppingBarcodeScanDialog as the existing "Barcode scannen" menu item, which stays in the menu unchanged (two entry points to the same dialog, per the AC).
Done. Commit
a15a0a4, memory notesa5b42b9.Scope delivered:
ShoppingBarcodeScanDialogthe existing "Barcode scannen" menu item already opens.shopping.page.scanBarcodetranslation for the button's aria-label/title (already correct and translated in both locales) rather than adding a new key.No open questions on this issue, so no PO decisions needed. Purely a frontend UI addition - no backend involvement, no migration, no dedicated security review pass (self-review only, proportionate to the actual risk surface).
Added one direct test for the new button (asserts it opens the same dialog) alongside the pre-existing menu-item test, so both entry points are independently covered.
Verification:
tsc -bclean,npm run buildclean, full vitest suite green (125 files / 1160 tests, +1 new). Note: a background test run started before a multi-day session gap came back reporting a ~45-hour "duration" and a few worker-timeout errors with zero actual test failures - read that as the process having been suspended mid-run rather than a real issue, and confirmed clean on a fresh re-run instead. Real CI waspendingon the whole matrix throughout the cycle (known runner-congestion pattern) - not yet confirmed green on the actual pipeline as of this comment.With #160/#161 both done, the only issues left open are #150 (could-tier, its own unresolved design question) and the two status/blocked ones (#155, #138) - below the ~3-issue backlog-check threshold, so the next cycle will draft a few new candidate stories before picking up more work.