Rename files
This commit is contained in:
@@ -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
|
||||
)
|
||||
}
|
||||
@@ -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<DirectMessageDetailRoute> {
|
||||
DirectMessageDetailScreen(
|
||||
composable<ChatRoomDetailRoute> {
|
||||
ChatRoomDetailScreen(
|
||||
nostrRepository = databaseNostrRepository
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
}
|
||||
@@ -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<Boolean> = mutableStateOf(false)
|
||||
|
||||
fun queueSynchronization() {
|
||||
logger.d { "queueSynchronization" }
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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<Boolean> = mutableStateOf(false)
|
||||
|
||||
fun queueSynchronization() {
|
||||
logger.d { "queueSynchronization" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user