Only show save/cancel if there are changes
This commit is contained in:
parent
72b24f34b2
commit
e82b948aac
|
|
@ -619,11 +619,9 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
|
|||
case TaskStatusEditScreen.route:
|
||||
return hasTaskStatusChanges(
|
||||
taskStatusUIState.editing, taskStatusState.map);
|
||||
|
||||
case ExpenseCategoryEditScreen.route:
|
||||
return hasExpenseCategoryChanges(
|
||||
expenseCategoryUIState.editing, expenseCategoryState.map);
|
||||
|
||||
case RecurringInvoiceEditScreen.route:
|
||||
return hasRecurringInvoiceChanges(
|
||||
recurringInvoiceUIState.editing, recurringInvoiceState.map);
|
||||
|
|
@ -638,7 +636,7 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
|
|||
return hasDesignChanges(designUIState.editing, designState.map);
|
||||
}
|
||||
|
||||
if (uiState.currentRoute.startsWith('/settings')) {
|
||||
if (uiState.isInSettings) {
|
||||
return settingsUIState.isChanged;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ abstract class UIState implements Built<UIState, UIStateBuilder> {
|
|||
|
||||
bool get isViewing => !isEditing && !isEmailing;
|
||||
|
||||
bool get isInSettings => currentRoute.contains('settings');
|
||||
bool get isInSettings => currentRoute.startsWith('/settings');
|
||||
|
||||
bool get isPreviewing => previewStack.isNotEmpty;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,13 @@ class EditScaffold extends StatelessWidget {
|
|||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
|
||||
bool showButtons = true;
|
||||
if (state.uiState.isInSettings &&
|
||||
!state.uiState.isEditing &&
|
||||
!state.settingsUIState.isChanged) {
|
||||
showButtons = false;
|
||||
}
|
||||
|
||||
return WillPopScope(
|
||||
onWillPop: () async {
|
||||
return true;
|
||||
|
|
@ -50,6 +57,7 @@ class EditScaffold extends StatelessWidget {
|
|||
automaticallyImplyLeading: isMobile(context),
|
||||
title: Text(title),
|
||||
actions: <Widget>[
|
||||
if (showButtons)
|
||||
SaveCancelButtons(
|
||||
saveLabel: saveLabel,
|
||||
isSaving: state.isSaving,
|
||||
|
|
|
|||
Loading…
Reference in New Issue