remove isEditable parameter

Serhii committed Dec 2, 2022 at 23:36 UTC 5f1e8e9d33fa04bac655e870820620f059ffd4e7
4 files changed +13 -16
lib/di.dart
+1 -2
@@ -462,10 +462,9 @@ Future setup(
462 getIt.registerFactory(
463 () => ContactListViewModel(_contactSource, _walletInfoSource));
464
465 - getIt.registerFactoryParam<ContactListPage, bool, CryptoCurrency?>((bool isEditable, CryptoCurrency? cur)
465 + getIt.registerFactoryParam<ContactListPage, CryptoCurrency?, void>((CryptoCurrency? cur, _)
466 => ContactListPage(
467 getIt.get<ContactListViewModel>(),
468 - isEditable: isEditable,
468 selectedCurrency: cur));
469
470 getIt.registerFactoryParam<ContactPage, ContactRecord?, void>(
lib/router.dart
+2 -3
@@ -300,13 +300,12 @@ Route<dynamic> createRoute(RouteSettings settings) {
300 case Routes.addressBook:
301 return MaterialPageRoute<void>(
302 builder: (_) =>
303 - getIt.get<ContactListPage>(param1: true));
303 + getIt.get<ContactListPage>());
304
305 case Routes.pickerAddressBook:
306 final selectedCurrency = settings.arguments as CryptoCurrency;
307 return MaterialPageRoute<void>(
308 - builder: (_) => getIt.get<ContactListPage>(param1: false,
309 - param2: selectedCurrency));
308 + builder: (_) => getIt.get<ContactListPage>(param1: selectedCurrency));
309
310 case Routes.addressBookAddContact:
311 return CupertinoPageRoute<void>(
lib/src/screens/contact/contact_list_page.dart
+6 -7
@@ -17,10 +17,9 @@ import 'package:cake_wallet/src/widgets/collapsible_standart_list.dart';
17
18 class ContactListPage extends BasePage {
19 ContactListPage(this.contactListViewModel,
20 - {this.isEditable = true, required this.selectedCurrency});
20 + {this.selectedCurrency});
21
22 final ContactListViewModel contactListViewModel;
23 - final bool isEditable;
23 final CryptoCurrency? selectedCurrency;
24
25 @override
@@ -28,7 +27,7 @@ class ContactListPage extends BasePage {
27
28 @override
29 Widget? trailing(BuildContext context) {
31 - if (!isEditable) {
30 + if (selectedCurrency != null) {
31 return null;
32 }
33
@@ -68,9 +67,9 @@ class ContactListPage extends BasePage {
67 child: Observer(
68 builder: (_) {
69 final contacts =
71 - contactListViewModel.getContacts(isEditable, selectedCurrency);
70 + contactListViewModel.getContacts(selectedCurrency);
71 final walletContacts =
73 - contactListViewModel.getWallets(isEditable, selectedCurrency);
72 + contactListViewModel.getWallets(selectedCurrency);
73 return CollapsibleSectionList(
74 context: context,
75 sectionCount: 2,
@@ -99,7 +98,7 @@ class ContactListPage extends BasePage {
98
99 final contact = contacts[index];
100 final content = generateRaw(context, contact);
102 - return !isEditable
101 + return selectedCurrency != null
102 ? content
103 : Slidable(
104 key: Key('${contact.key}'),
@@ -116,7 +115,7 @@ class ContactListPage extends BasePage {
115
116 return GestureDetector(
117 onTap: () async {
119 - if (!isEditable) {
118 + if (selectedCurrency != null) {
119 Navigator.of(context).pop(contact);
120 return;
121 }
lib/view_model/contact_list/contact_list_view_model.dart
+4 -4
@@ -46,16 +46,16 @@ abstract class ContactListViewModelBase with Store {
46
47 Future<void> delete(ContactRecord contact) async => contact.original.delete();
48
49 - List<ContactRecord> getContacts(bool isEditable, CryptoCurrency? cur) {
50 - if (!isEditable) {
49 + List<ContactRecord> getContacts(CryptoCurrency? cur) {
50 + if (cur != null) {
51 return contacts.where((element) => element.type == cur).toList();
52 }
53
54 return contacts;
55 }
56
57 - List<WalletContact> getWallets(bool isEditable, CryptoCurrency? cur) {
58 - if (!isEditable) {
57 + List<WalletContact> getWallets(CryptoCurrency? cur) {
58 + if (cur != null) {
59 return walletContacts.where((element) => element.type == cur).toList();
60 }
61