import 'package:flutter/material.dart'; import 'package:notas/widgets/app_title_bar.dart'; class BiometricChoiceScreen extends StatelessWidget { const BiometricChoiceScreen({ super.key, required this.isBusy, required this.onEnableBiometrics, required this.onSkipBiometrics, }); final bool isBusy; final Future Function() onEnableBiometrics; final Future Function() onSkipBiometrics; @override Widget build(BuildContext context) { return Scaffold( body: Container( decoration: const BoxDecoration( gradient: LinearGradient( colors: [ Color(0xFF191A1D), Color(0xFF222326), Color(0xFF101114), ], begin: Alignment.topLeft, end: Alignment.bottomRight, ), ), child: SafeArea( child: Column( children: [ const AppTitleBar(), Expanded( child: Center( child: SingleChildScrollView( padding: const EdgeInsets.all(24), child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 460), child: Container( padding: const EdgeInsets.all(24), decoration: BoxDecoration( color: const Color(0xFF1D1E20), borderRadius: BorderRadius.circular(24), border: Border.all(color: Colors.white.withValues(alpha: 0.08)), boxShadow: [ BoxShadow( color: Colors.black.withValues(alpha: 0.35), blurRadius: 30, offset: const Offset(0, 18), ), ], ), child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Icon( Icons.fingerprint, size: 44, color: IconTheme.of(context).color, ), const SizedBox(height: 16), const Text( 'Proteger con huella', textAlign: TextAlign.center, style: TextStyle( color: Colors.white, fontSize: 28, fontWeight: FontWeight.w700, ), ), const SizedBox(height: 10), Text( '¿Quieres que la app te pida huella o cara antes de entrar a tus notas?', textAlign: TextAlign.center, style: TextStyle( color: Colors.white.withValues(alpha: 0.72), height: 1.4, ), ), const SizedBox(height: 22), FilledButton( onPressed: isBusy ? null : onEnableBiometrics, style: FilledButton.styleFrom( padding: const EdgeInsets.symmetric(vertical: 14), ), child: isBusy ? const SizedBox( width: 18, height: 18, child: CircularProgressIndicator(strokeWidth: 2), ) : const Text('Sí, activar huella'), ), const SizedBox(height: 10), OutlinedButton( onPressed: isBusy ? null : onSkipBiometrics, style: OutlinedButton.styleFrom( padding: const EdgeInsets.symmetric(vertical: 14), side: const BorderSide(color: Colors.white24), foregroundColor: Colors.white, ), child: const Text('No, entrar sin huella'), ), ], ), ), ), ), ), ), ], ), ), ), ); } }