import 'package:flutter/material.dart'; import '../l10n/l10n.dart'; class ChromeRequiredScreen extends StatelessWidget { const ChromeRequiredScreen({super.key}); @override Widget build(BuildContext context) { final l10n = context.l10n; final theme = Theme.of(context); final isDark = theme.brightness == Brightness.dark; return Scaffold( body: Container( width: double.infinity, padding: const EdgeInsets.symmetric(horizontal: 32), decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, colors: isDark ? [const Color(0xFF1A1A1A), const Color(0xFF0D0D0D)] : [const Color(0xFFF5F7FA), const Color(0xFFE4E7EB)], ), ), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( padding: const EdgeInsets.all(24), decoration: BoxDecoration( color: Colors.orange.withValues(alpha: 0.1), shape: BoxShape.circle, ), child: const Icon( Icons.browser_not_supported_rounded, size: 80, color: Colors.orange, ), ), const SizedBox(height: 32), Text( l10n.scanner_chromeRequired, textAlign: TextAlign.center, style: theme.textTheme.headlineMedium?.copyWith( fontWeight: FontWeight.bold, color: isDark ? Colors.white : Colors.black87, ), ), const SizedBox(height: 16), Text( l10n.scanner_chromeRequiredMessage, textAlign: TextAlign.center, style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.white70 : Colors.black54, height: 1.5, ), ), const SizedBox(height: 48), // We can't really "fix" it for them other than telling them to use Chrome // but we can provide a nice visual. Container( padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), decoration: BoxDecoration( color: Colors.blue.withValues(alpha: 0.1), borderRadius: BorderRadius.circular(30), border: Border.all(color: Colors.blue.withValues(alpha: 0.3)), ), child: Row( mainAxisSize: MainAxisSize.min, children: [ const Icon(Icons.info_outline, size: 20, color: Colors.blue), const SizedBox(width: 12), Text( "Web Bluetooth requires a Chromium browser", style: theme.textTheme.bodyMedium?.copyWith( color: Colors.blue, fontWeight: FontWeight.w500, ), ), ], ), ), ], ), ), ); } }