MediaSFU React Native
    Preparing search index...

    Variable RequestsModalConst

    RequestsModal: React.FC<RequestsModalOptions> = ...

    RequestsModal - Participant request management modal.

    Presents host/co-host controls for reviewing, filtering, and responding to participant requests (raise hand, mic access, etc.) in real time. Supports custom row renderers and override hooks for deeper UI customization.

    Key Features:

    • Real-time request badge that mirrors the incoming queue length.
    • Inline search/filtering to quickly find participants.
    • Default integration with respondToRequests for socket acknowledgements.
    • Configurable modal positioning and optional container styling.
    • Empty-state messaging when no results match the filter.
    • Override hooks (renderContent/renderContainer) for advanced layouts.
    • Custom request row support via renderRequestComponent.
    • Keyboard-friendly text input for quick filtering.

    UI Customization: Supply a replacement component through uiOverrides.requestsModal to swap the entire modal while reusing the provided action handlers.

    Component properties.

    Rendered request management modal.

    // Basic host usage
    <RequestsModal
    isRequestsModalVisible={isOpen}
    onRequestClose={closeModal}
    requestCounter={requests.length}
    onRequestFilterChange={setFilter}
    requestList={requests}
    updateRequestList={setRequests}
    roomName={roomName}
    socket={socket}
    parameters={{ getUpdatedAllParams: () => ({ filteredRequestList: filtered }) }}
    />
    // Custom request renderer
    <RequestsModal
    isRequestsModalVisible={visible}
    onRequestClose={handleClose}
    requestCounter={filtered.length}
    onRequestFilterChange={handleFilter}
    requestList={filtered}
    updateRequestList={setRequests}
    roomName="studio"
    socket={socket}
    renderRequestComponent={MyRequestRow}
    parameters={{ getUpdatedAllParams: () => ({ filteredRequestList: filtered }) }}
    />
    // uiOverrides integration
    const RequestsModalComponent = withOverride(uiOverrides.requestsModal, RequestsModal);
    <RequestsModalComponent
    isRequestsModalVisible={isOpen}
    onRequestClose={close}
    requestCounter={count}
    onRequestFilterChange={setFilter}
    requestList={requests}
    updateRequestList={setRequests}
    roomName={roomId}
    socket={socket}
    parameters={params}
    />