import 'package:flutter/material.dart'; import 'package:kmobile/features/profile/change_password/change_password_screen.dart'; import 'package:kmobile/features/profile/tpin/change_tpin_screen.dart'; import 'package:kmobile/features/profile/change_mpin_screen.dart'; import 'package:kmobile/api/services/auth_service.dart'; import 'package:kmobile/features/fund_transfer/screens/tpin_set_screen.dart'; import 'package:kmobile/di/injection.dart'; import '../../l10n/app_localizations.dart'; class SecuritySettingsScreen extends StatelessWidget { final String mobileNumber; const SecuritySettingsScreen({super.key, required this.mobileNumber}); @override Widget build(BuildContext context) { final loc = AppLocalizations.of(context); return Scaffold( appBar: AppBar( title: Text(loc.securitySettings), centerTitle: true, ), body: Stack( children: [ ListView( padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), children: [ Card( margin: const EdgeInsets.only(bottom: 10), child: ListTile( leading: const Icon(Icons.lock_outline), title: Text(loc.changeLoginPassword), trailing: const Icon(Icons.chevron_right), onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => ChangePasswordScreen( mobileNumber: mobileNumber, ), ), ); }, ), ), Card( margin: const EdgeInsets.only(bottom: 10), child: ListTile( leading: const Icon(Icons.pin), title: Text(loc.changeMpin), trailing: const Icon(Icons.chevron_right), onTap: () async { final result = await Navigator.push( context, MaterialPageRoute( builder: (context) => const ChangeMpinScreen(), ), ); if (result == true && context.mounted) { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text(loc.mpinChangedSuccessfully), backgroundColor: Theme.of(context).colorScheme.secondary, ), ); } }, ), ), Card( margin: const EdgeInsets.only(bottom: 10), child: ListTile( leading: const Icon(Icons.password), title: const Text('Change TPIN'), trailing: const Icon(Icons.chevron_right), onTap: () async { final authService = getIt(); final isTpinSet = await authService.checkTpin(); if (!isTpinSet) { if (context.mounted) { showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: const Text('TPIN Not Set'), content: const Text( 'You have not set a TPIN yet. Please set a TPIN to proceed.'), actions: [ TextButton( child: const Text('Back'), onPressed: () { Navigator.of(context).pop(); }, ), TextButton( child: const Text('Proceed'), onPressed: () { Navigator.of(context).pop(); Navigator.of(context).push( MaterialPageRoute( builder: (context) => const TpinSetScreen(), ), ); }, ), ], ); }, ); } } else { if (context.mounted) { Navigator.of(context).push( MaterialPageRoute( builder: (context) => ChangeTpinScreen(mobileNumber: mobileNumber), ), ); } } }, ), ), ], ), IgnorePointer( child: Center( child: Opacity( opacity: 0.07, // Reduced opacity child: ClipOval( child: Image.asset( 'assets/images/logo.png', width: 200, // Adjust size as needed height: 200, // Adjust size as needed ), ), ), ), ), ], ), ); } }