diff --git a/lib/ui/app/forms/save_cancel_buttons.dart b/lib/ui/app/forms/save_cancel_buttons.dart index bffb7104b..fc8c103f2 100644 --- a/lib/ui/app/forms/save_cancel_buttons.dart +++ b/lib/ui/app/forms/save_cancel_buttons.dart @@ -37,7 +37,7 @@ class SaveCancelButtons extends StatelessWidget { return TextButton( child: Text( cancelLabel ?? localization.cancel, - style: isHeader && isEnabled + style: isHeader && (isEnabled || isCancelEnabled) ? TextStyle(color: store.state.headerTextColor) : null, ), diff --git a/lib/ui/company_gateway/company_gateway_screen.dart b/lib/ui/company_gateway/company_gateway_screen.dart index a5953c881..4aa811d53 100644 --- a/lib/ui/company_gateway/company_gateway_screen.dart +++ b/lib/ui/company_gateway/company_gateway_screen.dart @@ -43,6 +43,7 @@ class CompanyGatewayScreen extends StatelessWidget { appBarActions: [ if (viewModel.isInMultiselect) SaveCancelButtons( + isHeader: true, saveLabel: localization.done, onSavePressed: listUIState.selectedIds.isEmpty ? null @@ -80,6 +81,7 @@ class CompanyGatewayScreen extends StatelessWidget { SaveCancelButtons( isEnabled: state.uiState.settingsUIState.isChanged, isCancelEnabled: true, + isHeader: true, isSaving: state.isSaving, onSavePressed: viewModel.onSavePressed, onCancelPressed: (_) { diff --git a/lib/ui/group/view/group_view.dart b/lib/ui/group/view/group_view.dart index 522272002..7b16e2271 100644 --- a/lib/ui/group/view/group_view.dart +++ b/lib/ui/group/view/group_view.dart @@ -1,6 +1,5 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:invoiceninja_flutter/data/models/company_model.dart'; import 'package:invoiceninja_flutter/data/models/entities.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; diff --git a/lib/ui/subscription/view/subscription_view.dart b/lib/ui/subscription/view/subscription_view.dart index 182935373..93b6a5f2e 100644 --- a/lib/ui/subscription/view/subscription_view.dart +++ b/lib/ui/subscription/view/subscription_view.dart @@ -41,6 +41,7 @@ class _SubscriptionViewState extends State { return ViewScaffold( isFilter: widget.isFilter, entity: subscription, + onBackPressed: () => viewModel.onBackPressed(), body: ScrollableListView( children: [ EntityHeader( diff --git a/lib/ui/subscription/view/subscription_view_vm.dart b/lib/ui/subscription/view/subscription_view_vm.dart index 8f3659318..3de2bd84e 100644 --- a/lib/ui/subscription/view/subscription_view_vm.dart +++ b/lib/ui/subscription/view/subscription_view_vm.dart @@ -3,6 +3,8 @@ import 'package:invoiceninja_flutter/constants.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart'; +import 'package:invoiceninja_flutter/ui/subscription/subscription_screen.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:redux/redux.dart'; @@ -45,6 +47,7 @@ class SubscriptionViewVM { @required this.onEntityAction, @required this.onRefreshed, @required this.isSaving, + @required this.onBackPressed, @required this.isLoading, @required this.isDirty, }); @@ -71,6 +74,9 @@ class SubscriptionViewVM { isDirty: subscription.isNew, subscription: subscription, onRefreshed: (context) => _handleRefresh(context), + onBackPressed: () { + store.dispatch(UpdateCurrentRoute(SubscriptionScreen.route)); + }, onEntityAction: (BuildContext context, EntityAction action) => handleEntitiesActions(context, [subscription], action, autoPop: true), ); @@ -81,6 +87,7 @@ class SubscriptionViewVM { final CompanyEntity company; final Function(BuildContext, EntityAction) onEntityAction; final Function(BuildContext) onRefreshed; + final Function onBackPressed; final bool isSaving; final bool isLoading; final bool isDirty;