feat: 添加空项目提示
This commit is contained in:
parent
68e282c944
commit
0054652044
4 changed files with 40 additions and 15 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
Loading…
Reference in a new issue