import 'package:flutter/material.dart'; import 'package:mobile_scanner/mobile_scanner.dart'; /// Kamera-Scan (Karte 10): Vollbild-Scanner, gibt den ersten erkannten /// Code128-Wert per Navigator.pop zurück. Kein Auto-Close bei fehlgeschlagenem /// Decode-Versuch nötig - mobile_scanner meldet nur echte Treffer. class ScannerScreen extends StatefulWidget { const ScannerScreen({super.key}); @override State createState() => _ScannerScreenState(); } class _ScannerScreenState extends State { bool _bereitsErkannt = false; void _onDetect(BarcodeCapture capture) { if (_bereitsErkannt) return; if (capture.barcodes.isEmpty) return; final wert = capture.barcodes.first.rawValue; if (wert == null || wert.isEmpty) return; _bereitsErkannt = true; Navigator.of(context).pop(wert); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Code scannen')), body: MobileScanner(onDetect: _onDetect), ); } }