Improves rendering of messages in the Notification feed
This commit is contained in:
@@ -35,9 +35,14 @@ import kotlinx.coroutines.launch
|
|||||||
@OptIn(ExperimentalFoundationApi::class)
|
@OptIn(ExperimentalFoundationApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String, accountViewModel: AccountViewModel, nav: (String) -> Unit) {
|
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 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) }
|
var popupExpanded by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
val scope = rememberCoroutineScope()
|
val scope = rememberCoroutineScope()
|
||||||
@@ -78,8 +83,8 @@ fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String,
|
|||||||
onClick = {
|
onClick = {
|
||||||
scope.launch {
|
scope.launch {
|
||||||
routeFor(
|
routeFor(
|
||||||
note,
|
baseNote,
|
||||||
accountViewModel.userProfile()
|
loggedIn
|
||||||
)?.let { nav(it) }
|
)?.let { nav(it) }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -90,18 +95,11 @@ fun MessageSetCompose(messageSetCard: MessageSetCard, routeForLastRead: String,
|
|||||||
|
|
||||||
Column(columnModifier) {
|
Column(columnModifier) {
|
||||||
Row(Modifier.fillMaxWidth()) {
|
Row(Modifier.fillMaxWidth()) {
|
||||||
Box(modifier = remember { Modifier.width(55.dp).padding(top = 5.dp, end = 5.dp) }) {
|
MessageIcon()
|
||||||
Icon(
|
|
||||||
painter = painterResource(R.drawable.ic_dm),
|
|
||||||
null,
|
|
||||||
modifier = remember { Modifier.size(16.dp).align(Alignment.TopEnd) },
|
|
||||||
tint = MaterialTheme.colors.primary
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
Column(modifier = remember { Modifier.padding(start = 10.dp) }) {
|
Column(modifier = remember { Modifier.padding(start = 10.dp) }) {
|
||||||
NoteCompose(
|
NoteCompose(
|
||||||
baseNote = messageSetCard.note,
|
baseNote = baseNote,
|
||||||
routeForLastRead = null,
|
routeForLastRead = null,
|
||||||
isBoostedNote = true,
|
isBoostedNote = true,
|
||||||
addMarginTop = false,
|
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
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user