Moves Following icon from crossfade to animatedVisibility.

pull/637/head
Vitor Pamplona 2023-10-02 18:11:05 -04:00
rodzic ff69a4168b
commit 7eddf4a12a
2 zmienionych plików z 20 dodań i 11 usunięć

Wyświetl plik

@ -1115,7 +1115,12 @@ fun DisplayZapSplits(noteEvent: EventInterface, accountViewModel: AccountViewMod
style = LocalTextStyle.current.copy(color = MaterialTheme.colorScheme.primary)
)
} else {
UserPicture(userHex = it.lnAddressOrPubKeyHex, size = 25.dp, accountViewModel = accountViewModel, nav = nav)
UserPicture(
userHex = it.lnAddressOrPubKeyHex,
size = Size25dp,
accountViewModel = accountViewModel,
nav = nav
)
}
}
}

Wyświetl plik

@ -1,7 +1,10 @@
package com.vitorpamplona.amethyst.ui.note
import android.content.Intent
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.Crossfade
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@ -117,7 +120,7 @@ fun DisplayBlankAuthor(size: Dp, modifier: Modifier = Modifier) {
fun UserPicture(
userHex: String,
size: Dp,
pictureModifier: Modifier = remember { Modifier },
pictureModifier: Modifier = Modifier,
accountViewModel: AccountViewModel,
nav: (String) -> Unit
) {
@ -143,7 +146,7 @@ fun UserPicture(
fun UserPicture(
user: User,
size: Dp,
pictureModifier: Modifier = remember { Modifier },
pictureModifier: Modifier = Modifier,
accountViewModel: AccountViewModel,
nav: (String) -> Unit
) {
@ -170,7 +173,7 @@ fun ClickableUserPicture(
baseUser: User,
size: Dp,
accountViewModel: AccountViewModel,
modifier: Modifier = remember { Modifier },
modifier: Modifier = Modifier,
onClick: ((User) -> Unit)? = null,
onLongClick: ((User) -> Unit)? = null
) {
@ -290,7 +293,7 @@ fun BaseUserPicture(
baseUser: User,
size: Dp,
accountViewModel: AccountViewModel,
innerModifier: Modifier = remember { Modifier },
innerModifier: Modifier = Modifier,
outerModifier: Modifier = remember { Modifier.size(size) }
) {
Box(outerModifier, contentAlignment = Alignment.TopEnd) {
@ -348,7 +351,6 @@ fun PictureAndFollowingMark(
contentScale = ContentScale.Crop,
loadProfilePicture = automaticallyShowProfilePicture
)
val myIconSize by remember(size) {
derivedStateOf {
size.div(3.5f)
@ -360,11 +362,13 @@ fun PictureAndFollowingMark(
@Composable
fun ObserveAndDisplayFollowingMark(userHex: String, iconSize: Dp, accountViewModel: AccountViewModel) {
WatchUserFollows(userHex, accountViewModel) { newFollowingState ->
Crossfade(targetState = newFollowingState) { following ->
if (following) {
Box(contentAlignment = Alignment.TopEnd) {
FollowingIcon(iconSize)
}
AnimatedVisibility(
visible = newFollowingState,
enter = fadeIn(),
exit = fadeOut()
) {
Box(contentAlignment = Alignment.TopEnd) {
FollowingIcon(iconSize)
}
}
}