MediaSFU ReactJS
    Preparing search index...

    Interface WaitingRoomModalOptions

    interface WaitingRoomModalOptions {
        isWaitingModalVisible: boolean;
        onWaitingRoomClose: () => void;
        waitingRoomCounter: number;
        onWaitingRoomFilterChange: (filter: string) => void;
        waitingRoomList: WaitingRoomParticipant[];
        updateWaitingList: (updatedList: WaitingRoomParticipant[]) => void;
        roomName: string;
        socket: Socket;
        position?: string;
        backgroundColor?: string;
        parameters: WaitingRoomModalParameters;
        isDarkMode?: boolean;
        enableGlassmorphism?: boolean;
        renderMode?: ModalRenderMode;
        onWaitingRoomItemPress?: RespondToWaitingType;
        title?: ReactNode;
        overlayProps?: HTMLAttributes<HTMLDivElement>;
        contentProps?: HTMLAttributes<HTMLDivElement>;
        headerProps?: HTMLAttributes<HTMLDivElement>;
        titleProps?: HTMLAttributes<HTMLDivElement>;
        badgeWrapperProps?: HTMLAttributes<HTMLDivElement>;
        badgeProps?: HTMLAttributes<HTMLSpanElement>;
        closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        closeIconComponent?: ReactNode;
        bodyProps?: HTMLAttributes<HTMLDivElement>;
        searchWrapperProps?: HTMLAttributes<HTMLDivElement>;
        searchInputProps?: InputHTMLAttributes<HTMLInputElement>;
        waitingListProps?: HTMLAttributes<HTMLDivElement>;
        participantRowProps?: HTMLAttributes<HTMLDivElement>;
        acceptButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        rejectButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        acceptIconComponent?: ReactNode;
        rejectIconComponent?: ReactNode;
        emptyState?: ReactNode | ((context: { counter: number }) => ReactNode);
        renderHeader?: (
            options: {
                defaultHeader: ReactNode;
                counter: number;
                onClose: () => void;
            },
        ) => ReactNode;
        renderSearch?: (
            options: {
                defaultSearch: ReactNode;
                onFilter: (value: string) => void;
            },
        ) => ReactNode;
        renderParticipant?: (
            options: {
                participant: WaitingRoomParticipant;
                index: number;
                defaultParticipant: ReactNode;
                handleAccept: () => void;
                handleReject: () => void;
            },
        ) => ReactNode;
        renderBody?: (
            options: { defaultBody: ReactNode; counter: number },
        ) => ReactNode;
    }
    Index

    Properties

    isWaitingModalVisible: boolean
    onWaitingRoomClose: () => void
    waitingRoomCounter: number
    onWaitingRoomFilterChange: (filter: string) => void
    waitingRoomList: WaitingRoomParticipant[]
    updateWaitingList: (updatedList: WaitingRoomParticipant[]) => void
    roomName: string
    socket: Socket
    position?: string
    backgroundColor?: string
    isDarkMode?: boolean

    Theme control - whether dark mode is active

    enableGlassmorphism?: boolean

    Enable glassmorphism effects (modern UI)

    renderMode?: ModalRenderMode

    Render mode: modal (default overlay), sidebar (inline for desktop), inline (no wrapper)

    onWaitingRoomItemPress?: RespondToWaitingType
    title?: ReactNode
    overlayProps?: HTMLAttributes<HTMLDivElement>
    contentProps?: HTMLAttributes<HTMLDivElement>
    headerProps?: HTMLAttributes<HTMLDivElement>
    titleProps?: HTMLAttributes<HTMLDivElement>
    badgeWrapperProps?: HTMLAttributes<HTMLDivElement>
    badgeProps?: HTMLAttributes<HTMLSpanElement>
    closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    closeIconComponent?: ReactNode
    bodyProps?: HTMLAttributes<HTMLDivElement>
    searchWrapperProps?: HTMLAttributes<HTMLDivElement>
    searchInputProps?: InputHTMLAttributes<HTMLInputElement>
    waitingListProps?: HTMLAttributes<HTMLDivElement>
    participantRowProps?: HTMLAttributes<HTMLDivElement>
    acceptButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    rejectButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    acceptIconComponent?: ReactNode
    rejectIconComponent?: ReactNode
    emptyState?: ReactNode | ((context: { counter: number }) => ReactNode)
    renderHeader?: (
        options: {
            defaultHeader: ReactNode;
            counter: number;
            onClose: () => void;
        },
    ) => ReactNode
    renderSearch?: (
        options: { defaultSearch: ReactNode; onFilter: (value: string) => void },
    ) => ReactNode
    renderParticipant?: (
        options: {
            participant: WaitingRoomParticipant;
            index: number;
            defaultParticipant: ReactNode;
            handleAccept: () => void;
            handleReject: () => void;
        },
    ) => ReactNode
    renderBody?: (options: { defaultBody: ReactNode; counter: number }) => ReactNode