UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

474 lines (380 loc) 13.6 kB
import type { HMSPoll, HMSPollQuestion, HMSPollQuestionType, HMSPollType, PollLeaderboardResponse, } from '@100mslive/react-native-hms'; const createRequests = (base: String) => { const statusObject = { REQUEST: `${base}_REQUEST`, SUCCESS: `${base}_SUCCESS`, FAILED: `${base}_FAILED`, }; return statusObject; }; const ADD_MESSAGE = createRequests('ADD_MESSAGE'); const ADD_PINNED_MESSAGES = createRequests('ADD_PINNED_MESSAGES'); const CLEAR_MESSAGE_DATA = createRequests('CLEAR_MESSAGE_DATA'); const SET_PEER_STATE = 'SET_PEER_STATE'; const CLEAR_PEER_DATA = createRequests('CLEAR_PEER_DATA'); const SAVE_USER_DATA = createRequests('SAVE_USER_DATA'); const SET_HMS_INSTANCE = 'SET_HMS_INSTANCE'; const CLEAR_HMS_INSTANCE = 'CLEAR_HMS_INSTANCE'; const CHANGE_PIP_MODE_STATUS = 'CHANGE_PIP_MODE_STATUS'; const RESET_JOIN_CONFIG = 'RESET_JOIN_CONFIG'; const CHANGE_MIRROR_CAMERA = 'CHANGE_MIRROR_CAMERA'; const CHANGE_SHOW_STATS = 'CHANGE_SHOW_STATS'; // RTC Stats const CHANGE_SHOW_HLS_STATS = 'CHANGE_SHOW_HLS_STATS'; // HLS Stats const CHANGE_ENABLE_HLS_PLAYER_CONTROLS = 'CHANGE_ENABLE_HLS_PLAYER_CONTROLS'; // HLS Stats const CHANGE_SHOW_CUSTOM_HLS_PLAYER_CONTROLS = 'CHANGE_SHOW_CUSTOM_HLS_PLAYER_CONTROLS'; const CHANGE_AUTO_SIMULCAST = 'CHANGE_AUTO_SIMULCAST'; const SET_RTC_STATS = 'SET_RTC_STATS'; const CHANGE_HLS_ASPECT_RATIO = 'CHANGE_HLS_ASPECT_RATIO'; const SET_MODAL_TYPE = 'SET_MODAL_TYPE'; const SET_PEER_TO_UPDATE = 'SET_PEER_TO_UPDATE'; const SET_MEETING_STATE = 'SET_MEETING_STATE'; const SET_INSET_VIEW_MINIMIZED = 'SET_INSET_VIEW_MINIMIZED'; const SET_MINI_VIEW_PEERTRACKNODE = 'SET_MINI_VIEW_PEERTRACKNODE'; const UPDATE_MINI_VIEW_PEERTRACKNODE = 'UPDATE_MINI_VIEW_PEERTRACKNODE'; const SET_FULLSCREEN_PEERTRACKNODE = 'SET_FULLSCREEN_PEERTRACKNODE'; const SET_FULLSCREEN_WHITEBOARD = 'SET_FULLSCREEN_WHITEBOARD'; const UPDATE_FULLSCREEN_PEERTRACKNODE = 'UPDATE_FULLSCREEN_PEERTRACKNODE'; const SET_LOCAL_PEERTRACKNODE = 'SET_LOCAL_PEERTRACKNODE'; const UPDATE_LOCAL_PEERTRACKNODE = 'UPDATE_LOCAL_PEERTRACKNODE'; const SET_STARTING_HLS_STREAM = 'SET_STARTING_HLS_STREAM'; const SET_GRID_VIEW_ACTIVE_PAGE = 'SET_GRID_VIEW_ACTIVE_PAGE'; const SET_STARTING_OR_STOPPING_RECORDING = 'SET_STARTING_OR_STOPPING_RECORDING'; const ADD_SCREENSHARE_TILE = 'ADD_SCREENSHARE_TILE'; const REMOVE_SCREENSHARE_TILE = 'REMOVE_SCREENSHARE_TILE'; const UPDATE_SCREENSHARE_TILE = 'UPDATE_SCREENSHARE_TILE'; const ADD_NOTIFICATION = 'ADD_NOTIFICATION'; const REMOVE_NOTIFICATION = 'REMOVE_NOTIFICATION'; const SET_ACTIVE_CHAT_BOTTOM_SHEET_TAB = 'SET_ACTIVE_CHAT_BOTTOM_SHEET_TAB'; const SET_CHAT_FILTER_SHEET_VISIBLE = 'SET_CHAT_FILTER_SHEET_VISIBLE'; const SET_CHAT_MORE_ACTIONS_SHEET_VISIBLE = 'SET_CHAT_MORE_ACTIONS_SHEET_VISIBLE'; const SET_CHAT_STATE = 'SET_CHAT_STATE'; const SET_HANDLE_BACK_BUTTON = 'SET_HANDLE_BACK_BUTTON'; const SET_AUTO_ENTER_PIP_MODE = 'SET_AUTO_ENTER_PIP_MODE'; const SET_EDIT_USERNAME_DISABLED = 'SET_EDIT_USERNAME_DISABLED'; const SET_SELECTED_MESSAGE_FOR_ACTION = 'SET_SELECTED_MESSAGE_FOR_ACTION'; const SET_INITIAL_ROLE = 'SET_INITIAL_ROLE'; const SET_CHAT_PEER_BLACKLIST = 'SET_CHAT_PEER_BLACKLIST'; const SET_HLS_DESC_PANE_VISIBLE = 'SET_HLS_DESC_PANE_VISIBLE'; const SET_HLS_FULL_SCREEN = 'SET_HLS_FULL_SCREEN'; const SET_SHOW_CLOSED_CAPTIONS = 'SET_SHOW_CLOSED_CAPTIONS'; const SET_ANDROID_HLS_STREAM_PAUSED = 'SET_ANDROID_HLS_STREAM_PAUSED'; const SET_SELECTED_VIRTUAL_BG = 'SET_SELECTED_VIRTUAL_BG'; const FILTER_OUT_BLOCKED_MSGS = 'FILTER_OUT_BLOCKED_MSGS'; export default { ADD_PINNED_MESSAGES, ADD_MESSAGE, CLEAR_MESSAGE_DATA, CLEAR_PEER_DATA, SET_PEER_STATE, SAVE_USER_DATA, SET_HMS_INSTANCE, CLEAR_HMS_INSTANCE, CHANGE_PIP_MODE_STATUS, RESET_JOIN_CONFIG, CHANGE_MIRROR_CAMERA, CHANGE_SHOW_STATS, CHANGE_AUTO_SIMULCAST, CHANGE_SHOW_HLS_STATS, CHANGE_ENABLE_HLS_PLAYER_CONTROLS, CHANGE_SHOW_CUSTOM_HLS_PLAYER_CONTROLS, CHANGE_HLS_ASPECT_RATIO, SET_RTC_STATS, SET_MODAL_TYPE, SET_PEER_TO_UPDATE, SET_MEETING_STATE, SET_INSET_VIEW_MINIMIZED, SET_MINI_VIEW_PEERTRACKNODE, UPDATE_MINI_VIEW_PEERTRACKNODE, SET_FULLSCREEN_PEERTRACKNODE, SET_FULLSCREEN_WHITEBOARD, UPDATE_FULLSCREEN_PEERTRACKNODE, SET_LOCAL_PEERTRACKNODE, UPDATE_LOCAL_PEERTRACKNODE, SET_STARTING_HLS_STREAM, SET_GRID_VIEW_ACTIVE_PAGE, SET_STARTING_OR_STOPPING_RECORDING, ADD_SCREENSHARE_TILE, REMOVE_SCREENSHARE_TILE, UPDATE_SCREENSHARE_TILE, ADD_NOTIFICATION, REMOVE_NOTIFICATION, SET_ACTIVE_CHAT_BOTTOM_SHEET_TAB, SET_CHAT_FILTER_SHEET_VISIBLE, SET_CHAT_MORE_ACTIONS_SHEET_VISIBLE, SET_CHAT_STATE, SET_HANDLE_BACK_BUTTON, SET_AUTO_ENTER_PIP_MODE, SET_EDIT_USERNAME_DISABLED, SET_SELECTED_MESSAGE_FOR_ACTION, SET_INITIAL_ROLE, SET_CHAT_PEER_BLACKLIST, SET_HLS_DESC_PANE_VISIBLE, SET_HLS_FULL_SCREEN, SET_ANDROID_HLS_STREAM_PAUSED, SET_SELECTED_VIRTUAL_BG, FILTER_OUT_BLOCKED_MSGS, SET_SHOW_CLOSED_CAPTIONS, }; export enum HmsStateActionTypes { CLEAR_STATES = 'CLEAR_STATES', SET_PREBUILT_DATA = 'SET_PREBUILT_DATA', SET_ON_LEAVE_HANDLER = 'SET_ON_LEAVE_HANDLER', SET_ROOM_STATE = 'SET_ROOM_STATE', SET_LOCAL_PEER_STATE = 'SET_LOCAL_PEER_STATE', SET_ROLES_STATE = 'SET_ROLES_STATE', SET_IS_LOCAL_AUDIO_MUTED_STATE = 'SET_IS_LOCAL_AUDIO_MUTED_STATE', SET_IS_LOCAL_VIDEO_MUTED_STATE = 'SET_IS_LOCAL_VIDEO_MUTED_STATE', SET_IS_LOCAL_SCREEN_SHARED_STATE = 'SET_IS_LOCAL_SCREEN_SHARED_STATE', SET_ROOM_LOCALLY_MUTED = 'SET_ROOM_LOCALLY_MUTED', SET_USER_NAME = 'SET_USER_NAME', ADD_TO_PREVIEW_PEERS_LIST = 'ADD_TO_PREVIEW_PEERS_LIST', REMOVE_FROM_PREVIEW_PEERS_LIST = 'REMOVE_FROM_PREVIEW_PEERS_LIST', SET_LAYOUT_CONFIG = 'SET_LAYOUT_CONFIG', SET_ROLE_CHANGE_REQUEST = 'SET_ROLE_CHANGE_REQUEST', ADD_PARTICIPANT = 'ADD_PARTICIPANT', ADD_PARTICIPANTS = 'ADD_PARTICIPANTS', REMOVE_PARTICIPANT = 'REMOVE_PARTICIPANT', REMOVE_PARTICIPANTS = 'REMOVE_PARTICIPANTS', UPDATE_PARTICIPANT = 'UPDATE_PARTICIPANT', REPLACE_PARTICIPANTS_LIST = 'REPLACE_PARTICIPANTS_LIST', SET_ACTIVE_SPEAKERS = 'SET_ACTIVE_SPEAKERS', SET_RECONNECTING = 'SET_RECONNECTING', SET_NOISE_CANCELLATION_PLUGIN = 'SET_NOISE_CANCELLATION_PLUGIN', SET_VIDEO_PLUGIN = 'SET_VIDEO_PLUGIN', SET_WHITEBOARD = 'SET_WHITEBOARD', SET_INITIAL_ROLE = 'SET_INITIAL_ROLE', } /** * Polls */ export enum CreatePollStages { POLL_CONFIG, POLL_QUESTION_CONFIG, POLL_VOTING, QUIZ_LEADERBOARD, QUIZ_LEADERBOARD_ENTRIES, } export type PollConfig = { type: HMSPollType; voteCountHidden: boolean; resultsAnonymous: boolean; }; export type PollQuestionUI = { type: HMSPollQuestionType; title: string; skippable: boolean; responseEditable: boolean; pointWeightage: string; options?: [boolean, string][]; saved: boolean; }; export type PollsActionType = | SetDeleteConfirmationVisible | SetPollNameAction | SetPollConfigAction | PushToNavigationStackAction | ResetNavigationStackAction | PopFromNavigationStackAction | ReplaceTopOfNavigationStackAction | AddPollQuestionAction | DeletePollQuestionAction | SetSelectedQuestionIndexAction | SetQuestionTypeAction | SetQuestionTitleAction | SetQuestionPointWeightageAction | AddQuestionOptionAction | DeleteQuestionOptionAction | EditQuestionOptionAction | SetQuestionCorrectOptionAction | SetQuestionSkippable | SetQuestionResponseEditable | SetQuestionSavedAction | SetLaunchingPollAction | ClearPollsStateAction | ClearPollFormStateAction | SetSelectedPollIdAction | AddPollAction | UpdatePollAction | SetPollQuestionResponseAction | AddPollQuestionResponseAction | RemovePollQuestionResponseAction | AddCuedPollIdAction | AddLeaderboardAction | { type: HmsStateActionTypes.CLEAR_STATES }; export type ClearPollFormStateAction = { type: PollsStateActionTypes.CLEAR_POLL_FORM_STATE; }; export type SetDeleteConfirmationVisible = { type: PollsStateActionTypes.SET_DELETE_CONFIRMATION_VISIBLE; deleteConfirmationVisible: boolean; }; export type SetPollNameAction = { type: PollsStateActionTypes.SET_POLL_NAME; pollName: string; }; export type SetPollConfigAction = { type: PollsStateActionTypes.SET_POLL_CONFIG; pollConfig: Partial<PollConfig>; }; export type PushToNavigationStackAction = { type: PollsStateActionTypes.PUSH_TO_NAVIGATION_STACK; screen: CreatePollStages; }; export type ResetNavigationStackAction = { type: PollsStateActionTypes.RESET_NAVIGATION_STACK; }; export type PopFromNavigationStackAction = { type: PollsStateActionTypes.POP_FROM_NAVIGATION_STACK; }; export type ReplaceTopOfNavigationStackAction = { type: PollsStateActionTypes.REPLACE_TOP_OF_NAVIGATION_STACK; screen: CreatePollStages; }; export type AddPollQuestionAction = { type: PollsStateActionTypes.ADD_POLL_QUESTION; }; export type DeletePollQuestionAction = { type: PollsStateActionTypes.DELETE_POLL_QUESTION; }; export type SetSelectedQuestionIndexAction = { type: PollsStateActionTypes.SET_SELECTED_QUESTION_INDEX; index: number; }; export type SetQuestionTypeAction = { type: PollsStateActionTypes.SET_QUESTION_TYPE; questionIndex: number; questionType: HMSPollQuestionType; }; export type SetQuestionTitleAction = { type: PollsStateActionTypes.SET_QUESTION_TITLE; questionIndex: number; title: string; }; export type SetQuestionPointWeightageAction = { type: PollsStateActionTypes.SET_POINT_WEIGHTAGE; questionIndex: number; pointWeightage: string; }; export type AddQuestionOptionAction = { type: PollsStateActionTypes.ADD_QUESTION_OPTION; questionIndex: number; }; export type DeleteQuestionOptionAction = { type: PollsStateActionTypes.DELETE_QUESTION_OPTION; questionIndex: number; index: number; }; export type EditQuestionOptionAction = { type: PollsStateActionTypes.EDIT_QUESTION_OPTION; questionIndex: number; optionIndex: number; option: string; }; export type SetQuestionCorrectOptionAction = { type: PollsStateActionTypes.SET_QUESTION_CORRECT_OPTION; questionIndex: number; optionIndex: number; correctOption: boolean; }; export type SetQuestionSkippable = { type: PollsStateActionTypes.SET_QUESTION_SKIPPABLE; questionIndex: number; skippable: boolean; }; export type SetQuestionResponseEditable = { type: PollsStateActionTypes.SET_QUESTION_RES_EDITABLE; questionIndex: number; responseEditable: boolean; }; export type SetQuestionSavedAction = { type: PollsStateActionTypes.SET_QUESTION_SAVED; questionIndex: number; saved: boolean; }; export type SetLaunchingPollAction = { type: PollsStateActionTypes.SET_LAUNCHING_POLL; launching: boolean; }; export type ClearPollsStateAction = { type: PollsStateActionTypes.CLEAR_POLLS_STATE; }; export type SetSelectedPollIdAction = { type: PollsStateActionTypes.SET_SELECTED_POLL_ID; pollId: HMSPoll['pollId']; }; export type AddPollAction = { type: PollsStateActionTypes.ADD_POLL; poll: HMSPoll; }; export type UpdatePollAction = { type: PollsStateActionTypes.UPDATE_POLL; poll: HMSPoll; }; export type SetPollQuestionResponseAction = { type: PollsStateActionTypes.SET_POLL_QUESTION_RESPONSE; pollId: HMSPoll['pollId']; questionIndex: HMSPollQuestion['index']; response: number; }; export type AddPollQuestionResponseAction = { type: PollsStateActionTypes.ADD_POLL_QUESTION_RESPONSE; pollId: HMSPoll['pollId']; questionIndex: HMSPollQuestion['index']; response: number; }; export type RemovePollQuestionResponseAction = { type: PollsStateActionTypes.REMOVE_POLL_QUESTION_RESPONSE; pollId: HMSPoll['pollId']; questionIndex: HMSPollQuestion['index']; response: number; }; export type AddCuedPollIdAction = { type: PollsStateActionTypes.ADD_CUED_POLL_ID; pollId: HMSPoll['pollId']; }; export type AddLeaderboardAction = { type: PollsStateActionTypes.ADD_LEADERBOARD; pollId: HMSPoll['pollId']; leaderboard: PollLeaderboardResponse; }; export enum PollsStateActionTypes { CLEAR_POLL_FORM_STATE = 'CLEAR_POLL_FORM_STATE', SET_DELETE_CONFIRMATION_VISIBLE = 'SET_DELETE_CONFIRMATION_VISIBLE', SET_POLL_NAME = 'SET_POLL_NAME', SET_POLL_CONFIG = 'SET_POLL_CONFIG', PUSH_TO_NAVIGATION_STACK = 'PUSH_TO_NAVIGATION_STACK', RESET_NAVIGATION_STACK = 'RESET_NAVIGATION_STACK', POP_FROM_NAVIGATION_STACK = 'POP_FROM_NAVIGATION_STACK', REPLACE_TOP_OF_NAVIGATION_STACK = 'REPLACE_TOP_OF_NAVIGATION_STACK', ADD_POLL_QUESTION = 'ADD_POLL_QUESTION', DELETE_POLL_QUESTION = 'DELETE_POLL_QUESTION', SET_SELECTED_QUESTION_INDEX = 'SET_SELECTED_QUESTION_INDEX', SET_QUESTION_TYPE = 'SET_QUESTION_TYPE', SET_QUESTION_TITLE = 'SET_QUESTION_TITLE', SET_POINT_WEIGHTAGE = 'SET_POINT_WEIGHTAGE', ADD_QUESTION_OPTION = 'ADD_QUESTION_OPTION', DELETE_QUESTION_OPTION = 'DELETE_QUESTION_OPTION', EDIT_QUESTION_OPTION = 'EDIT_QUESTION_OPTION', SET_QUESTION_CORRECT_OPTION = 'SET_QUESTION_CORRECT_OPTION', SET_QUESTION_SKIPPABLE = 'SET_QUESTION_SKIPPABLE', SET_QUESTION_RES_EDITABLE = 'SET_QUESTION_RES_EDITABLE', SET_QUESTION_SAVED = 'SET_QUESTION_SAVED', SET_LAUNCHING_POLL = 'SET_LAUNCHING_POLL', CLEAR_POLLS_STATE = 'CLEAR_POLLS_STATE', SET_SELECTED_POLL_ID = 'SET_SELECTED_POLL_ID', ADD_POLL = 'ADD_POLL', UPDATE_POLL = 'UPDATE_POLL', SET_POLL_QUESTION_RESPONSE = 'SET_POLL_QUESTION_RESPONSE', REMOVE_POLL_QUESTION_RESPONSE = 'REMOVE_POLL_QUESTION_RESPONSE', ADD_POLL_QUESTION_RESPONSE = 'ADD_POLL_QUESTION_RESPONSE', ADD_CUED_POLL_ID = 'ADD_CUED_POLL_ID', ADD_LEADERBOARD = 'ADD_LEADERBOARD', }