style: rename MemberListSheet.MemberListItem to MemberListSheetItem

Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
Infi 2024-01-13 17:47:51 +01:00
parent 1f81399da2
commit 3738045793
1 changed files with 18 additions and 18 deletions

View File

@ -61,10 +61,10 @@ val DO_NOT_FETCH_OFFLINE_MEMBERS_SERVERS = listOf(
"01F7ZSBSFHQ8TA81725KQCSDDP" // Revolt Lounge "01F7ZSBSFHQ8TA81725KQCSDDP" // Revolt Lounge
) )
sealed class MemberListItem { sealed class MemberListSheetItem {
data class MemberItem(val member: Member) : MemberListItem() data class MemberItem(val member: Member) : MemberListSheetItem()
data class UserItem(val user: User) : MemberListItem() data class UserItem(val user: User) : MemberListSheetItem()
data class CategoryItem(val category: String, val count: Int) : MemberListItem() data class CategoryItem(val category: String, val count: Int) : MemberListSheetItem()
} }
@HiltViewModel @HiltViewModel
@ -72,7 +72,7 @@ sealed class MemberListItem {
class MemberListSheetViewModel @Inject constructor( class MemberListSheetViewModel @Inject constructor(
@ApplicationContext private val context: Context @ApplicationContext private val context: Context
) : ViewModel() { ) : ViewModel() {
val fullItemList = mutableStateListOf<MemberListItem>() val fullItemList = mutableStateListOf<MemberListSheetItem>()
fun fetchServerMemberList(serverId: String, channelId: String) { fun fetchServerMemberList(serverId: String, channelId: String) {
viewModelScope.launch { viewModelScope.launch {
@ -125,35 +125,35 @@ class MemberListSheetViewModel @Inject constructor(
// Hoisted roles // Hoisted roles
Roles.inOrder(serverId) { it.hoist == true }.forEach { role -> Roles.inOrder(serverId) { it.hoist == true }.forEach { role ->
val members = categories[role.name] ?: return@forEach val members = categories[role.name] ?: return@forEach
fullItemList.add(MemberListItem.CategoryItem(role.name ?: "", members.size)) fullItemList.add(MemberListSheetItem.CategoryItem(role.name ?: "", members.size))
members.forEach { member -> members.forEach { member ->
fullItemList.add(MemberListItem.MemberItem(member)) fullItemList.add(MemberListSheetItem.MemberItem(member))
} }
} }
// Online // Online
if (!categories[defaultCategoryName].isNullOrEmpty()) { if (!categories[defaultCategoryName].isNullOrEmpty()) {
fullItemList.add( fullItemList.add(
MemberListItem.CategoryItem( MemberListSheetItem.CategoryItem(
defaultCategoryName, defaultCategoryName,
categories[defaultCategoryName]?.size ?: 0 categories[defaultCategoryName]?.size ?: 0
) )
) )
categories[defaultCategoryName]?.forEach { member -> categories[defaultCategoryName]?.forEach { member ->
fullItemList.add(MemberListItem.MemberItem(member)) fullItemList.add(MemberListSheetItem.MemberItem(member))
} }
} }
// Offline // Offline
if (!categories[offlineCategoryName].isNullOrEmpty()) { if (!categories[offlineCategoryName].isNullOrEmpty()) {
fullItemList.add( fullItemList.add(
MemberListItem.CategoryItem( MemberListSheetItem.CategoryItem(
offlineCategoryName, offlineCategoryName,
categories[offlineCategoryName]?.size ?: 0 categories[offlineCategoryName]?.size ?: 0
) )
) )
categories[offlineCategoryName]?.forEach { member -> categories[offlineCategoryName]?.forEach { member ->
fullItemList.add(MemberListItem.MemberItem(member)) fullItemList.add(MemberListSheetItem.MemberItem(member))
} }
} }
} }
@ -180,27 +180,27 @@ class MemberListSheetViewModel @Inject constructor(
if (userList.count(onlinePredicate) > 0) { if (userList.count(onlinePredicate) > 0) {
fullItemList.add( fullItemList.add(
MemberListItem.CategoryItem( MemberListSheetItem.CategoryItem(
context.getString(R.string.status_online), context.getString(R.string.status_online),
userList.count(onlinePredicate) userList.count(onlinePredicate)
) )
) )
userList.filter(onlinePredicate).forEach { user -> userList.filter(onlinePredicate).forEach { user ->
fullItemList.add(MemberListItem.UserItem(user)) fullItemList.add(MemberListSheetItem.UserItem(user))
} }
} }
if (userList.count(offlinePredicate) > 0) { if (userList.count(offlinePredicate) > 0) {
fullItemList.add( fullItemList.add(
MemberListItem.CategoryItem( MemberListSheetItem.CategoryItem(
context.getString(R.string.status_offline), context.getString(R.string.status_offline),
userList.count(offlinePredicate) userList.count(offlinePredicate)
) )
) )
userList.filter(offlinePredicate).forEach { user -> userList.filter(offlinePredicate).forEach { user ->
fullItemList.add(MemberListItem.UserItem(user)) fullItemList.add(MemberListSheetItem.UserItem(user))
} }
} }
} }
@ -265,13 +265,13 @@ fun MemberListSheet(
LazyColumn { LazyColumn {
viewModel.fullItemList.forEachIndexed { index, item -> viewModel.fullItemList.forEachIndexed { index, item ->
when (item) { when (item) {
is MemberListItem.CategoryItem -> stickyHeader( is MemberListSheetItem.CategoryItem -> stickyHeader(
key = "${item.category}-$index" key = "${item.category}-$index"
) { ) {
MemberListCategory(text = item.category, count = item.count) MemberListCategory(text = item.category, count = item.count)
} }
is MemberListItem.MemberItem -> item(key = item.member.id!!.user) { is MemberListSheetItem.MemberItem -> item(key = item.member.id!!.user) {
MemberListItem( MemberListItem(
user = RevoltAPI.userCache[item.member.id.user], user = RevoltAPI.userCache[item.member.id.user],
member = item.member, member = item.member,
@ -284,7 +284,7 @@ fun MemberListSheet(
) )
} }
is MemberListItem.UserItem -> item(key = item.user.id!!) { is MemberListSheetItem.UserItem -> item(key = item.user.id!!) {
MemberListItem( MemberListItem(
user = item.user, user = item.user,
member = null, member = null,