feat: use m3e loading indicator in member list
This commit is contained in:
parent
0c2cd61aa1
commit
693e9d4ba4
|
|
@ -11,8 +11,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
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.material3.CircularProgressIndicator
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
||||||
|
import androidx.compose.material3.LoadingIndicator
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.ModalBottomSheet
|
import androidx.compose.material3.ModalBottomSheet
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
|
|
@ -197,7 +198,10 @@ class MemberListSheetViewModel(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class)
|
@OptIn(
|
||||||
|
ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class,
|
||||||
|
ExperimentalMaterial3ExpressiveApi::class
|
||||||
|
)
|
||||||
@Composable
|
@Composable
|
||||||
fun MemberListSheet(
|
fun MemberListSheet(
|
||||||
channelId: String,
|
channelId: String,
|
||||||
|
|
@ -286,7 +290,7 @@ fun MemberListSheet(
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.height(200.dp)
|
.height(200.dp)
|
||||||
) {
|
) {
|
||||||
CircularProgressIndicator(modifier = Modifier.align(Alignment.Center))
|
LoadingIndicator(modifier = Modifier.align(Alignment.Center))
|
||||||
}
|
}
|
||||||
|
|
||||||
return@Column
|
return@Column
|
||||||
|
|
@ -313,8 +317,10 @@ fun MemberListSheet(
|
||||||
}
|
}
|
||||||
|
|
||||||
is MemberListSheetItem.MemberItem -> {
|
is MemberListSheetItem.MemberItem -> {
|
||||||
val isFirst = index == 0 || viewModel.fullItemList[index - 1] is MemberListSheetItem.CategoryItem
|
val isFirst =
|
||||||
val isLast = index == viewModel.fullItemList.size - 1 || viewModel.fullItemList[index + 1] is MemberListSheetItem.CategoryItem
|
index == 0 || viewModel.fullItemList[index - 1] is MemberListSheetItem.CategoryItem
|
||||||
|
val isLast =
|
||||||
|
index == viewModel.fullItemList.size - 1 || viewModel.fullItemList[index + 1] is MemberListSheetItem.CategoryItem
|
||||||
item(key = item.member.id!!.user) {
|
item(key = item.member.id!!.user) {
|
||||||
MemberListItem(
|
MemberListItem(
|
||||||
user = StoatAPI.userCache[item.member.id!!.user],
|
user = StoatAPI.userCache[item.member.id!!.user],
|
||||||
|
|
@ -340,8 +346,10 @@ fun MemberListSheet(
|
||||||
}
|
}
|
||||||
|
|
||||||
is MemberListSheetItem.UserItem -> {
|
is MemberListSheetItem.UserItem -> {
|
||||||
val isFirst = index == 0 || viewModel.fullItemList[index - 1] is MemberListSheetItem.CategoryItem
|
val isFirst =
|
||||||
val isLast = index == viewModel.fullItemList.size - 1 || viewModel.fullItemList[index + 1] is MemberListSheetItem.CategoryItem
|
index == 0 || viewModel.fullItemList[index - 1] is MemberListSheetItem.CategoryItem
|
||||||
|
val isLast =
|
||||||
|
index == viewModel.fullItemList.size - 1 || viewModel.fullItemList[index + 1] is MemberListSheetItem.CategoryItem
|
||||||
item(key = item.user.id!!) {
|
item(key = item.user.id!!) {
|
||||||
MemberListItem(
|
MemberListItem(
|
||||||
user = item.user,
|
user = item.user,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue