MediaSFU ReactJS
    Preparing search index...

    Interface RequestsModalOptions

    interface RequestsModalOptions {
        isRequestsModalVisible: boolean;
        onRequestClose: () => void;
        requestCounter: number;
        onRequestFilterChange: (text: string) => void;
        onRequestItemPress?: RespondToRequestsType;
        requestList: Request[];
        updateRequestList: (newRequestList: Request[]) => void;
        roomName: string;
        socket: Socket;
        renderRequestComponent?: FC<RenderRequestComponentOptions>;
        backgroundColor?: string;
        position?: string;
        parameters: RequestsModalParameters;
        isDarkMode?: boolean;
        enableGlassmorphism?: boolean;
        renderMode?: ModalRenderMode;
        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>;
        requestsWrapperProps?: HTMLAttributes<HTMLDivElement>;
        requestItemWrapperProps?: HTMLAttributes<HTMLDivElement>;
        emptyState?: ReactNode | ((context: { counter: number }) => ReactNode);
        renderHeader?: (
            options: {
                defaultHeader: ReactNode;
                counter: number;
                onClose: () => void;
            },
        ) => ReactNode;
        renderSearch?: (
            options: {
                defaultSearch: ReactNode;
                onFilter: (value: string) => void;
            },
        ) => ReactNode;
        renderRequest?: (
            options: {
                request: Request;
                index: number;
                defaultRequest: ReactNode;
                handleRespond: (action: "accepted" | "rejected") => void;
            },
        ) => ReactNode;
        renderBody?: (
            options: { defaultBody: ReactNode; counter: number },
        ) => ReactNode;
        renderContent?: (
            options: { defaultContent: ReactNode; counter: number },
        ) => ReactNode;
    }
    Index

    Properties

    isRequestsModalVisible: boolean
    onRequestClose: () => void
    requestCounter: number
    onRequestFilterChange: (text: string) => void
    onRequestItemPress?: RespondToRequestsType
    requestList: Request[]
    updateRequestList: (newRequestList: Request[]) => void
    roomName: string
    socket: Socket
    renderRequestComponent?: FC<RenderRequestComponentOptions>
    backgroundColor?: string
    position?: 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)

    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>
    requestsWrapperProps?: HTMLAttributes<HTMLDivElement>
    requestItemWrapperProps?: HTMLAttributes<HTMLDivElement>
    emptyState?: ReactNode | ((context: { counter: number }) => ReactNode)
    renderHeader?: (
        options: {
            defaultHeader: ReactNode;
            counter: number;
            onClose: () => void;
        },
    ) => ReactNode
    renderSearch?: (
        options: { defaultSearch: ReactNode; onFilter: (value: string) => void },
    ) => ReactNode
    renderRequest?: (
        options: {
            request: Request;
            index: number;
            defaultRequest: ReactNode;
            handleRespond: (action: "accepted" | "rejected") => void;
        },
    ) => ReactNode
    renderBody?: (options: { defaultBody: ReactNode; counter: number }) => ReactNode
    renderContent?: (
        options: { defaultContent: ReactNode; counter: number },
    ) => ReactNode