diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt index b79399275..450220fc0 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt @@ -237,8 +237,7 @@ fun HomeScreen( rootNavController.navigate(Routes.AddWidget) } }, - onClickEnableEdit = homeViewModel::enableEditMode, - onClickConfirmEdit = homeViewModel::confirmWidgetOrder, + onClickEditWidgetList = homeViewModel::onClickEditWidgetList, onClickEditWidget = { widgetType -> when (widgetType) { WidgetType.BLOCK -> rootNavController.navigate(Routes.BlocksPreview) @@ -276,8 +275,7 @@ private fun Content( onRemoveSuggestion: (Suggestion) -> Unit = {}, onClickSuggestion: (Suggestion) -> Unit = {}, onClickAddWidget: () -> Unit = {}, - onClickEnableEdit: () -> Unit = {}, - onClickConfirmEdit: () -> Unit = {}, + onClickEditWidgetList: () -> Unit = {}, onClickEditWidget: (WidgetType) -> Unit = {}, onClickDeleteWidget: (WidgetType) -> Unit = {}, onMoveWidget: (Int, Int) -> Unit = { _, _ -> }, @@ -409,7 +407,7 @@ private fun Content( ) IconButton( - onClick = onClickConfirmEdit, + onClick = onClickEditWidgetList, modifier = Modifier.testTag("WidgetsEdit") ) { Icon( diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt index 6f17e12b6..d359bf233 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt @@ -205,14 +205,6 @@ class HomeViewModel @Inject constructor( } } - fun enableEditMode() { - _uiState.update { it.copy(isEditingWidgets = true) } - } - - fun disableEditMode() { - _uiState.update { it.copy(isEditingWidgets = false) } - } - fun moveWidget(fromIndex: Int, toIndex: Int) { val currentWidgets = _uiState.value.widgetsWithPosition.toMutableList() if (fromIndex in currentWidgets.indices && toIndex in currentWidgets.indices) { @@ -228,11 +220,15 @@ class HomeViewModel @Inject constructor( } } - fun confirmWidgetOrder() { - viewModelScope.launch { - val widgets = _uiState.value.widgetsWithPosition - widgetsRepo.updateWidgets(widgets) - disableEditMode() + fun onClickEditWidgetList() { + if (_uiState.value.isEditingWidgets) { + viewModelScope.launch { + val widgets = _uiState.value.widgetsWithPosition + widgetsRepo.updateWidgets(widgets) + disableEditMode() + } + } else { + enableEditMode() } } @@ -255,6 +251,14 @@ class HomeViewModel @Inject constructor( } } + private fun enableEditMode() { + _uiState.update { it.copy(isEditingWidgets = true) } + } + + private fun disableEditMode() { + _uiState.update { it.copy(isEditingWidgets = false) } + } + private fun createSuggestionsFlow() = combine( walletRepo.balanceState, settingsStore.data,