QRScanner
ImplementedLive camera-based QR scanner for ticket check-in. Uses BarcodeDetector API with manual entry fallback. Audio + haptic feedback on scan.
components/organisms/qrscanner/QRScanner.tsxVue scanner QR en temps réel pour les agents de porte : zone caméra, dernier scan, compteur de billets scannés. FR-CA : « Scanner QR — porte 4 · Billets scannés · Dernier scan · Admis · Refusé · Doublon ».
QRScanner
Organism — Scanner family (Family 6)
Composant d'affichage (non interactif). Le parent gère la caméra et fournit `lastScan` + `totalScans`. Le mode scanner (admit/reject/duplicate) reflète le verdict du backend.
Scanner QR — porte 4
Billets scannés : 1284Dernier scan
EPL-2026-00001
Marie Tremblay
Admission générale
2026-06-24 19:42:15
This component supports light and dark mode.
Props
lastScan{ code; mode; ticketTier?; attendee?; at }Résultat du dernier scan.
totalScans*numberCompteur cumulatif.
locale'fr' | 'en'frBascule des libellés.
Props
QRScanner
scanResultStatesScanResultStates—lastScan{ code: string; mode: ScannerMode; ticketTier?: string; attendee?: string; at: string }—Synced from source — no interface JSDoc yet; document on `QRScanner.tsx`.
totalScansnumber—Synced from source — no interface JSDoc yet; document on `QRScanner.tsx`.
locale"fr" | "en"'fr'Locale used for formatting and translated strings.
<QRScanner />Accessibility
Type
1 ruleARIA
1 ruleUsage
Import
import { QRScanner } from "@epasslive/design-system"Example 1
<QRScanner />Example 2
<QRScanner variant="default" />Anti-patterns
— Do not fetch data directly in organisms
— Avoid tight coupling to specific data sources