88 lines
2.9 KiB
Dart
88 lines
2.9 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class BankController extends GetxController {
|
|
String selectedBank = '';
|
|
// Map<String, String> bankNames = {
|
|
// 'CIB Bank'.tr: 'CIB',
|
|
// 'National Bank of Egypt'.tr: 'NBE',
|
|
// 'QNB Al Ahli'.tr: 'QNB',
|
|
// 'Bank Misr'.tr: 'BM',
|
|
// // Add other bank full names and short names here
|
|
// };
|
|
Map<String, String> bankNames = {
|
|
'Commercial International Bank (CIB)'.tr: 'CIB',
|
|
'National Bank of Egypt'.tr: 'NBE',
|
|
'Qatar National Bank (QNB Alahli)'.tr: 'QNB',
|
|
'Banque Misr'.tr: 'BM',
|
|
'Banque du Caire (BDC)'.tr: 'BDC',
|
|
'HSBC Bank Egypt'.tr: 'HSBC',
|
|
'Faisal Islamic Bank of Egypt (FAIB)'.tr: 'FAIB',
|
|
'Arab African International Bank (AAIB)'.tr: 'AAIB',
|
|
'Export Development Bank of Egypt (EDBE)'.tr: 'EDBE',
|
|
'Industrial Development Bank of Egypt (IDB)'.tr: 'IDB',
|
|
'Suez Canal Bank (SCB)'.tr: 'SCB',
|
|
'Bank Audi Egypt'.tr: 'BAE',
|
|
'Union National Bank Egypt'.tr: 'UNB',
|
|
'Al Baraka Bank Egypt'.tr: 'ABE',
|
|
'Egyptian Gulf Bank (EG Bank)'.tr: 'EGB',
|
|
'Housing and Development Bank (HDB)'.tr: 'HDB',
|
|
'The United Bank of Egypt (UB)'.tr: 'UB',
|
|
'Emirates NBD (ENBD)'.tr: 'ENBD',
|
|
'Al Ahli Bank of Kuwait - Egypt (ABK-Egypt)'.tr: 'ABK',
|
|
'National Bank of Kuwait - Egypt (NBK-Egypt)'.tr: 'NBK',
|
|
'First Abu Dhabi Bank (FAB)'.tr: 'FAB',
|
|
'Abu Dhabi Islamic Bank (ADIB)'.tr: 'ADIB',
|
|
'Arab African International Bank (AAIB)'.tr: 'AAIB',
|
|
'Egyptian Arab Land Bank (EALB)'.tr: 'EALB',
|
|
'Faisal Islamic Bank of Egypt (FAIB)'.tr: 'FAIB',
|
|
'Blom Bank (BLOM)'.tr: 'BLOM',
|
|
'Abu Dhabi Commercial Bank - Egypt (ADCB)'.tr: 'ADCB',
|
|
'Nasser Social Bank (NSB)'.tr: 'NSB',
|
|
'Industrial Development Bank of Egypt (IDB)'.tr: 'IDB',
|
|
'Arab International Bank (AIB)'.tr: 'AIB',
|
|
'Arab Investment Bank (AIBK)'.tr: 'ARIB',
|
|
'Central Bank of Egypt (CBE)'.tr: 'CBE',
|
|
'Barclays Egypt (BBE)'.tr: 'BBE',
|
|
// Add other bank full names and short names here as needed
|
|
};
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
selectedBank = bankNames.values.first;
|
|
}
|
|
|
|
void updateSelectedBank(String? bankShortName) {
|
|
selectedBank = bankShortName ?? '';
|
|
update();
|
|
}
|
|
|
|
List<DropdownMenuItem<String>> getDropdownItems() {
|
|
return bankNames.keys.map<DropdownMenuItem<String>>((bankFullName) {
|
|
return DropdownMenuItem<String>(
|
|
value: bankNames[bankFullName],
|
|
child: Text(bankFullName),
|
|
);
|
|
}).toList();
|
|
}
|
|
}
|
|
|
|
class BankDropdown extends StatelessWidget {
|
|
final BankController bankController = Get.put(BankController());
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return GetBuilder<BankController>(
|
|
init: bankController,
|
|
builder: (controller) {
|
|
return DropdownButton<String>(
|
|
value: controller.selectedBank,
|
|
onChanged: controller.updateSelectedBank,
|
|
items: controller.getDropdownItems(),
|
|
);
|
|
},
|
|
);
|
|
}
|
|
}
|