Skip to content

Commit 1560103

Browse files
committed
fix: edit widget action
1 parent 10d1b66 commit 1560103

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,7 @@ fun HomeScreen(
237237
rootNavController.navigate(Routes.AddWidget)
238238
}
239239
},
240-
onClickEnableEdit = homeViewModel::enableEditMode,
241-
onClickConfirmEdit = homeViewModel::confirmWidgetOrder,
240+
onClickConfirmEdit = homeViewModel::onClickEditWidget,
242241
onClickEditWidget = { widgetType ->
243242
when (widgetType) {
244243
WidgetType.BLOCK -> rootNavController.navigate(Routes.BlocksPreview)
@@ -276,7 +275,6 @@ private fun Content(
276275
onRemoveSuggestion: (Suggestion) -> Unit = {},
277276
onClickSuggestion: (Suggestion) -> Unit = {},
278277
onClickAddWidget: () -> Unit = {},
279-
onClickEnableEdit: () -> Unit = {},
280278
onClickConfirmEdit: () -> Unit = {},
281279
onClickEditWidget: (WidgetType) -> Unit = {},
282280
onClickDeleteWidget: (WidgetType) -> Unit = {},

app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -205,14 +205,6 @@ class HomeViewModel @Inject constructor(
205205
}
206206
}
207207

208-
fun enableEditMode() {
209-
_uiState.update { it.copy(isEditingWidgets = true) }
210-
}
211-
212-
fun disableEditMode() {
213-
_uiState.update { it.copy(isEditingWidgets = false) }
214-
}
215-
216208
fun moveWidget(fromIndex: Int, toIndex: Int) {
217209
val currentWidgets = _uiState.value.widgetsWithPosition.toMutableList()
218210
if (fromIndex in currentWidgets.indices && toIndex in currentWidgets.indices) {
@@ -228,11 +220,15 @@ class HomeViewModel @Inject constructor(
228220
}
229221
}
230222

231-
fun confirmWidgetOrder() {
232-
viewModelScope.launch {
233-
val widgets = _uiState.value.widgetsWithPosition
234-
widgetsRepo.updateWidgets(widgets)
235-
disableEditMode()
223+
fun onClickEditWidget() {
224+
if (_uiState.value.isEditingWidgets) {
225+
viewModelScope.launch {
226+
val widgets = _uiState.value.widgetsWithPosition
227+
widgetsRepo.updateWidgets(widgets)
228+
disableEditMode()
229+
}
230+
} else {
231+
enableEditMode()
236232
}
237233
}
238234

@@ -255,6 +251,14 @@ class HomeViewModel @Inject constructor(
255251
}
256252
}
257253

254+
private fun enableEditMode() {
255+
_uiState.update { it.copy(isEditingWidgets = true) }
256+
}
257+
258+
private fun disableEditMode() {
259+
_uiState.update { it.copy(isEditingWidgets = false) }
260+
}
261+
258262
private fun createSuggestionsFlow() = combine(
259263
walletRepo.balanceState,
260264
settingsStore.data,

0 commit comments

Comments
 (0)