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(
|
ManagerFragment(
|
||||||
state = listState,
|
state = listState,
|
||||||
list = toDoList.value,
|
list = toDoList.value.filter { item -> !item.isCompleted },
|
||||||
onItemClick = {},
|
onItemClick = {},
|
||||||
onItemChecked = { item ->
|
onItemChecked = { item ->
|
||||||
item.apply {
|
item.apply {
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,30 @@
|
||||||
package cn.super12138.todo.ui.pages.main
|
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.PaddingValues
|
||||||
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
|
import androidx.compose.material3.MaterialTheme
|
||||||
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
import cn.super12138.todo.R
|
||||||
import cn.super12138.todo.logic.database.TodoEntity
|
import cn.super12138.todo.logic.database.TodoEntity
|
||||||
import cn.super12138.todo.ui.pages.main.components.TodoCard
|
import cn.super12138.todo.ui.pages.main.components.TodoCard
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ManagerFragment(
|
fun ManagerFragment(
|
||||||
state: LazyListState,
|
state: LazyListState,
|
||||||
|
list: List<TodoEntity>,
|
||||||
onItemClick: (TodoEntity) -> Unit = {},
|
onItemClick: (TodoEntity) -> Unit = {},
|
||||||
onItemChecked: (TodoEntity) -> Unit = {},
|
onItemChecked: (TodoEntity) -> Unit = {},
|
||||||
list: List<TodoEntity>,
|
|
||||||
modifier: Modifier = Modifier
|
modifier: Modifier = Modifier
|
||||||
) {
|
) {
|
||||||
LazyColumn(
|
LazyColumn(
|
||||||
|
|
@ -27,19 +35,34 @@ fun ManagerFragment(
|
||||||
end = 10.dp,
|
end = 10.dp,
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
items(
|
if (list.isEmpty()) {
|
||||||
items = list,
|
item {
|
||||||
key = { it.id }
|
Column(
|
||||||
) { item ->
|
verticalArrangement = Arrangement.Center,
|
||||||
TodoCard(
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
content = item.content,
|
modifier = Modifier.fillMaxSize()
|
||||||
subject = item.subject,
|
) {
|
||||||
onCardClick = { onItemClick(item) },
|
Text(
|
||||||
onChecked = { onItemChecked(item) },
|
text = stringResource(R.string.tips_no_task),
|
||||||
modifier = Modifier
|
style = MaterialTheme.typography.titleMedium
|
||||||
.padding(vertical = 5.dp)
|
)
|
||||||
.animateItem()
|
}
|
||||||
)
|
}
|
||||||
|
} 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="app_name">待办</string>
|
||||||
<string name="pages_settings">设置</string>
|
<string name="pages_settings">设置</string>
|
||||||
<string name="action_add_todo">添加待办</string>
|
<string name="action_add_todo">添加待办</string>
|
||||||
|
<string name="tips_no_task">目前没有任务要完成的,好好休息一些下吧~</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -2,4 +2,5 @@
|
||||||
<string name="app_name">To Do</string>
|
<string name="app_name">To Do</string>
|
||||||
<string name="pages_settings">Settings</string>
|
<string name="pages_settings">Settings</string>
|
||||||
<string name="action_add_todo">Add todo</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>
|
</resources>
|
||||||
Loading…
Reference in a new issue