From 49e72793a29bfa9023b5fad8021aa8f027c6b594 Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Fri, 22 May 2026 22:04:58 +0200 Subject: [PATCH] Rename files --- ...etailScreen.kt => ChatRoomDetailScreen.kt} | 13 +++-- .../ui/composable/navigation/AuxNavHost.kt | 11 ++-- ...eDetailRoute.kt => ChatRoomDetailRoute.kt} | 2 +- .../ui/view/model/ChatRoomDetailViewModel.kt | 36 +++++++++++++ .../ui/view/model/ChatRoomListViewModel.kt | 2 +- .../model/DirectMessageDetailViewModel.kt | 52 ------------------- 6 files changed, 49 insertions(+), 67 deletions(-) rename composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/{DirectMessageDetailScreen.kt => ChatRoomDetailScreen.kt} (86%) rename composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/{DirectMessageDetailRoute.kt => ChatRoomDetailRoute.kt} (82%) create mode 100644 composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomDetailViewModel.kt delete mode 100644 composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/DirectMessageDetailViewModel.kt diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/DirectMessageDetailScreen.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/ChatRoomDetailScreen.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/DirectMessageDetailScreen.kt rename to composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/ChatRoomDetailScreen.kt index 209ee5c9..b5de7323 100644 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/DirectMessageDetailScreen.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/ChatRoomDetailScreen.kt @@ -3,8 +3,7 @@ package ac.cord.auxiliary.compose.ui.composable import ac.cord.auxiliary.compose.repository.NostrRepository import ac.cord.auxiliary.compose.ui.composable.widgets.LoadingDataIndicator import ac.cord.auxiliary.compose.ui.theme.AuxTheme -import ac.cord.auxiliary.compose.ui.view.model.DirectMessageDetailViewModel -import ac.cord.auxiliary.compose.ui.view.model.UnqueuedProfileSynchronizationViewModel +import ac.cord.auxiliary.compose.ui.view.model.ChatRoomDetailViewModel import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -27,11 +26,11 @@ import androidx.lifecycle.viewmodel.compose.viewModel @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable -fun DirectMessageDetailScreen( +fun ChatRoomDetailScreen( nostrRepository: NostrRepository ) { - val directMessageDetailViewModel: DirectMessageDetailViewModel = viewModel( - factory = DirectMessageDetailViewModel.factory( + val chatRoomDetailViewModel: ChatRoomDetailViewModel = viewModel( + factory = ChatRoomDetailViewModel.factory( nostrRepository = nostrRepository ) ) @@ -76,7 +75,7 @@ fun DirectMessageDetailScreen( } LaunchedEffect(true) { - directMessageDetailViewModel.queueSynchronization() + chatRoomDetailViewModel.queueSynchronization() } } @@ -87,7 +86,7 @@ private fun UnqueuedProfileSynchronizationScreenPreview() { Surface( modifier = Modifier.fillMaxSize() ) { - DirectMessageDetailScreen( + ChatRoomDetailScreen( nostrRepository = NostrRepository.NO_OP_NOSTR_REPOSITORY ) } diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/AuxNavHost.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/AuxNavHost.kt index faf86729..05d16c05 100644 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/AuxNavHost.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/AuxNavHost.kt @@ -5,7 +5,7 @@ import ac.cord.auxiliary.compose.database.repository.DatabaseNostrRepository import ac.cord.auxiliary.compose.database.repository.DatabaseSearchRepository import ac.cord.auxiliary.compose.managers.DatabaseManager import ac.cord.auxiliary.compose.ui.composable.CreateProfileScreen -import ac.cord.auxiliary.compose.ui.composable.DirectMessageDetailScreen +import ac.cord.auxiliary.compose.ui.composable.ChatRoomDetailScreen import ac.cord.auxiliary.compose.ui.composable.HomeScreen import ac.cord.auxiliary.compose.ui.composable.ImplementationPendingScreen import ac.cord.auxiliary.compose.ui.composable.LandingScreen @@ -24,7 +24,7 @@ import ac.cord.auxiliary.compose.ui.composable.UnsyncedProfileScreen import ac.cord.auxiliary.compose.ui.composable.WriteNewNoteScreen import ac.cord.auxiliary.compose.ui.composable.navigation.routes.BlankRoute import ac.cord.auxiliary.compose.ui.composable.navigation.routes.CreateProfileRoute -import ac.cord.auxiliary.compose.ui.composable.navigation.routes.DirectMessageDetailRoute +import ac.cord.auxiliary.compose.ui.composable.navigation.routes.ChatRoomDetailRoute import ac.cord.auxiliary.compose.ui.composable.navigation.routes.FeedRoute import ac.cord.auxiliary.compose.ui.composable.navigation.routes.ImplementationPendingRoute import ac.cord.auxiliary.compose.ui.composable.navigation.routes.LandingRoute @@ -47,7 +47,6 @@ import ac.cord.auxiliary.compose.ui.composable.navigation.routes.UnsignedProfile import ac.cord.auxiliary.compose.ui.composable.navigation.routes.UnsyncedProfileRoute import ac.cord.auxiliary.compose.ui.composable.navigation.routes.WriteNewNoteRoute import ac.cord.auxiliary.compose.ui.view.model.NavigationViewModel -import ac.cord.auxiliary.compose.ui.view.state.FeedListUIState import ac.cord.auxiliary.compose.ui.view.state.NavigationUIState import ac.cord.auxiliary.compose.ui.view.state.NostrEventDetailUIState import ac.cord.auxiliary.compose.ui.view.state.SearchUIState @@ -336,7 +335,7 @@ fun AuxNavHost( }, onNavigateToDirectMessageDetail = { navController.navigate( - route = DirectMessageDetailRoute( + route = ChatRoomDetailRoute( directMessageIdentifier = "" ) ) @@ -352,8 +351,8 @@ fun AuxNavHost( } } - composable { - DirectMessageDetailScreen( + composable { + ChatRoomDetailScreen( nostrRepository = databaseNostrRepository ) } diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/DirectMessageDetailRoute.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt similarity index 82% rename from composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/DirectMessageDetailRoute.kt rename to composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt index eecbbedb..4dd9665d 100755 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/DirectMessageDetailRoute.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt @@ -3,7 +3,7 @@ package ac.cord.auxiliary.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable @Serializable -data class DirectMessageDetailRoute( +data class ChatRoomDetailRoute( val directMessageIdentifier: String, ): Route() { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomDetailViewModel.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomDetailViewModel.kt new file mode 100644 index 00000000..d5b9e63b --- /dev/null +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomDetailViewModel.kt @@ -0,0 +1,36 @@ +package ac.cord.auxiliary.compose.ui.view.model + +import ac.cord.auxiliary.compose.repository.NostrRepository +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.viewmodel.initializer +import androidx.lifecycle.viewmodel.viewModelFactory +import co.touchlab.kermit.Logger + +class ChatRoomDetailViewModel( + val nostrRepository: NostrRepository +): ViewModel() { + companion object { + private const val TAG = "DirectMessageDetailViewModel" + + fun factory( + nostrRepository: NostrRepository + ): ViewModelProvider.Factory = viewModelFactory { + initializer { + ChatRoomDetailViewModel( + nostrRepository = nostrRepository + ) + } + } + } + + private val logger = Logger.withTag(TAG) + + val isActionPending: MutableState = mutableStateOf(false) + + fun queueSynchronization() { + logger.d { "queueSynchronization" } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomListViewModel.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomListViewModel.kt index 4e378e13..afb69970 100755 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomListViewModel.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/ChatRoomListViewModel.kt @@ -72,7 +72,7 @@ class ChatRoomListViewModel( viewModelScope.launch(Dispatchers.IO) { // Sync Notifications... might want to also run this in the background nostrRepository.queueNegentropySynchronizeRequest( - Relays.negentropicRelaySet.shuffled().map { normalizedRelayUrl -> + Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> NegentropySynchronizeRequest( id = NegentropySynchronizeRequest.computeId( relayURL = normalizedRelayUrl.url, diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/DirectMessageDetailViewModel.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/DirectMessageDetailViewModel.kt deleted file mode 100644 index 9248ceba..00000000 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/ui/view/model/DirectMessageDetailViewModel.kt +++ /dev/null @@ -1,52 +0,0 @@ -package ac.cord.auxiliary.compose.ui.view.model - -import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest -import ac.cord.auxiliary.compose.database.model.types.SynchronizationFilter -import ac.cord.auxiliary.compose.nostr.Relays -import ac.cord.auxiliary.compose.repository.NostrRepository -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.mutableStateOf -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.viewmodel.initializer -import androidx.lifecycle.viewmodel.viewModelFactory -import androidx.lifecycle.viewModelScope -import co.touchlab.kermit.Logger -import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent -import com.vitorpamplona.quartz.nip02FollowList.ContactListEvent -import com.vitorpamplona.quartz.nip17Dm.settings.ChatMessageRelayListEvent -import com.vitorpamplona.quartz.nip28PublicChat.list.ChannelListEvent -import com.vitorpamplona.quartz.nip50Search.SearchRelayListEvent -import com.vitorpamplona.quartz.nip51Lists.relayLists.IndexerRelayListEvent -import com.vitorpamplona.quartz.nip51Lists.relayLists.RelayFeedsListEvent -import com.vitorpamplona.quartz.nip65RelayList.AdvertisedRelayListEvent -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.IO -import kotlinx.coroutines.delay -import kotlinx.coroutines.launch - -class DirectMessageDetailViewModel( - val nostrRepository: NostrRepository -): ViewModel() { - companion object { - private const val TAG = "DirectMessageDetailViewModel" - - fun factory( - nostrRepository: NostrRepository - ): ViewModelProvider.Factory = viewModelFactory { - initializer { - DirectMessageDetailViewModel( - nostrRepository = nostrRepository - ) - } - } - } - - private val logger = Logger.withTag(TAG) - - val isActionPending: MutableState = mutableStateOf(false) - - fun queueSynchronization() { - logger.d { "queueSynchronization" } - } -} \ No newline at end of file