From faeb2a38944d12c1e201772449b847e4b4d73932 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 20 Sep 2023 09:37:23 -0400 Subject: [PATCH] Removes the follow unfollow button from the Zap to User Compose --- .../amethyst/ui/note/ZapUserSetCompose.kt | 35 ++++++++++++++++--- .../ui/screen/loggedIn/AccountViewModel.kt | 3 ++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt index 0a31f430f..4d6acb69e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt @@ -5,13 +5,14 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.material.Divider import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -24,8 +25,10 @@ import androidx.compose.ui.unit.dp import com.vitorpamplona.amethyst.ui.screen.ZapUserSetCard import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.theme.DividerThickness +import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer import com.vitorpamplona.amethyst.ui.theme.Size25dp import com.vitorpamplona.amethyst.ui.theme.Size55Modifier +import com.vitorpamplona.amethyst.ui.theme.Size55dp import com.vitorpamplona.amethyst.ui.theme.newItemBackgroundColor import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -84,11 +87,33 @@ fun ZapUserSetCompose(zapSetCard: ZapUserSetCard, isInnerNote: Boolean = false, } } - Column(modifier = Modifier.padding(start = if (!isInnerNote) 10.dp else 0.dp)) { - val zapEvents by remember { derivedStateOf { zapSetCard.zapEvents } } - AuthorGalleryZaps(zapEvents, backgroundColor, nav, accountViewModel) + Column(modifier = Modifier) { + Row(Modifier.fillMaxWidth()) { + MapZaps(zapSetCard.zapEvents, accountViewModel) { + AuthorGalleryZaps(it, backgroundColor, nav, accountViewModel) + } + } - UserCompose(baseUser = zapSetCard.user, accountViewModel = accountViewModel, nav = nav) + Spacer(DoubleVertSpacer) + + Row(Modifier.padding(start = if (!isInnerNote) 10.dp else 0.dp).fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) { + UserPicture( + zapSetCard.user, + Size55dp, + accountViewModel = accountViewModel, + nav = nav + ) + + Column(modifier = remember { Modifier.padding(start = 10.dp).weight(1f) }) { + Row(verticalAlignment = Alignment.CenterVertically) { + UsernameDisplay(zapSetCard.user) + } + + AboutDisplay(zapSetCard.user) + } + } + + Spacer(DoubleVertSpacer) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 8655b9a95..562f0a826 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -25,6 +25,7 @@ import com.vitorpamplona.amethyst.service.Nip11CachedRetriever import com.vitorpamplona.amethyst.service.Nip11Retriever import com.vitorpamplona.amethyst.service.OnlineChecker import com.vitorpamplona.amethyst.service.ZapPaymentHandler +import com.vitorpamplona.amethyst.service.checkNotInMainThread import com.vitorpamplona.amethyst.service.lang.LanguageTranslatorService import com.vitorpamplona.amethyst.ui.components.TranslationConfig import com.vitorpamplona.amethyst.ui.components.UrlPreviewState @@ -195,6 +196,8 @@ class AccountViewModel(val account: Account) : ViewModel() { zapRequest: Note, zapEvent: Note? ): ZapAmountCommentNotification? { + checkNotInMainThread() + (zapRequest.event as? LnZapRequestEvent)?.let { val decryptedContent = decryptZap(zapRequest) val amount = (zapEvent?.event as? LnZapEvent)?.amount