Automatically activates NIP24 chats when users have received NIP24 messages from the counterparty

This commit is contained in:
Vitor Pamplona
2023-08-16 21:16:32 -04:00
parent c49f89f711
commit 47395465bb

View File

@@ -183,6 +183,17 @@ fun PrepareChatroomViewModels(room: ChatroomKey, accountViewModel: AccountViewMo
newPostModel.nip24 = true newPostModel.nip24 = true
} }
LaunchedEffect(key1 = newPostModel) {
launch(Dispatchers.IO) {
val hasNIP24 = accountViewModel.userProfile().privateChatrooms[room]?.roomMessages?.any {
it.event is ChatMessageEvent && (it.event as ChatMessageEvent).pubKey != accountViewModel.userProfile().pubkeyHex
}
if (hasNIP24 == true && newPostModel.nip24 == false) {
newPostModel.nip24 = true
}
}
}
ChatroomScreen( ChatroomScreen(
room = room, room = room,
feedViewModel = feedViewModel, feedViewModel = feedViewModel,
@@ -515,9 +526,11 @@ fun GroupChatroomHeader(
val expanded = remember { mutableStateOf(false) } val expanded = remember { mutableStateOf(false) }
Column( Column(
modifier = Modifier.fillMaxWidth().clickable { modifier = Modifier
expanded.value = !expanded.value .fillMaxWidth()
} .clickable {
expanded.value = !expanded.value
}
) { ) {
Column( Column(
verticalArrangement = Arrangement.Center, verticalArrangement = Arrangement.Center,
@@ -680,7 +693,9 @@ fun LongRoomHeader(room: ChatroomKey, accountViewModel: AccountViewModel, nav: (
} }
Row( Row(
modifier = Modifier.padding(top = 10.dp).fillMaxWidth(), modifier = Modifier
.padding(top = 10.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.Center, horizontalArrangement = Arrangement.Center,
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically
) { ) {