From fa4463f1d7bf8f29821f58b6a520b0053a4a328a Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Thu, 25 May 2023 21:08:20 -0400 Subject: [PATCH] Improves rendering of messages in the Notification feed --- .../amethyst/ui/note/MessageSetCompose.kt | 44 ++++++++++++++----- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MessageSetCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MessageSetCompose.kt index 1e1b8c0a3..0cb22db4c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MessageSetCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MessageSetCompose.kt @@ -35,9 +35,14 @@ import kotlinx.coroutines.launch @OptIn(ExperimentalFoundationApi::class) @Composable fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String, accountViewModel: AccountViewModel, nav: (String) -> Unit) { - val noteState by messageSetCard.note.live().metadata.observeAsState() + val baseNote = remember { messageSetCard.note } + + val noteState by baseNote.live().metadata.observeAsState() val note = remember(noteState) { noteState?.note } + val accountState by accountViewModel.accountLiveData.observeAsState() + val loggedIn = remember(accountState) { accountState?.account?.userProfile() } ?: return + var popupExpanded by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -78,8 +83,8 @@ fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String, onClick = { scope.launch { routeFor( - note, - accountViewModel.userProfile() + baseNote, + loggedIn )?.let { nav(it) } } }, @@ -90,18 +95,11 @@ fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String, Column(columnModifier) { Row(Modifier.fillMaxWidth()) { - Box(modifier = remember { Modifier.width(55.dp).padding(top = 5.dp, end = 5.dp) }) { - Icon( - painter = painterResource(R.drawable.ic_dm), - null, - modifier = remember { Modifier.size(16.dp).align(Alignment.TopEnd) }, - tint = MaterialTheme.colors.primary - ) - } + MessageIcon() Column(modifier = remember { Modifier.padding(start = 10.dp) }) { NoteCompose( - baseNote = messageSetCard.note, + baseNote = baseNote, routeForLastRead = null, isBoostedNote = true, addMarginTop = false, @@ -116,3 +114,25 @@ fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String, } } } + +@Composable +private fun MessageIcon() { + Box( + modifier = remember { + Modifier + .width(55.dp) + .padding(top = 5.dp, end = 5.dp) + } + ) { + Icon( + painter = painterResource(R.drawable.ic_dm), + null, + modifier = remember { + Modifier + .size(16.dp) + .align(Alignment.TopEnd) + }, + tint = MaterialTheme.colors.primary + ) + } +}