import 'package:flutter/material.dart'; import 'package:mobile_scanner/mobile_scanner.dart'; class ScannerErrorWidget extends StatelessWidget { const ScannerErrorWidget({Key? key, required this.error}) : super(key: key); final MobileScannerException error; @override Widget build(BuildContext context) { String errorMessage; switch (error.errorCode) { case MobileScannerErrorCode.controllerUninitialized: errorMessage = 'Controller not ready.'; break; case MobileScannerErrorCode.permissionDenied: errorMessage = 'Permission denied'; break; case MobileScannerErrorCode.unsupported: errorMessage = 'Scanning is unsupported on this device'; break; default: errorMessage = 'Generic Error'; break; } return ColoredBox( color: Colors.black, child: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ const Padding( padding: EdgeInsets.only(bottom: 16), child: Icon(Icons.error, color: Colors.white), ), Text( errorMessage, style: const TextStyle(color: Colors.white), ), Text( error.errorDetails?.message ?? '', style: const TextStyle(color: Colors.white), ), ], ), ), ); } }