|
@@ -30,9 +30,7 @@ import androidx.compose.material3.pulltorefresh.PullToRefreshBox
|
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.runtime.Composable
|
|
|
import androidx.compose.runtime.collectAsState
|
|
import androidx.compose.runtime.collectAsState
|
|
|
import androidx.compose.runtime.getValue
|
|
import androidx.compose.runtime.getValue
|
|
|
-import androidx.compose.runtime.mutableStateOf
|
|
|
|
|
import androidx.compose.runtime.remember
|
|
import androidx.compose.runtime.remember
|
|
|
-import androidx.compose.runtime.setValue
|
|
|
|
|
import androidx.compose.ui.Alignment
|
|
import androidx.compose.ui.Alignment
|
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.Modifier
|
|
|
import androidx.compose.ui.draw.clip
|
|
import androidx.compose.ui.draw.clip
|
|
@@ -53,20 +51,20 @@ import com.iscs.bozzys.ui.theme.Text
|
|
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
|
@Composable
|
|
@Composable
|
|
|
fun HomeCompose(pv: PaddingValues, zIndex: Float, vmHome: VMHome) {
|
|
fun HomeCompose(pv: PaddingValues, zIndex: Float, vmHome: VMHome) {
|
|
|
- var isRefresh by remember { mutableStateOf(false) }
|
|
|
|
|
- Box(
|
|
|
|
|
|
|
+ val state by vmHome.state.collectAsState()
|
|
|
|
|
+ Column(
|
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
|
.fillMaxSize()
|
|
.fillMaxSize()
|
|
|
.zIndex(zIndex)
|
|
.zIndex(zIndex)
|
|
|
.background(Color.White)
|
|
.background(Color.White)
|
|
|
) {
|
|
) {
|
|
|
- PullToRefreshBox(isRefresh, onRefresh = {
|
|
|
|
|
- isRefresh = true
|
|
|
|
|
|
|
+ // 顶部工具栏
|
|
|
|
|
+ TopToolBar(pv, vmHome)
|
|
|
|
|
+ PullToRefreshBox(state.isHomeTabRefresh, onRefresh = {
|
|
|
|
|
+ vmHome.onRefreshHomeTab()
|
|
|
}) {
|
|
}) {
|
|
|
Column(Modifier.fillMaxSize()) {
|
|
Column(Modifier.fillMaxSize()) {
|
|
|
- // 顶部工具栏
|
|
|
|
|
- TopToolBar(pv, vmHome)
|
|
|
|
|
- Box() {
|
|
|
|
|
|
|
+ Box {
|
|
|
TODOList(pv, vmHome)
|
|
TODOList(pv, vmHome)
|
|
|
TODO(vmHome)
|
|
TODO(vmHome)
|
|
|
}
|
|
}
|
|
@@ -91,7 +89,7 @@ private fun TopToolBar(pv: PaddingValues, vmHome: VMHome) {
|
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
|
.fillMaxWidth()
|
|
.fillMaxWidth()
|
|
|
.height(66.dp)
|
|
.height(66.dp)
|
|
|
- .padding(start = 20.dp, end = 10.dp),
|
|
|
|
|
|
|
+ .padding(start = 16.dp, end = 10.dp),
|
|
|
verticalAlignment = Alignment.CenterVertically
|
|
verticalAlignment = Alignment.CenterVertically
|
|
|
) {
|
|
) {
|
|
|
Icon(
|
|
Icon(
|
|
@@ -156,7 +154,7 @@ private fun TODO(vmHome: VMHome) {
|
|
|
Column(
|
|
Column(
|
|
|
Modifier
|
|
Modifier
|
|
|
.fillMaxWidth()
|
|
.fillMaxWidth()
|
|
|
- .background(Color(0xFFF8F9FA))
|
|
|
|
|
|
|
+ .background(Color.White)
|
|
|
.padding(top = 3.dp)
|
|
.padding(top = 3.dp)
|
|
|
) {
|
|
) {
|
|
|
Text(
|
|
Text(
|
|
@@ -238,7 +236,7 @@ private fun TODOList(pv: PaddingValues, vmHome: VMHome) {
|
|
|
val messageList = listOf(1, 2, 3)
|
|
val messageList = listOf(1, 2, 3)
|
|
|
Column(
|
|
Column(
|
|
|
Modifier
|
|
Modifier
|
|
|
- .padding(horizontal = 20.dp)
|
|
|
|
|
|
|
+ .padding(horizontal = 16.dp)
|
|
|
.padding(bottom = pv.calculateBottomPadding())
|
|
.padding(bottom = pv.calculateBottomPadding())
|
|
|
.fillMaxSize()
|
|
.fillMaxSize()
|
|
|
.verticalScroll(state = rememberScrollState())
|
|
.verticalScroll(state = rememberScrollState())
|