import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../Provider/language_provider.dart'; import '../../Provider/passwordProvider.dart'; import '../../config/AppSnackbar.dart'; import '../../config/constants/arabe.dart' as Language; import '../../utils/colors.dart'; import '../../widgets/CustomTextFieldWidget.dart'; import '../../widgets/PurpleHeader.dart'; import '../../widgets/custom_button.dart'; import '../../widgets/custom_text.dart'; class ValidateEmailCodeScreen extends StatefulWidget { const ValidateEmailCodeScreen({super.key}); @override State createState() => _ValidateEmailCodeScreenState(); } class _ValidateEmailCodeScreenState extends State { @override Widget build(BuildContext context) { final passwordProvider = context.watch(); final codeController = passwordProvider.codeController; final languageProvider = context.watch(); bool isArabic = languageProvider.currentLangCode == Language.ar; return Scaffold( backgroundColor: Colors.white, appBar: AppBar( backgroundColor: Colors.white, ), body: Padding( padding: const EdgeInsets.symmetric(horizontal: 14.0, vertical: 20), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Txt( text: "Forgot Password?", style: TextStyle( fontSize: 18, fontWeight: FontWeight.w700, fontFamily: isArabic ? 'Baloo_Bhaijaan_2' : 'Poppins', color: Colors.black, ), ), const SizedBox(height: 20), Txt( text: "Enter your email address below and we'll send you a link to reset your password.", style: TextStyle( fontSize: 15, fontWeight: FontWeight.w500, fontFamily: isArabic ? 'Baloo_Bhaijaan_2' : 'Poppins', color: Colors.black, ), ),const SizedBox(height: 30), CustomTextFieldWidget( controller: codeController, label: 'Code', icon: Icons.security_sharp, isPassword: false, keybordType: TextInputType.number, ), const SizedBox(height: 40), Spacer(), Center( child: CustomButton( borderRadius: 25, height: 55, onClick: () async { if (codeController.text.trim().isNotEmpty && (codeController.text.trim().length != 4 || !RegExp(r'^\d{4}$').hasMatch(codeController.text.trim()))) { AppSnackbar.showError("Error", "Please enter a valid 4-digit code."); return; } passwordProvider.setResetCode(codeController.text.trim()); passwordProvider.validateResetCodeSecondStep(); }, title: 'Change password', isloading: passwordProvider.loader, loadercolor: Colors.white, width: MediaQuery.of(context).size.width * 0.75, backgroundColor:Theme.of(context).brightness == Brightness.dark ?AppColors.darkPrimaryColor:AppColors.primaryColor, ), ) ] ), ), ); } }