20 lines
475 B
Kotlin
20 lines
475 B
Kotlin
package core.utils
|
|
|
|
import javax.inject.Inject
|
|
import javax.inject.Singleton
|
|
import kotlinx.coroutines.flow.MutableSharedFlow
|
|
|
|
sealed class NavEvent {
|
|
data class OpenChat(val chatId: String) : NavEvent()
|
|
}
|
|
|
|
@Singleton
|
|
class NavigationManager @Inject constructor() {
|
|
private val _events = MutableSharedFlow<NavEvent>(extraBufferCapacity = 1)
|
|
val events = _events
|
|
|
|
fun navigateToChat(chatId: String) {
|
|
_events.tryEmit(NavEvent.OpenChat(chatId))
|
|
}
|
|
}
|