Add back support for drag-and-drop category reordering (#1427)

This commit is contained in:
Cuong-Tran
2025-02-26 12:37:10 +07:00
committed by GitHub
parent d91c7b6093
commit 919607cd06
8 changed files with 70 additions and 89 deletions

View File

@@ -43,8 +43,7 @@ class CategoryScreen : Screen() {
onClickSortAlphabetically = { screenModel.showDialog(CategoryDialog.SortAlphabetically) },
onClickRename = { screenModel.showDialog(CategoryDialog.Rename(it)) },
onClickDelete = { screenModel.showDialog(CategoryDialog.Delete(it)) },
onClickMoveUp = screenModel::moveUp,
onClickMoveDown = screenModel::moveDown,
onChangeOrder = screenModel::changeOrder,
navigateUp = navigator::pop,
)

View File

@@ -74,18 +74,9 @@ class CategoryScreenModel(
}
}
fun moveUp(category: Category) {
fun changeOrder(category: Category, newIndex: Int) {
screenModelScope.launch {
when (reorderCategory.moveUp(category)) {
is ReorderCategory.Result.InternalError -> _events.send(CategoryEvent.InternalError)
else -> {}
}
}
}
fun moveDown(category: Category) {
screenModelScope.launch {
when (reorderCategory.moveDown(category)) {
when (reorderCategory.changeOrder(category, newIndex)) {
is ReorderCategory.Result.InternalError -> _events.send(CategoryEvent.InternalError)
else -> {}
}