23 lines
930 B
Kotlin
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
|
|
)
|