diff --git a/lib/constants.dart b/lib/constants.dart index 8785a53bd..d27f6c34d 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -496,6 +496,7 @@ const String kSettingsExpenseCategoryEdit = 'expense_category/edit'; const String kSettingsTaskStatuses = 'task_status'; const String kSettingsTaskStatusView = 'task_status/view'; const String kSettingsTaskStatusEdit = 'task_status/edit'; +const String kSettingsBankAccountSettings = 'bank_account_settings'; const String kSettingsBankAccounts = 'bank_accounts'; const String kSettingsBankAccountsView = 'bank_accounts/view'; diff --git a/lib/data/models/bank_account_model.dart b/lib/data/models/bank_account_model.dart index e7ed551e3..5a262f0da 100644 --- a/lib/data/models/bank_account_model.dart +++ b/lib/data/models/bank_account_model.dart @@ -173,13 +173,13 @@ abstract class BankAccountEntity extends Object } @override - String get listDisplayName => null; + String get listDisplayName => name; @override - double get listDisplayAmount => null; + double get listDisplayAmount => balance; @override - FormatNumberType get listDisplayAmountType => null; + FormatNumberType get listDisplayAmountType => FormatNumberType.money; static Serializer get serializer => _$bankAccountEntitySerializer; diff --git a/lib/main_app.dart b/lib/main_app.dart index 49788080f..401c20924 100644 --- a/lib/main_app.dart +++ b/lib/main_app.dart @@ -11,6 +11,7 @@ import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:intl/intl.dart'; +import 'package:invoiceninja_flutter/ui/settings/bank_accounts_vm.dart'; import 'package:invoiceninja_flutter/ui/settings/payment_settings_vm.dart'; import 'package:local_auth/local_auth.dart'; import 'package:redux/redux.dart'; @@ -510,6 +511,8 @@ class InvoiceNinjaAppState extends State { BankAccountScreenBuilder(), BankAccountViewScreen.route: (context) => BankAccountViewScreen(), + BankAccountSettingsScreen.route: (context) => + BankAccountSettingsScreen(), PurchaseOrderScreen.route: (context) => PurchaseOrderScreenBuilder(), PurchaseOrderViewScreen.route: (context) => diff --git a/lib/ui/app/main_screen.dart b/lib/ui/app/main_screen.dart index 35eed5315..791a2ea06 100644 --- a/lib/ui/app/main_screen.dart +++ b/lib/ui/app/main_screen.dart @@ -6,12 +6,14 @@ import 'package:flutter_redux/flutter_redux.dart'; import 'package:invoiceninja_flutter/ui/app/app_title_bar.dart'; import 'package:invoiceninja_flutter/ui/app/window_manager.dart'; import 'package:invoiceninja_flutter/ui/bank_account/bank_account_screen_vm.dart'; +import 'package:invoiceninja_flutter/ui/bank_account/view/bank_account_view_vm.dart'; import 'package:invoiceninja_flutter/ui/purchase_order/edit/purchase_order_edit_vm.dart'; import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_email_vm.dart'; import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_pdf_vm.dart'; import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_screen.dart'; import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_screen_vm.dart'; import 'package:invoiceninja_flutter/ui/purchase_order/view/purchase_order_view_vm.dart'; +import 'package:invoiceninja_flutter/ui/settings/bank_accounts_vm.dart'; import 'package:invoiceninja_flutter/ui/settings/payment_settings_vm.dart'; import 'package:invoiceninja_flutter/utils/platforms.dart'; import 'package:redux/redux.dart'; @@ -935,9 +937,15 @@ class SettingsScreens extends StatelessWidget { case kSettingsExpenseCategoryEdit: screen = ExpenseCategoryEditScreen(); break; + case kSettingsBankAccountSettings: + screen = BankAccountSettingsScreen(); + break; case kSettingsBankAccounts: screen = BankAccountScreenBuilder(); break; + case kSettingsBankAccountsView: + screen = BankAccountViewScreen(); + break; } return Row(children: [ diff --git a/lib/ui/bank_account/view/bank_account_view.dart b/lib/ui/bank_account/view/bank_account_view.dart index 432dcfeb6..e577ffba5 100644 --- a/lib/ui/bank_account/view/bank_account_view.dart +++ b/lib/ui/bank_account/view/bank_account_view.dart @@ -1,7 +1,10 @@ import 'package:flutter/material.dart'; +import 'package:invoiceninja_flutter/ui/app/entity_header.dart'; import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart'; import 'package:invoiceninja_flutter/ui/bank_account/view/bank_account_view_vm.dart'; import 'package:invoiceninja_flutter/ui/app/view_scaffold.dart'; +import 'package:invoiceninja_flutter/utils/formatting.dart'; +import 'package:invoiceninja_flutter/utils/localization.dart'; class BankAccountView extends StatefulWidget { const BankAccountView({ @@ -20,6 +23,7 @@ class BankAccountView extends StatefulWidget { class _BankAccountViewState extends State { @override Widget build(BuildContext context) { + final localization = AppLocalization.of(context); final viewModel = widget.viewModel; final bankAccount = viewModel.bankAccount; @@ -27,7 +31,13 @@ class _BankAccountViewState extends State { isFilter: widget.isFilter, entity: bankAccount, body: ScrollableListView( - children: [], + children: [ + EntityHeader( + entity: bankAccount, + label: localization.balance, + value: formatNumber(bankAccount.balance, context), + ) + ], ), ); } diff --git a/lib/ui/settings/bank_accounts_vm.dart b/lib/ui/settings/bank_accounts_vm.dart index adb1c6337..9989ba4c9 100644 --- a/lib/ui/settings/bank_accounts_vm.dart +++ b/lib/ui/settings/bank_accounts_vm.dart @@ -23,9 +23,9 @@ import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:url_launcher/url_launcher.dart'; -class OldBankAccountsScreen extends StatelessWidget { - const OldBankAccountsScreen({Key key}) : super(key: key); - static const String route = '/$kSettings/$kSettingsBankAccounts'; +class BankAccountSettingsScreen extends StatelessWidget { + const BankAccountSettingsScreen({Key key}) : super(key: key); + static const String route = '/$kSettings/$kSettingsBankAccountSettings'; @override Widget build(BuildContext context) {