import 'package:flutter/material.dart'; // Keep if User model is generic import 'package:kmobile/features/account_opening/screens/fd_screen.dart'; import 'package:kmobile/features/account_opening/screens/loan_screen.dart'; import 'package:kmobile/features/account_opening/screens/rd_screen.dart'; import 'package:kmobile/features/account_opening/screens/td_screen.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; import '../../../l10n/app_localizations.dart'; class AccountOpeningScreen extends StatefulWidget { const AccountOpeningScreen({ super.key, }); @override State createState() => _AccountOpeningScreenState(); } class _AccountOpeningScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text( "Account Opening", ), centerTitle: false, ), body: Stack( children: [ Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Expanded( child: AccountOpeningCardTile( icon: Symbols.savings, label: "Fixed Deposit (FD)", onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => const FdScreen( ), ), ); }, ), ), Expanded( child: AccountOpeningCardTile( icon: Symbols.currency_rupee, label: "Term Deposit", onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => const TermDepositScreen() ), ); }, ), ), Expanded( child: AccountOpeningCardTile( icon: Symbols.account_balance, label: AppLocalizations.of(context).recurringDeposit, onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => const RecurringDepositScreen() ), ); }, ), ), Expanded( child: AccountOpeningCardTile( icon: Symbols.credit_card, label: "Request Loan", onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => const LoanScreen() ), ); }, ), ), ], ), ), IgnorePointer( child: Center( child: Opacity( opacity: 0.07, child: ClipOval( child: Image.asset( 'assets/images/logo.png', width: 200, height: 200, ), ), ), ), ), ], ), ); } } class AccountOpeningCardTile extends StatelessWidget { final IconData icon; final String label; final VoidCallback onTap; final bool disable; const AccountOpeningCardTile({ super.key, required this.icon, required this.label, required this.onTap, this.disable = false, }); @override Widget build(BuildContext context) { final theme = Theme.of(context); return Card( margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12.0), ), elevation: 4, child: InkWell( onTap: disable ? null : onTap, borderRadius: BorderRadius.circular(12.0), child: Padding( padding: const EdgeInsets.symmetric(vertical: 24.0, horizontal: 16.0), child: Center( child: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon( icon, size: 48, color: disable ? theme.disabledColor : theme.colorScheme.primary, ), const SizedBox(height: 12), Text( label, textAlign: TextAlign.center, style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.bold, color: disable ? theme.disabledColor : theme.colorScheme.onSurface, ), ), ], ), ), ), ), ), ); } }