From 8e913ef9740380601b8b27e84d72ed853d1fc520 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 22 Aug 2023 17:49:44 -0400 Subject: [PATCH] Adds replies and boosts to Stories --- .../amethyst/ui/note/ReactionsRow.kt | 44 ++++++++++++------- .../ui/screen/loggedIn/VideoScreen.kt | 9 ++-- 2 files changed, 33 insertions(+), 20 deletions(-) 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 971a4e26b..6d1cad664 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 @@ -57,6 +57,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role @@ -695,20 +696,21 @@ fun BoostReaction( } ) { BoostIcon(baseNote, iconSize, grayTint, accountViewModel) - } - if (wantsToBoost) { - BoostTypeChoicePopup( - baseNote, - accountViewModel, - onDismiss = { - wantsToBoost = false - }, - onQuote = { - wantsToBoost = false - onQuotePress() - } - ) + if (wantsToBoost) { + BoostTypeChoicePopup( + baseNote, + iconSize, + accountViewModel, + onDismiss = { + wantsToBoost = false + }, + onQuote = { + wantsToBoost = false + onQuotePress() + } + ) + } } BoostText(baseNote, grayTint) @@ -795,6 +797,7 @@ fun LikeReaction( if (wantsToReact) { ReactionChoicePopup( baseNote, + iconSize, accountViewModel, onDismiss = { wantsToReact = false @@ -1225,10 +1228,14 @@ private fun DrawViewCount( @OptIn(ExperimentalLayoutApi::class) @Composable -private fun BoostTypeChoicePopup(baseNote: Note, accountViewModel: AccountViewModel, onDismiss: () -> Unit, onQuote: () -> Unit) { +private fun BoostTypeChoicePopup(baseNote: Note, iconSize: Dp, accountViewModel: AccountViewModel, onDismiss: () -> Unit, onQuote: () -> Unit) { + val iconSizePx = with(LocalDensity.current) { + -iconSize.toPx().toInt() + } + Popup( alignment = Alignment.BottomCenter, - offset = IntOffset(0, -50), + offset = IntOffset(0, iconSizePx), onDismissRequest = { onDismiss() } ) { FlowRow { @@ -1269,6 +1276,7 @@ private fun BoostTypeChoicePopup(baseNote: Note, accountViewModel: AccountViewMo @Composable fun ReactionChoicePopup( baseNote: Note, + iconSize: Dp, accountViewModel: AccountViewModel, onDismiss: () -> Unit, onChangeAmount: () -> Unit @@ -1280,9 +1288,13 @@ fun ReactionChoicePopup( baseNote.reactedBy(account.userProfile()).toSet() } + val iconSizePx = with(LocalDensity.current) { + -iconSize.toPx().toInt() + } + Popup( alignment = Alignment.BottomCenter, - offset = IntOffset(0, -50), + offset = IntOffset(0, iconSizePx), onDismissRequest = { onDismiss() } ) { FlowRow(horizontalArrangement = Arrangement.Center) { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/VideoScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/VideoScreen.kt index 4d0787bf0..9ab694bfe 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/VideoScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/VideoScreen.kt @@ -46,6 +46,7 @@ import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.service.NostrVideoDataSource import com.vitorpamplona.amethyst.ui.actions.NewPostView import com.vitorpamplona.amethyst.ui.components.ObserveDisplayNip05Status +import com.vitorpamplona.amethyst.ui.note.BoostReaction import com.vitorpamplona.amethyst.ui.note.FileHeaderDisplay import com.vitorpamplona.amethyst.ui.note.FileStorageHeaderDisplay import com.vitorpamplona.amethyst.ui.note.HiddenNote @@ -55,6 +56,7 @@ import com.vitorpamplona.amethyst.ui.note.NoteComposeReportState import com.vitorpamplona.amethyst.ui.note.NoteDropDownMenu import com.vitorpamplona.amethyst.ui.note.NoteUsernameDisplay import com.vitorpamplona.amethyst.ui.note.RenderRelay +import com.vitorpamplona.amethyst.ui.note.ReplyReaction import com.vitorpamplona.amethyst.ui.note.ViewCountReaction import com.vitorpamplona.amethyst.ui.note.WatchForReports import com.vitorpamplona.amethyst.ui.note.ZapReaction @@ -449,13 +451,12 @@ fun ReactionsColumn(baseNote: Note, accountViewModel: AccountViewModel, nav: (St Spacer(modifier = Modifier.height(8.dp)) Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.padding(bottom = 75.dp, end = 20.dp)) { - /* - ReplyReaction(baseNote, accountViewModel, iconSize = 40.dp) { + ReplyReaction(baseNote, grayTint = MaterialTheme.colors.onBackground, accountViewModel, iconSize = 40.dp) { wantsToReplyTo = baseNote } - BoostReaction(baseNote, accountViewModel, iconSize = 40.dp) { + BoostReaction(baseNote, grayTint = MaterialTheme.colors.onBackground, accountViewModel, iconSize = 40.dp) { wantsToQuote = baseNote - }*/ + } LikeReaction(baseNote, grayTint = MaterialTheme.colors.onBackground, accountViewModel, nav, iconSize = 40.dp, heartSize = Size35dp, 28.sp) ZapReaction(baseNote, grayTint = MaterialTheme.colors.onBackground, accountViewModel, iconSize = 40.dp, animationSize = Size35dp) ViewCountReaction(baseNote, grayTint = MaterialTheme.colors.onBackground, barChartSize = 39.dp, viewCountColorFilter = MaterialTheme.colors.onBackgroundColorFilter)