for-android/app/src/main/java/chat/revolt/callbacks/ActionChannel.kt

23 lines
930 B
Kotlin

package chat.revolt.callbacks
import chat.revolt.screens.chat.ChatRouterDestination
import kotlinx.coroutines.channels.Channel
sealed class Action {
data class OpenUserSheet(val userId: String, val serverId: String?) : Action()
data class SwitchChannel(val channelId: String) : Action()
data class LinkInfo(val url: String) : Action()
data class EmoteInfo(val emoteId: String) : Action()
data class MessageReactionInfo(val messageId: String, val emoji: String) : Action()
data class TopNavigate(val route: String) : Action()
data class ChatNavigate(val destination: ChatRouterDestination) : Action()
data class ReportUser(val userId: String) : Action()
data class ReportMessage(val messageId: String) : Action()
data class OpenVoiceChannelOverlay(val channelId: String) : Action()
data object OpenWebhookSheet : Action()
}
val ActionChannel = Channel<Action>(
Channel.BUFFERED
)