// import 'package:kmobile/data/models/user.dart'; // import 'package:kmobile/di/injection.dart'; // import 'package:flutter/material.dart'; // import 'package:kmobile/api/services/cheque_service.dart'; // // import 'package:kmobile/features/cheque/screens/revoke_stop_multiple_screen.dart'; // // import 'package:kmobile/features/cheque/screens/revoke_stop_single_screen.dart'; // import 'package:kmobile/l10n/app_localizations.dart'; // class RevokeStopChequeScreen extends StatefulWidget { // final List users; // final int selectedIndex; // const RevokeStopChequeScreen( // { // super.key, // required this.users, // required this.selectedIndex, // }); // @override // State createState() => _RevokeStopChequeScreenState(); // } // class _RevokeStopChequeScreenState extends State { // User? _selectedAccount; // var service = getIt(); // bool _isLoading = true; // List _stCheques = []; // List _filteredUsers = []; // @override // void initState() { // super.initState(); // _filteredUsers = widget.users // .where((user) => ['SA', 'SB', 'CA', 'CC'].contains(user.accountType)) // .toList(); // if (widget.users.isNotEmpty && widget.selectedIndex < widget.users.length) { // if (_filteredUsers.isNotEmpty) { // if (_filteredUsers.contains(widget.users[widget.selectedIndex])) { // _selectedAccount = widget.users[widget.selectedIndex]; // } else { // _selectedAccount = _filteredUsers.first; // } // } else { // _selectedAccount = widget.users[widget.selectedIndex]; // } // } else { // if (_filteredUsers.isNotEmpty) { // _selectedAccount = _filteredUsers.first; // } // } // _loadCheques(); // } // Future _loadCheques() async { // if (_selectedAccount == null) { // setState(() { // _isLoading = false; // _stCheques = []; // }); // return; // } // setState(() { // _isLoading = true; // }); // String instrType; // switch (_selectedAccount!.accountType) { // case 'SA': // case 'SB': // instrType = '10'; // break; // case 'CA': // instrType = '11'; // break; // case 'CC': // instrType = '13'; // break; // default: // instrType = '10'; // } // try { // final data = await service.ChequeEnquiry( // accountNumber: _selectedAccount!.accountNo!, instrType: instrType); // final stCheques = data.where((cheque) => cheque.type == 'ST').toList(); // setState(() { // _stCheques = stCheques; // _isLoading = false; // }); // } catch (e) { // setState(() { // _isLoading = false; // _stCheques = []; // }); // ScaffoldMessenger.of(context).showSnackBar( // SnackBar( // content: Text('Failed to fetch cheque status: ${e.toString()}'), // ), // ); // } // } // String _getAccountTypeDisplayName(String accountType) { // switch (accountType.toLowerCase()) { // case 'sa': // return AppLocalizations.of(context).savingsAccount; // case 'sb': // return AppLocalizations.of(context).savingsAccount; // case 'ca': // return "Current Account"; // case 'cc': // return "Cash Credit Account"; // default: // return accountType; // } // } // @override // Widget build(BuildContext context) { // return Scaffold( // appBar: AppBar( // title: Text(AppLocalizations.of(context).revokeStop), // centerTitle: false, // ), // body: Stack( // children: [ // Padding( // padding: const EdgeInsets.all(16.0), // child: Column(children: [ // Card( // elevation: 4, // margin: const EdgeInsets.symmetric(vertical: 8.0), // child: Padding( // padding: const EdgeInsets.all(16.0), // child: Row( // mainAxisAlignment: MainAxisAlignment.spaceBetween, // children: [ // Text( // AppLocalizations.of(context).accountNumber, // style: const TextStyle( // fontWeight: FontWeight.bold, fontSize: 18), // ), // const SizedBox(width: 16), // if (_selectedAccount != null) // Expanded( // child: DropdownButton( // value: _selectedAccount, // onChanged: (User? newUser) { // if (newUser != null) { // setState(() { // _selectedAccount = newUser; // _loadCheques(); // }); // } // }, // items: _filteredUsers.map((user) { // return DropdownMenuItem( // value: user, // child: Text(user.accountNo.toString()), // ); // }).toList(), // ), // ) // else // Text(AppLocalizations.of(context).noAccountsFound), // ], // ), // ), // ), // const SizedBox(height: 20), // Row( // children: [ // Expanded( // child: Card( // color: Theme.of(context).colorScheme.primaryContainer, // elevation: 4, // child: InkWell( // onTap: () { // if (_selectedAccount != null && // _stCheques.isNotEmpty) { // Navigator.push( // context, // MaterialPageRoute( // builder: (context) => // RevokeStopSingleChequeScreen( // selectedAccount: _selectedAccount!, // date: _stCheques.first.Date!, // instrType: _stCheques.first.InstrType!, // fromCheque: _stCheques.first.fromCheque!, // toCheque: _stCheques.first.toCheque!, // ), // ), // ); // } else { // ScaffoldMessenger.of(context).showSnackBar( // const SnackBar( // content: Text("No stopped cheques present"), // ), // ); // } // }, // child: Padding( // padding: const EdgeInsets.all(16.0), // child: Center( // child: Text( // AppLocalizations.of(context).revokeSingleStopTitle, // textAlign: TextAlign.center, // style: TextStyle( // fontSize: 16, // fontWeight: FontWeight.bold, // color: Theme.of(context) // .colorScheme // .onPrimaryContainer, // ), // ), // ), // ), // ), // ), // ), // const SizedBox(width: 10), // Expanded( // child: Card( // color: Theme.of(context).colorScheme.primaryContainer, // elevation: 4, // child: InkWell( // onTap: () { // if (_selectedAccount != null && // _stCheques.isNotEmpty) { // Navigator.push( // context, // MaterialPageRoute( // builder: (context) => // RevokeStopMultipleChequesScreen( // selectedAccount: _selectedAccount!, // date: _stCheques.first.Date!, // instrType: _stCheques.first.InstrType!, // fromCheque: _stCheques.first.fromCheque!, // toCheque: _stCheques.first.toCheque!, // ), // ), // ); // } else { // ScaffoldMessenger.of(context).showSnackBar( // SnackBar( // content: Text(AppLocalizations.of(context) // .pleaseSelectAccountFirst), // ), // ); // } // }, // child: Padding( // padding: const EdgeInsets.all(16.0), // child: Center( // child: Text( // AppLocalizations.of(context).revokeMultipleStops, // textAlign: TextAlign.center, // style: TextStyle( // fontSize: 16, // fontWeight: FontWeight.bold, // color: Theme.of(context) // .colorScheme // .onSecondaryContainer, // ), // ), // ), // ), // ), // ), // ), // ], // ), // const SizedBox(height: 20), // Expanded( // child: _isLoading // ? const Center(child: CircularProgressIndicator()) // : _stCheques.isEmpty // ? Center( // child: Text(AppLocalizations.of(context) // .noChequeIssuedStatus)) // : ListView.builder( // itemCount: _stCheques.length, // itemBuilder: (context, index) { // return _buildSTTile(context, _stCheques[index]); // }, // ), // ), // ]), // ), // 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 // ), // ), // ), // ), // ), // ], // ), // ); // } // Widget _buildSTTile(BuildContext context, Cheque cheque) { // return Card( // margin: const EdgeInsets.symmetric( // vertical: 8.0, // ), // child: Padding( // padding: const EdgeInsets.all(16.0), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Text(AppLocalizations.of(context).stopChequeLabel, // style: Theme.of(context).textTheme.titleLarge), // const SizedBox(height: 8), // _buildInfoRow('From Cheque:', cheque.fromCheque), // _buildInfoRow('To Cheque:', cheque.toCheque), // _buildInfoRow('Account Type:', // _getAccountTypeDisplayName(_selectedAccount!.accountType!)), // _buildInfoRow('Branch Code:', cheque.branchCode), // _buildInfoRow('Stop Issue Date:', cheque.stopIssueDate), // _buildInfoRow('Stop Expiry Date:', cheque.StopExpiryDate), // _buildInfoRow('Cheques Count:', cheque.Chequescount), // ], // ), // ), // ); // } // Widget _buildInfoRow(String label, String? value) { // return Padding( // padding: const EdgeInsets.symmetric(vertical: 4.0), // child: Row( // mainAxisAlignment: MainAxisAlignment.spaceBetween, // children: [ // Text(label, style: const TextStyle(fontWeight: FontWeight.bold)), // Text(value ?? ''), // ], // ), // ); // } // }