From add6c7fd31b5e37f49c76a0c2a3f0be2cedc0c3b Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Mon, 6 Jul 2026 23:57:47 +0200 Subject: [PATCH] Create chat invite --- .../ui/view/model/ChatRoomDetailViewModel.kt | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt index 417158f2..945fef2a 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt +++ b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt @@ -113,12 +113,25 @@ class ChatRoomDetailViewModel( if (keyPackageEvent == null) { chatRoomDetailUIState = ChatRoomDetailUIState.Error("Missing Key Package") // TODO: Introduce missing key package UI State... } else { - // TODO: Create new chat and invite local - chatRepository.createMlsDirectMessage( - userPublicKey = activeUserPublicKey, - peerPublicKey = chatRoomId, - peerKeyPackage = keyPackageEvent - ) + // Create new chat and invite local + try { + val chatRoomId = chatRepository.createMlsDirectMessage( + userPublicKey = activeUserPublicKey, + peerPublicKey = chatRoomId, + peerKeyPackage = keyPackageEvent, + ) + + onNavigateToChat.invoke( + ChatRoomDetailRoute( + activeUserPublicKey = activeUserPublicKey, + chatRoomId = chatRoomId, + relayHint = relayHint + ) + ) + } catch (e: Throwable) { + chatRoomDetailUIState = ChatRoomDetailUIState.Error("Failed to create chat") + + } } } else {