feat: 添加空项目提示

This commit is contained in:
Super12138 2025-01-11 19:59:31 +08:00
parent 68e282c944
commit 0054652044
4 changed files with 40 additions and 15 deletions

View file

@ -98,7 +98,7 @@ fun MainPage(viewModel: MainViewModel, modifier: Modifier = Modifier) {
ManagerFragment(
state = listState,
list = toDoList.value,
list = toDoList.value.filter { item -> !item.isCompleted },
onItemClick = {},
onItemChecked = { item ->
item.apply {

View file

@ -1,22 +1,30 @@
package cn.super12138.todo.ui.pages.main
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import cn.super12138.todo.R
import cn.super12138.todo.logic.database.TodoEntity
import cn.super12138.todo.ui.pages.main.components.TodoCard
@Composable
fun ManagerFragment(
state: LazyListState,
list: List<TodoEntity>,
onItemClick: (TodoEntity) -> Unit = {},
onItemChecked: (TodoEntity) -> Unit = {},
list: List<TodoEntity>,
modifier: Modifier = Modifier
) {
LazyColumn(
@ -27,19 +35,34 @@ fun ManagerFragment(
end = 10.dp,
)
) {
items(
items = list,
key = { it.id }
) { item ->
TodoCard(
content = item.content,
subject = item.subject,
onCardClick = { onItemClick(item) },
onChecked = { onItemChecked(item) },
modifier = Modifier
.padding(vertical = 5.dp)
.animateItem()
)
if (list.isEmpty()) {
item {
Column(
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.fillMaxSize()
) {
Text(
text = stringResource(R.string.tips_no_task),
style = MaterialTheme.typography.titleMedium
)
}
}
} else {
items(
items = list,
key = { it.id }
) { item ->
TodoCard(
content = item.content,
subject = item.subject,
onCardClick = { onItemClick(item) },
onChecked = { onItemChecked(item) },
modifier = Modifier
.padding(vertical = 5.dp)
.animateItem()
)
}
}
}
}

View file

@ -3,4 +3,5 @@
<string name="app_name">待办</string>
<string name="pages_settings">设置</string>
<string name="action_add_todo">添加待办</string>
<string name="tips_no_task">目前没有任务要完成的,好好休息一些下吧~</string>
</resources>

View file

@ -2,4 +2,5 @@
<string name="app_name">To Do</string>
<string name="pages_settings">Settings</string>
<string name="action_add_todo">Add todo</string>
<string name="tips_no_task">There are no tasks to complete at the moment, take a good rest!</string>
</resources>