showValidateOptions function
Implementation
Future showValidateOptions(BuildContext context) async {
const Color primaryColor = Color(0xFF009688);
const Color primaryDark = Color(0xFF00796B);
return await showModalBottomSheet(
context: context,
backgroundColor: Colors.transparent,
builder: (BuildContext context) {
return Container(
decoration: const BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.vertical(top: Radius.circular(24)),
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
// Handle bar
Container(
margin: const EdgeInsets.only(top: 12),
width: 40,
height: 4,
decoration: BoxDecoration(
color: Colors.grey.shade300,
borderRadius: BorderRadius.circular(2),
),
),
const SizedBox(height: 20),
// Header
const Text(
'Select Verification Method',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: primaryDark,
),
),
const SizedBox(height: 8),
Text(
'Choose how you want to verify your Aadhaar',
style: TextStyle(fontSize: 14, color: Colors.grey.shade600),
),
const SizedBox(height: 24),
// Options
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Row(
children: [
// Biometric option
Expanded(
child: _VerificationOptionCard(
icon: Icons.fingerprint,
title: 'Biometric',
subtitle: 'Use fingerprint',
primaryColor: primaryColor,
onTap: () => Navigator.pop(context, 'bio'),
),
),
const SizedBox(width: 16),
// OTP option
Expanded(
child: _VerificationOptionCard(
icon: Icons.sms_outlined,
title: 'OTP',
subtitle: 'Via mobile SMS',
primaryColor: primaryColor,
onTap: () => Navigator.pop(context, 'otp'),
),
),
],
),
),
SizedBox(height: MediaQuery.of(context).padding.bottom + 24),
],
),
);
},
);
}