From 0c5d30a48634972c0d007e484e97f243a681263d Mon Sep 17 00:00:00 2001 From: Super12138 <70494801+Super12138@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:34:17 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=85=A8?= =?UTF-8?q?=E9=80=89=E9=80=BB=E8=BE=91=E5=92=8C=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/super12138/todo/ui/pages/main/MainPage.kt | 2 +- .../todo/ui/pages/main/components/TodoCard.kt | 5 ++++- .../super12138/todo/ui/viewmodels/MainViewModel.kt | 13 +++---------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt index 00edc52..6a3f69e 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt @@ -91,7 +91,7 @@ fun MainPage( selectedTodoIds = selectedTodoIds, selectedMode = !isSelectedIdsEmpty, onCancelSelect = { viewModel.clearAllTodoSelection() }, - onSelectAll = { viewModel.toggleAllSelected() }, + onSelectAll = { viewModel.selectAllTodos() }, onDeleteSelectedTodo = { showDeleteConfirmDialog = true }, toSettingsPage = toSettingsPage ) diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt index 14820e7..e8b44bd 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt @@ -120,7 +120,10 @@ fun TodoCard( }, modifier = Modifier.padding(start = 5.dp) ) { - Text(priority.getDisplayName(context)) + Text( + text = priority.getDisplayName(context), + textDecoration = if (completed) TextDecoration.LineThrough else TextDecoration.None, + ) } } ) { diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt b/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt index de4a852..a419255 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt @@ -116,19 +116,12 @@ class MainViewModel : ViewModel() { /** * 切换是否全选 */ - fun toggleAllSelected() { + fun selectAllTodos() { viewModelScope.launch { toDos.firstOrNull()?.let { todos -> + // 无论是否有选择都全选 val allIds = todos.map { it.id } - _selectedTodoIds.update { currentSelectedIds -> - if (currentSelectedIds.containsAll(allIds)) { - // 如果当前是全选状态,取消所有选择(切换为全不选) - emptyList() - } else { - // 如果当前不是全选状态,选中所有项 - allIds - } - } + _selectedTodoIds.value = allIds } } }