From 47395465bb7a5e47dcf799676e6a63afb4cf47ac Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 16 Aug 2023 21:16:32 -0400 Subject: [PATCH] Automatically activates NIP24 chats when users have received NIP24 messages from the counterparty --- .../ui/screen/loggedIn/ChatroomScreen.kt | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt index f88ec10df..d25c3197e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt @@ -183,6 +183,17 @@ fun PrepareChatroomViewModels(room: ChatroomKey, accountViewModel: AccountViewMo 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( room = room, feedViewModel = feedViewModel, @@ -515,9 +526,11 @@ fun GroupChatroomHeader( val expanded = remember { mutableStateOf(false) } Column( - modifier = Modifier.fillMaxWidth().clickable { - expanded.value = !expanded.value - } + modifier = Modifier + .fillMaxWidth() + .clickable { + expanded.value = !expanded.value + } ) { Column( verticalArrangement = Arrangement.Center, @@ -680,7 +693,9 @@ fun LongRoomHeader(room: ChatroomKey, accountViewModel: AccountViewModel, nav: ( } Row( - modifier = Modifier.padding(top = 10.dp).fillMaxWidth(), + modifier = Modifier + .padding(top = 10.dp) + .fillMaxWidth(), horizontalArrangement = Arrangement.Center, verticalAlignment = Alignment.CenterVertically ) {