Moves reaction counts to a thread

This commit is contained in:
Vitor Pamplona 2023-06-02 22:14:21 -04:00
parent 839be06f62
commit a41ee653d8
2 changed files with 21 additions and 7 deletions

View File

@ -2120,7 +2120,7 @@ private fun RelayBadges(baseNote: Note) {
var lazyRelayList by remember { mutableStateOf(emptyList<String>()) }
LaunchedEffect(key1 = noteRelaysState, key2 = expanded) {
withContext(Dispatchers.IO) {
launch(Dispatchers.IO) {
val relayList = noteRelays.relays.map {
it.removePrefix("wss://").removePrefix("ws://")
}

View File

@ -319,9 +319,16 @@ fun LikeReaction(
fun LikeIcon(baseNote: Note, iconSize: Dp = 20.dp, grayTint: Color, loggedIn: User) {
val reactionsState by baseNote.live().reactions.observeAsState()
val wasReactedByLoggedIn by remember(reactionsState) {
derivedStateOf {
reactionsState?.note?.isReactedBy(loggedIn) == true
var wasReactedByLoggedIn by remember(reactionsState) {
mutableStateOf(false)
}
LaunchedEffect(key1 = reactionsState) {
launch(Dispatchers.Default) {
val newWasReactedByLoggedIn = reactionsState?.note?.isReactedBy(loggedIn) == true
if (wasReactedByLoggedIn != newWasReactedByLoggedIn) {
wasReactedByLoggedIn = newWasReactedByLoggedIn
}
}
}
@ -350,9 +357,16 @@ fun LikeIcon(baseNote: Note, iconSize: Dp = 20.dp, grayTint: Color, loggedIn: Us
fun LikeText(baseNote: Note, grayTint: Color) {
val reactionsState by baseNote.live().reactions.observeAsState()
val reactionsCount by remember(reactionsState) {
derivedStateOf {
" " + showCount(reactionsState?.note?.reactions?.size)
var reactionsCount by remember(reactionsState) {
mutableStateOf("")
}
LaunchedEffect(key1 = reactionsState) {
launch(Dispatchers.Default) {
val newReactionsCount = " " + showCount(reactionsState?.note?.reactions?.size)
if (reactionsCount != newReactionsCount) {
reactionsCount = newReactionsCount
}
}
}