Bigger reaction panel

This commit is contained in:
Vitor Pamplona
2024-06-21 19:53:02 -04:00
parent ed80511cb6
commit d6764e08fd
4 changed files with 20 additions and 13 deletions
@@ -146,10 +146,12 @@ import com.vitorpamplona.quartz.events.PeopleListEvent
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.combineTransform import kotlinx.coroutines.flow.combineTransform
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.flow.transformLatest import kotlinx.coroutines.flow.transformLatest
@@ -766,7 +768,7 @@ class FollowListViewModel(
.toImmutableList(), .toImmutableList(),
) )
} }
val kind3GlobalPeopleRoutes = _kind3GlobalPeopleRoutes.stateIn(viewModelScope, SharingStarted.Eagerly, defaultLists) val kind3GlobalPeopleRoutes = _kind3GlobalPeopleRoutes.flowOn(Dispatchers.IO).stateIn(viewModelScope, SharingStarted.Eagerly, defaultLists)
private val _kind3GlobalPeople = private val _kind3GlobalPeople =
combineTransform(livePeopleListsFlow, liveKind3FollowsFlow) { myLivePeopleListsFlow, myLiveKind3FollowsFlow -> combineTransform(livePeopleListsFlow, liveKind3FollowsFlow) { myLivePeopleListsFlow, myLiveKind3FollowsFlow ->
@@ -778,7 +780,7 @@ class FollowListViewModel(
) )
} }
val kind3GlobalPeople = _kind3GlobalPeople.stateIn(viewModelScope, SharingStarted.Eagerly, defaultLists) val kind3GlobalPeople = _kind3GlobalPeople.flowOn(Dispatchers.IO).stateIn(viewModelScope, SharingStarted.Eagerly, defaultLists)
class Factory( class Factory(
val account: Account, val account: Account,
@@ -88,6 +88,7 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.window.Popup import androidx.compose.ui.window.Popup
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
@@ -127,6 +128,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
import com.vitorpamplona.amethyst.ui.theme.Size20dp import com.vitorpamplona.amethyst.ui.theme.Size20dp
import com.vitorpamplona.amethyst.ui.theme.Size22Modifier import com.vitorpamplona.amethyst.ui.theme.Size22Modifier
import com.vitorpamplona.amethyst.ui.theme.Size24dp import com.vitorpamplona.amethyst.ui.theme.Size24dp
import com.vitorpamplona.amethyst.ui.theme.Size28Modifier
import com.vitorpamplona.amethyst.ui.theme.SmallBorder import com.vitorpamplona.amethyst.ui.theme.SmallBorder
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
import com.vitorpamplona.amethyst.ui.theme.TinyBorders import com.vitorpamplona.amethyst.ui.theme.TinyBorders
@@ -1354,7 +1356,7 @@ fun ReactionChoicePopupContent(
colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceVariant), colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceVariant),
) { ) {
FlowRow( FlowRow(
modifier = Modifier.padding(horizontal = 3.dp), modifier = Modifier.padding(horizontal = 5.dp, vertical = 5.dp),
horizontalArrangement = Arrangement.Center, horizontalArrangement = Arrangement.Center,
verticalArrangement = Arrangement.Center, verticalArrangement = Arrangement.Center,
) { ) {
@@ -1368,7 +1370,7 @@ fun ReactionChoicePopupContent(
} }
ClickableBox(modifier = reactionBox, onClick = onChangeAmount) { ClickableBox(modifier = reactionBox, onClick = onChangeAmount) {
ChangeReactionIcon(modifier = Size20Modifier, MaterialTheme.colorScheme.placeholderText) ChangeReactionIcon(modifier = Size28Modifier, MaterialTheme.colorScheme.placeholderText)
} }
} }
} }
@@ -1400,7 +1402,7 @@ fun ReactionChoicePopupPeeview() {
), ),
onClick = {}, onClick = {},
onChangeAmount = {}, onChangeAmount = {},
toRemove = persistentSetOf("\uD83D\uDE80"), toRemove = persistentSetOf("\uD83D\uDE80", "\uD83E\uDD14", "\uD83D\uDE31"),
) )
} }
} }
@@ -1433,11 +1435,12 @@ fun RenderReaction(reactionType: String) {
), ),
style = SpanStyle(color = MaterialTheme.colorScheme.onBackground), style = SpanStyle(color = MaterialTheme.colorScheme.onBackground),
maxLines = 1, maxLines = 1,
fontSize = 22.sp,
) )
} else { } else {
when (reactionType) { when (reactionType) {
"+" -> { "+" -> {
LikedIcon(modifier = Size20Modifier) LikedIcon(modifier = Size28Modifier)
} }
"-" -> { "-" -> {
@@ -1445,6 +1448,7 @@ fun RenderReaction(reactionType: String) {
text = "\uD83D\uDC4E", text = "\uD83D\uDC4E",
color = MaterialTheme.colorScheme.onBackground, color = MaterialTheme.colorScheme.onBackground,
maxLines = 1, maxLines = 1,
fontSize = 22.sp,
) )
} }
else -> { else -> {
@@ -1452,6 +1456,7 @@ fun RenderReaction(reactionType: String) {
reactionType, reactionType,
color = MaterialTheme.colorScheme.onBackground, color = MaterialTheme.colorScheme.onBackground,
maxLines = 1, maxLines = 1,
fontSize = 22.sp,
) )
} }
} }
@@ -135,6 +135,7 @@ val Size22Modifier = Modifier.size(22.dp)
val Size24Modifier = Modifier.size(24.dp) val Size24Modifier = Modifier.size(24.dp)
val Size25Modifier = Modifier.size(25.dp) val Size25Modifier = Modifier.size(25.dp)
val Size26Modifier = Modifier.size(26.dp) val Size26Modifier = Modifier.size(26.dp)
val Size28Modifier = Modifier.size(28.dp)
val Size30Modifier = Modifier.size(30.dp) val Size30Modifier = Modifier.size(30.dp)
val Size35Modifier = Modifier.size(35.dp) val Size35Modifier = Modifier.size(35.dp)
val Size39Modifier = Modifier.size(39.dp) val Size39Modifier = Modifier.size(39.dp)
@@ -271,6 +272,6 @@ val previewCardImageModifier = Modifier.fillMaxWidth().heightIn(max = 200.dp).pa
val reactionBox = val reactionBox =
Modifier Modifier
.padding(horizontal = 3.dp, vertical = 6.dp) .padding(horizontal = 6.dp, vertical = 6.dp)
.height(Size30dp) .size(Size40dp)
.padding(5.dp) .padding(5.dp)
@@ -28,7 +28,6 @@ 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.Row
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
@@ -165,16 +164,16 @@ val LightInnerPostBorderModifier =
val DarkSelectedReactionBoxModifier = val DarkSelectedReactionBoxModifier =
Modifier Modifier
.padding(horizontal = 3.dp, vertical = 6.dp) .padding(horizontal = 5.dp, vertical = 5.dp)
.height(Size30dp) .size(Size40dp)
.clip(shape = SmallBorder) .clip(shape = SmallBorder)
.background(DarkColorPalette.secondaryContainer) .background(DarkColorPalette.secondaryContainer)
.padding(5.dp) .padding(5.dp)
val LightSelectedReactionBoxModifier = val LightSelectedReactionBoxModifier =
Modifier Modifier
.padding(horizontal = 3.dp, vertical = 6.dp) .padding(horizontal = 5.dp, vertical = 5.dp)
.height(Size30dp) .size(Size40dp)
.clip(shape = SmallBorder) .clip(shape = SmallBorder)
.background(LightColorPalette.secondaryContainer) .background(LightColorPalette.secondaryContainer)
.padding(5.dp) .padding(5.dp)