import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:mobile_scanner/mobile_scanner.dart'; import 'package:fluffychat/utils/url_launcher.dart'; class QrScannerModal extends StatefulWidget { const QrScannerModal({Key? key}) : super(key: key); @override _QrScannerModalState createState() => _QrScannerModalState(); } class _QrScannerModalState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( leading: IconButton( icon: const Icon(Icons.close_outlined), onPressed: Navigator.of(context).pop, tooltip: L10n.of(context)!.close, ), title: Text(L10n.of(context)!.scanQrCode), ), body: MobileScanner( controller: MobileScannerController(), onDetect: _onDetect, ), ); } void _onDetect(Barcode barcode, MobileScannerArguments? args) { Navigator.of(context).pop(); UrlLauncher(context, barcode.rawValue).openMatrixToUrl(); } }