Archived
2
0

add Broadcast GUI

This commit is contained in:
m1k1o
2020-09-27 01:13:34 +02:00
parent ea80f07bcd
commit f6bc7350a8
6 changed files with 117 additions and 0 deletions

View File

@ -38,6 +38,11 @@ export const EVENT = {
RESOLUTION: 'screen/resolution',
SET: 'screen/set',
},
BROADCAST: {
STATUS: "broadcast/status",
CREATE: "broadcast/create",
DESTROY: "broadcast/destroy",
},
ADMIN: {
BAN: 'admin/ban',
KICK: 'admin/kick',
@ -60,6 +65,7 @@ export type WebSocketEvents =
| SignalEvents
| ChatEvents
| ScreenEvents
| BroadcastEvents
| AdminEvents
export type ControlEvents =
@ -76,6 +82,11 @@ export type SignalEvents = typeof EVENT.SIGNAL.ANSWER | typeof EVENT.SIGNAL.PROV
export type ChatEvents = typeof EVENT.CHAT.MESSAGE | typeof EVENT.CHAT.EMOTE
export type ScreenEvents = typeof EVENT.SCREEN.CONFIGURATIONS | typeof EVENT.SCREEN.RESOLUTION | typeof EVENT.SCREEN.SET
export type BroadcastEvents =
| typeof EVENT.BROADCAST.STATUS
| typeof EVENT.BROADCAST.CREATE
| typeof EVENT.BROADCAST.DESTROY
export type AdminEvents =
| typeof EVENT.ADMIN.BAN
| typeof EVENT.ADMIN.KICK

View File

@ -326,6 +326,13 @@ export class NekoClient extends BaseClient implements EventEmitter<NekoEvents> {
})
}
/////////////////////////////
// Broadcast Events
/////////////////////////////
protected [EVENT.BROADCAST.STATUS](payload: BroadcastStatusPayload) {
this.$accessor.settings.broadcastStatus(payload)
}
/////////////////////////////
// Admin Events
/////////////////////////////

View File

@ -22,6 +22,7 @@ export type WebSocketMessages =
| ScreenResolutionMessage
| ScreenConfigurationsMessage
| ChatMessage
| BroadcastCreateMessage
export type WebSocketPayloads =
| SignalProvidePayload
@ -37,6 +38,7 @@ export type WebSocketPayloads =
| ScreenResolutionPayload
| ScreenConfigurationsPayload
| AdminPayload
| BroadcastStatusPayload
export interface WebSocketMessage {
event: WebSocketEvents | string
@ -177,6 +179,19 @@ export interface ScreenConfigurationsPayload {
configurations: ScreenConfigurations
}
/*
BROADCAST PAYLOADS
*/
export interface BroadcastCreateMessage extends WebSocketMessage {
event: typeof EVENT.BROADCAST.CREATE
url: string
}
export interface BroadcastStatusPayload extends WebSocketMessage {
url: string
isActive: boolean
}
/*
ADMIN PAYLOADS
*/