From 39efc2ef9b8c9949465019e3578529ab7485cbea Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 14 Jun 2024 08:31:06 -0400 Subject: [PATCH] Adjusting zap calculations --- .../amethyst/ui/note/MultiSetCompose.kt | 31 +++++++++++-------- .../amethyst/ui/note/ReactionsRow.kt | 3 +- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt index 4f4da0942..0ade7e95a 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt @@ -44,6 +44,7 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue @@ -163,18 +164,7 @@ private fun Galeries( nav: (String) -> Unit, ) { if (multiSetCard.zapEvents.isNotEmpty()) { - var zapEvents by - remember(multiSetCard) { - mutableStateOf( - accountViewModel.cachedDecryptAmountMessageInGroup(multiSetCard.zapEvents), - ) - } - - LaunchedEffect(key1 = Unit) { - accountViewModel.decryptAmountMessageInGroup(multiSetCard.zapEvents) { zapEvents = it } - } - - RenderZapGallery(zapEvents, backgroundColor, nav, accountViewModel) + DecryptAndRenderZapGallery(multiSetCard, backgroundColor, accountViewModel, nav) } if (multiSetCard.boostEvents.isNotEmpty()) { @@ -229,12 +219,27 @@ fun RenderLikeGallery( } } +@Composable +fun DecryptAndRenderZapGallery( + multiSetCard: MultiSetCard, + backgroundColor: MutableState, + accountViewModel: AccountViewModel, + nav: (String) -> Unit, +) { + val zapEvents by + produceState(initialValue = accountViewModel.cachedDecryptAmountMessageInGroup(multiSetCard.zapEvents)) { + accountViewModel.decryptAmountMessageInGroup(multiSetCard.zapEvents) { value = it } + } + + RenderZapGallery(zapEvents, backgroundColor, accountViewModel, nav) +} + @Composable fun RenderZapGallery( zapEvents: ImmutableList, backgroundColor: MutableState, - nav: (String) -> Unit, accountViewModel: AccountViewModel, + nav: (String) -> Unit, ) { Row(Modifier.fillMaxWidth()) { Box( diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt index 4da3ad406..0d48b980a 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt @@ -34,7 +34,6 @@ import androidx.compose.animation.slideInVertically import androidx.compose.animation.slideOutVertically import androidx.compose.animation.togetherWith import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement @@ -494,8 +493,8 @@ private fun WatchZapAndRenderGallery( RenderZapGallery( zapEvents, backgroundColor, - nav, accountViewModel, + nav, ) } }