Realigning the reaction icons and texts between main feed and video feed.

This commit is contained in:
Vitor Pamplona
2024-03-25 10:44:10 -04:00
parent a26b5490b2
commit 7eefbee0e3
4 changed files with 31 additions and 10 deletions
@@ -22,6 +22,7 @@ package com.vitorpamplona.amethyst.ui.note
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
@@ -206,6 +207,18 @@ fun ZappedIcon(modifier: Modifier) {
ZapIcon(modifier = modifier, BitcoinOrange) ZapIcon(modifier = modifier, BitcoinOrange)
} }
@Preview
@Composable
fun ReactionRowIconPreview() {
Row(verticalAlignment = Alignment.CenterVertically) {
CommentIcon(Size20Modifier, Color.Unspecified)
RepostedIcon(Size20Modifier)
LikeIcon(Size20Modifier, Color.Unspecified)
ZapIcon(Size20Modifier)
ZappedIcon(Size20Modifier)
}
}
@Composable @Composable
fun ZapIcon( fun ZapIcon(
modifier: Modifier, modifier: Modifier,
@@ -99,7 +99,6 @@ import coil.request.CachePolicy
import coil.request.ImageRequest import coil.request.ImageRequest
import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.zap
import com.vitorpamplona.amethyst.service.ZapPaymentHandler import com.vitorpamplona.amethyst.service.ZapPaymentHandler
import com.vitorpamplona.amethyst.ui.actions.NewPostView import com.vitorpamplona.amethyst.ui.actions.NewPostView
import com.vitorpamplona.amethyst.ui.components.GenericLoadable import com.vitorpamplona.amethyst.ui.components.GenericLoadable
@@ -111,13 +110,13 @@ import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
import com.vitorpamplona.amethyst.ui.theme.DarkerGreen import com.vitorpamplona.amethyst.ui.theme.DarkerGreen
import com.vitorpamplona.amethyst.ui.theme.Font14SP import com.vitorpamplona.amethyst.ui.theme.Font14SP
import com.vitorpamplona.amethyst.ui.theme.HalfDoubleVertSpacer import com.vitorpamplona.amethyst.ui.theme.HalfDoubleVertSpacer
import com.vitorpamplona.amethyst.ui.theme.HalfStartPadding
import com.vitorpamplona.amethyst.ui.theme.Height24dpModifier import com.vitorpamplona.amethyst.ui.theme.Height24dpModifier
import com.vitorpamplona.amethyst.ui.theme.ModifierWidth3dp import com.vitorpamplona.amethyst.ui.theme.ModifierWidth3dp
import com.vitorpamplona.amethyst.ui.theme.NoSoTinyBorders import com.vitorpamplona.amethyst.ui.theme.NoSoTinyBorders
import com.vitorpamplona.amethyst.ui.theme.ReactionRowExpandButton import com.vitorpamplona.amethyst.ui.theme.ReactionRowExpandButton
import com.vitorpamplona.amethyst.ui.theme.ReactionRowHeight import com.vitorpamplona.amethyst.ui.theme.ReactionRowHeight
import com.vitorpamplona.amethyst.ui.theme.ReactionRowZapraiserSize import com.vitorpamplona.amethyst.ui.theme.ReactionRowZapraiserSize
import com.vitorpamplona.amethyst.ui.theme.RowColSpacing
import com.vitorpamplona.amethyst.ui.theme.Size0dp import com.vitorpamplona.amethyst.ui.theme.Size0dp
import com.vitorpamplona.amethyst.ui.theme.Size16Modifier import com.vitorpamplona.amethyst.ui.theme.Size16Modifier
import com.vitorpamplona.amethyst.ui.theme.Size17Modifier import com.vitorpamplona.amethyst.ui.theme.Size17Modifier
@@ -229,7 +228,11 @@ private fun GenericInnerReactionRow(
five: @Composable () -> Unit, five: @Composable () -> Unit,
six: @Composable () -> Unit, six: @Composable () -> Unit,
) { ) {
Row(verticalAlignment = CenterVertically, modifier = ReactionRowHeight) { Row(
verticalAlignment = CenterVertically,
horizontalArrangement = RowColSpacing,
modifier = ReactionRowHeight,
) {
val fullWeight = remember { Modifier.weight(1f) } val fullWeight = remember { Modifier.weight(1f) }
if (showReactionDetail) { if (showReactionDetail) {
@@ -241,11 +244,11 @@ private fun GenericInnerReactionRow(
} }
} }
Row(verticalAlignment = CenterVertically, modifier = fullWeight) { two() } Row(verticalAlignment = CenterVertically, horizontalArrangement = RowColSpacing, modifier = fullWeight) { two() }
Row(verticalAlignment = CenterVertically, modifier = fullWeight) { three() } Row(verticalAlignment = CenterVertically, horizontalArrangement = RowColSpacing, modifier = fullWeight) { three() }
Row(verticalAlignment = CenterVertically, modifier = fullWeight) { four() } Row(verticalAlignment = CenterVertically, horizontalArrangement = RowColSpacing, modifier = fullWeight) { four() }
Row(verticalAlignment = CenterVertically, modifier = fullWeight) { five() } Row(verticalAlignment = CenterVertically, modifier = fullWeight) { five() }
@@ -658,7 +661,6 @@ fun TextCount(
text = showCount(count), text = showCount(count),
fontSize = Font14SP, fontSize = Font14SP,
color = textColor, color = textColor,
modifier = HalfStartPadding,
maxLines = 1, maxLines = 1,
) )
} }
@@ -99,6 +99,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size39Modifier
import com.vitorpamplona.amethyst.ui.theme.Size40Modifier import com.vitorpamplona.amethyst.ui.theme.Size40Modifier
import com.vitorpamplona.amethyst.ui.theme.Size40dp import com.vitorpamplona.amethyst.ui.theme.Size40dp
import com.vitorpamplona.amethyst.ui.theme.Size55dp import com.vitorpamplona.amethyst.ui.theme.Size55dp
import com.vitorpamplona.amethyst.ui.theme.VideoReactionColumnPadding
import com.vitorpamplona.amethyst.ui.theme.onBackgroundColorFilter import com.vitorpamplona.amethyst.ui.theme.onBackgroundColorFilter
import com.vitorpamplona.amethyst.ui.theme.placeholderText import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.quartz.events.FileHeaderEvent import com.vitorpamplona.quartz.events.FileHeaderEvent
@@ -462,7 +463,7 @@ fun ReactionsColumn(
Column( Column(
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.padding(bottom = 75.dp, end = 10.dp), modifier = VideoReactionColumnPadding,
) { ) {
ReplyReaction( ReplyReaction(
baseNote = baseNote, baseNote = baseNote,
@@ -495,7 +496,7 @@ fun ReactionsColumn(
nav = nav, nav = nav,
iconSize = Size40dp, iconSize = Size40dp,
heartSizeModifier = Size35Modifier, heartSizeModifier = Size35Modifier,
28.sp, iconFontSize = 28.sp,
) )
ZapReaction( ZapReaction(
baseNote = baseNote, baseNote = baseNote,
@@ -21,6 +21,7 @@
package com.vitorpamplona.amethyst.ui.theme package com.vitorpamplona.amethyst.ui.theme
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
@@ -101,6 +102,8 @@ val HalfPadding = Modifier.padding(5.dp)
val StdPadding = Modifier.padding(10.dp) val StdPadding = Modifier.padding(10.dp)
val BigPadding = Modifier.padding(15.dp) val BigPadding = Modifier.padding(15.dp)
val RowColSpacing = Arrangement.spacedBy(3.dp)
val HalfHorzPadding = Modifier.padding(horizontal = 5.dp) val HalfHorzPadding = Modifier.padding(horizontal = 5.dp)
val HalfVertPadding = Modifier.padding(vertical = 5.dp) val HalfVertPadding = Modifier.padding(vertical = 5.dp)
@@ -136,6 +139,8 @@ val ReactionRowExpandButton = Modifier.width(65.dp).padding(start = 31.dp)
val WidthAuthorPictureModifier = Modifier.width(55.dp) val WidthAuthorPictureModifier = Modifier.width(55.dp)
val WidthAuthorPictureModifierWithPadding = Modifier.width(65.dp) val WidthAuthorPictureModifierWithPadding = Modifier.width(65.dp)
val VideoReactionColumnPadding = Modifier.padding(bottom = 75.dp)
val DividerThickness = 0.25.dp val DividerThickness = 0.25.dp
val ReactionRowHeight = Modifier.height(24.dp).padding(start = 10.dp) val ReactionRowHeight = Modifier.height(24.dp).padding(start = 10.dp)
@@ -223,4 +228,4 @@ val liveStreamTag =
.padding(horizontal = Size5dp) .padding(horizontal = Size5dp)
val chatAuthorImage = Modifier.size(20.dp).clip(shape = CircleShape) val chatAuthorImage = Modifier.size(20.dp).clip(shape = CircleShape)
val AuthorInfoVideoFeed = Modifier.width(75.dp) val AuthorInfoVideoFeed = Modifier.width(75.dp).padding(end = 15.dp)