mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2024-09-29 08:20:51 +00:00
Fixes the LazyColumn for Hashtags on Profile
This commit is contained in:
parent
b182d409b6
commit
723e575b4b
@ -43,6 +43,8 @@ import androidx.compose.foundation.layout.height
|
|||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.foundation.lazy.itemsIndexed
|
||||||
import androidx.compose.foundation.pager.HorizontalPager
|
import androidx.compose.foundation.pager.HorizontalPager
|
||||||
import androidx.compose.foundation.pager.PagerState
|
import androidx.compose.foundation.pager.PagerState
|
||||||
import androidx.compose.foundation.pager.rememberPagerState
|
import androidx.compose.foundation.pager.rememberPagerState
|
||||||
@ -621,17 +623,11 @@ private fun ReportsTabHeader(baseUser: User) {
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun FollowedTagsTabHeader(baseUser: User) {
|
private fun FollowedTagsTabHeader(baseUser: User) {
|
||||||
var usertags by remember { mutableIntStateOf(0) }
|
val userState by baseUser.live().follows.observeAsState()
|
||||||
|
|
||||||
LaunchedEffect(key1 = baseUser) {
|
val usertags by remember(baseUser) {
|
||||||
launch(Dispatchers.IO) {
|
derivedStateOf {
|
||||||
val contactList = baseUser.latestContactList
|
userState?.user?.latestContactList?.countFollowTags() ?: 0
|
||||||
|
|
||||||
val newTags = (contactList?.verifiedFollowTagSet?.count() ?: 0)
|
|
||||||
|
|
||||||
if (newTags != usertags) {
|
|
||||||
usertags = newTags
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1540,9 +1536,15 @@ fun TabFollowedTags(
|
|||||||
account: AccountViewModel,
|
account: AccountViewModel,
|
||||||
nav: (String) -> Unit,
|
nav: (String) -> Unit,
|
||||||
) {
|
) {
|
||||||
|
val items =
|
||||||
|
remember(baseUser) {
|
||||||
|
baseUser.latestContactList?.unverifiedFollowTagSet()
|
||||||
|
}
|
||||||
|
|
||||||
Column(Modifier.fillMaxHeight().padding(vertical = 0.dp)) {
|
Column(Modifier.fillMaxHeight().padding(vertical = 0.dp)) {
|
||||||
baseUser.latestContactList?.let {
|
items?.let {
|
||||||
it.unverifiedFollowTagSet().forEach { hashtag ->
|
LazyColumn {
|
||||||
|
itemsIndexed(items) { index, hashtag ->
|
||||||
HashtagHeader(
|
HashtagHeader(
|
||||||
tag = hashtag,
|
tag = hashtag,
|
||||||
account = account,
|
account = account,
|
||||||
@ -1555,6 +1557,7 @@ fun TabFollowedTags(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TabBookmarks(
|
fun TabBookmarks(
|
||||||
|
@ -82,6 +82,8 @@ class ContactListEvent(
|
|||||||
|
|
||||||
fun unverifiedFollowTagSet() = tags.filter { it.size > 1 && it[0] == "t" }.mapNotNull { it.getOrNull(1) }
|
fun unverifiedFollowTagSet() = tags.filter { it.size > 1 && it[0] == "t" }.mapNotNull { it.getOrNull(1) }
|
||||||
|
|
||||||
|
fun countFollowTags() = tags.count { it.size > 1 && it[0] == "t" }
|
||||||
|
|
||||||
fun unverifiedFollowGeohashSet() = tags.filter { it.size > 1 && it[0] == "g" }.mapNotNull { it.getOrNull(1) }
|
fun unverifiedFollowGeohashSet() = tags.filter { it.size > 1 && it[0] == "g" }.mapNotNull { it.getOrNull(1) }
|
||||||
|
|
||||||
fun unverifiedFollowAddressSet() = tags.filter { it.size > 1 && it[0] == "a" }.mapNotNull { it.getOrNull(1) }
|
fun unverifiedFollowAddressSet() = tags.filter { it.size > 1 && it[0] == "a" }.mapNotNull { it.getOrNull(1) }
|
||||||
|
Loading…
Reference in New Issue
Block a user