MediaSFU React Native
    Preparing search index...

    Variable WaitingRoomModalConst

    WaitingRoomModal: React.FC<WaitingRoomModalOptions> = ...

    WaitingRoomModal equips hosts with a moderated queue for admitting participants. It pairs search filtering with accept/deny actions, leverages socket callbacks for real-time updates, and exposes render overrides for teams that need bespoke waiting room experiences.

    • Real-time counter badge that mirrors the filtered waiting list length.
    • Search input for quickly locating specific participants.
    • Accept/deny actions wired to respondToWaiting by default.
    • Supports corner anchoring and surface color customization.
    • Allows override of both container and internal content via render props.
    • Integrates parameters.getUpdatedAllParams for up-to-date queue state.
    • Close button carries assistive labels for screen readers.
    • List items remain accessible thanks to Pressable wrappers within custom renderers.

    Modal configuration options.

    Rendered waiting room management modal.

    <WaitingRoomModal
    isWaitingModalVisible={visible}
    onWaitingRoomClose={handleClose}
    waitingRoomCounter={waitingList.length}
    onWaitingRoomFilterChange={setFilter}
    waitingRoomList={waitingList}
    updateWaitingList={setWaitingList}
    roomName={roomId}
    socket={socket}
    parameters={{
    getUpdatedAllParams: () => ({ filteredWaitingRoomList: filteredList })
    }}
    />
    <WaitingRoomModal
    isWaitingModalVisible
    onWaitingRoomClose={dismiss}
    waitingRoomCounter={pending.length}
    onWaitingRoomFilterChange={setQuery}
    waitingRoomList={pending}
    updateWaitingList={setPending}
    roomName="StageA"
    socket={socket}
    onWaitingRoomItemPress={handleWaitingDecision}
    backgroundColor="#141927"
    style={{ borderRadius: 20 }}
    parameters={{
    getUpdatedAllParams: () => ({ filteredWaitingRoomList: filteredPending })
    }}
    />
    <WaitingRoomModal
    {...baseProps}
    renderContainer={({ defaultContainer }) => (
    <SlideIn>{defaultContainer}</SlideIn>
    )}
    />