From 31432325888c6be2c8414b9e55b0ad1c7ef33cf9 Mon Sep 17 00:00:00 2001 From: Super12138 <70494801+Super12138@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:37:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=92=8C=E4=B8=BB=E9=A1=B5=E9=9D=A2=E8=A7=A3?= =?UTF-8?q?=E8=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../super12138/todo/ui/pages/main/MainPage.kt | 3 ++- .../todo/ui/pages/main/ProgressFragment.kt | 17 ++++++++--------- 2 files changed, 10 insertions(+), 10 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 cc36f54..1818c8a 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 @@ -95,7 +95,8 @@ fun MainPage(viewModel: MainViewModel, modifier: Modifier = Modifier) { ) { innerPadding -> Column(modifier = Modifier.padding(innerPadding)) { ProgressFragment( - viewModel = viewModel, + totalTasks = toDoList.value.size, + completedTasks = toDoList.value.count { it.isCompleted }, modifier = Modifier .weight(2f) .fillMaxSize() diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ProgressFragment.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ProgressFragment.kt index 4e63efd..eb347c8 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ProgressFragment.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ProgressFragment.kt @@ -10,21 +10,20 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ProgressIndicatorDefaults import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import cn.super12138.todo.ui.viewmodels.MainViewModel @Composable -fun ProgressFragment(viewModel: MainViewModel, modifier: Modifier = Modifier) { - val toDoList = viewModel.toDos.collectAsState(initial = emptyList()) - val totalTask = toDoList.value.size - val completedTasks = toDoList.value.count { it.isCompleted } - val progress = if (toDoList.value.isNotEmpty()) { - completedTasks / totalTask.toFloat() +fun ProgressFragment( + totalTasks: Int, + completedTasks: Int, + modifier: Modifier = Modifier +) { + val progress = if (totalTasks != 0) { + completedTasks / totalTasks.toFloat() } else { // 没有任务时 0f @@ -59,7 +58,7 @@ fun ProgressFragment(viewModel: MainViewModel, modifier: Modifier = Modifier) { ) ) Text( - text = totalTask.toString(), + text = totalTasks.toString(), style = MaterialTheme.typography.displayMedium.copy( fontWeight = FontWeight.Bold )