UNPKG

mediasfu-reactnative

Version:
76 lines (75 loc) 2.9 kB
import React from 'react'; import { BreakoutParticipant, Participant, ShowAlert } from '../../@types/types'; import { Socket } from 'socket.io-client'; export interface BreakoutRoomsModalParameters { participants: Participant[]; showAlert?: ShowAlert; socket: Socket; localSocket?: Socket; itemPageLimit: number; meetingDisplayType: string; prevMeetingDisplayType: string; roomName: string; shareScreenStarted: boolean; shared: boolean; breakOutRoomStarted: boolean; breakOutRoomEnded: boolean; isBreakoutRoomsModalVisible: boolean; currentRoomIndex: number | null; canStartBreakout: boolean; breakoutRooms: BreakoutParticipant[][]; updateBreakOutRoomStarted: (started: boolean) => void; updateBreakOutRoomEnded: (ended: boolean) => void; updateCurrentRoomIndex: (roomIndex: number) => void; updateCanStartBreakout: (canStart: boolean) => void; updateBreakoutRooms: (breakoutRooms: BreakoutParticipant[][]) => void; updateMeetingDisplayType: (displayType: string) => void; getUpdatedAllParams: () => BreakoutRoomsModalParameters; [key: string]: any; } export interface BreakoutRoomsModalOptions { isVisible: boolean; onBreakoutRoomsClose: () => void; parameters: BreakoutRoomsModalParameters; position?: 'topRight' | 'topLeft' | 'bottomRight' | 'bottomLeft'; backgroundColor?: string; } export type BreakoutRoomsModalType = (options: BreakoutRoomsModalOptions) => JSX.Element; /** * BreakoutRoomsModal component is a React functional component that manages the breakout rooms modal. * It allows users to create, edit, and manage breakout rooms for participants in a meeting. * * @component * @param {BreakoutRoomsModalOptions} props - The properties for the BreakoutRoomsModal component. * @param {boolean} props.isVisible - Determines if the modal is visible. * @param {Function} props.onBreakoutRoomsClose - Callback function to close the modal. * @param {Object} props.parameters - Parameters for managing breakout rooms. * @param {string} [props.position='topRight'] - Position of the modal on the screen. * @param {string} [props.backgroundColor='#83c0e9'] - Background color of the modal. * * @returns {JSX.Element} The rendered BreakoutRoomsModal component. * * @example * ```tsx * import React from 'react'; * import { BreakoutRoomsModal } from 'mediasfu-reactnative'; * * function App() { * const [modalVisible, setModalVisible] = useState(true); * * return ( * <BreakoutRoomsModal * isVisible={modalVisible} * onBreakoutRoomsClose={() => setModalVisible(false)} * parameters={breakoutParameters} * position="topRight" * backgroundColor="#83c0e9" * /> * ); * } * * export default App; * ``` */ declare const BreakoutRoomsModal: React.FC<BreakoutRoomsModalOptions>; export default BreakoutRoomsModal;