feat(vision): surface the recognized plate in the booth UI

The ANPR plate was saved (device_events kind:"read") but had no UI. Extend
GET /api/snapshots/by-identity/:identity to also return plates[] (plate, confidence,
region, direction, snapshotId, at) for that session, and render each as a cyan
"Plate: AA558EE 100%" chip in the SnapshotStrip — so it shows in both the booth
event-detail modal and the pay modal, beside the evidence photo, no separate screen.
Deduped by plate+direction; session:read gated; i18n sq+en.

Verified: by-identity returns plates[] for a seeded read (200, AA558EE 0.999 Albania
entry). Build + lint green.

Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V
This commit is contained in:
2026-06-19 17:23:32 +02:00
parent ecaaefd899
commit 9ec644811a
7 changed files with 100 additions and 5 deletions
+1
View File
@@ -558,5 +558,6 @@ export const en: Catalog = {
snapEntry: "entry",
snapExit: "exit",
snapFailed: "camera unreachable",
plate: "Plate",
},
};
+1
View File
@@ -573,6 +573,7 @@ export const sq = {
snapEntry: "hyrje",
snapExit: "dalje",
snapFailed: "kamera e paarritshme",
plate: "Targa",
},
};