MediaSFU React Native (Expo)
    Preparing search index...

    Interface EventSettingsModalOptions

    Configuration options for the EventSettingsModal component.

    EventSettingsModalOptions

    Modal Control:

    interface EventSettingsModalOptions {
        isEventSettingsModalVisible: boolean;
        onEventSettingsClose: () => void;
        onModifyEventSettings?: (options: ModifySettingsOptions) => Promise<void>;
        position?: "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
        backgroundColor?: string;
        audioSetting: string;
        videoSetting: string;
        screenshareSetting: string;
        chatSetting: string;
        updateAudioSetting: (setting: string) => void;
        updateVideoSetting: (setting: string) => void;
        updateScreenshareSetting: (setting: string) => void;
        updateChatSetting: (setting: string) => void;
        updateIsSettingsModalVisible: (isVisible: boolean) => void;
        roomName: string;
        socket: Socket;
        showAlert?: ShowAlert;
        style?: object;
        renderContent?: (
            options: {
                defaultContent: Element;
                dimensions: { width: number; height: number };
            },
        ) => Element;
        renderContainer?: (
            options: {
                defaultContainer: Element;
                dimensions: { width: number; height: number };
            },
        ) => ReactNode;
    }
    Index

    Properties

    isEventSettingsModalVisible: boolean

    Whether the modal is currently visible

    onEventSettingsClose: () => void

    Callback to close the modal

    onModifyEventSettings?: (options: ModifySettingsOptions) => Promise<void>

    Custom handler for settings modifications

    position?: "topLeft" | "topRight" | "bottomLeft" | "bottomRight"

    Modal screen position

    backgroundColor?: string

    Modal background color

    Advanced Render Overrides:

    audioSetting: string

    Current audio permission ("allow" | "approval" | "disallow")

    videoSetting: string

    Current video permission ("allow" | "approval" | "disallow")

    screenshareSetting: string

    Current screenshare permission ("allow" | "approval" | "disallow")

    chatSetting: string

    Current chat permission ("allow" | "disallow")

    State Update Callbacks:

    updateAudioSetting: (setting: string) => void

    Callback to update audio permission setting

    updateVideoSetting: (setting: string) => void

    Callback to update video permission setting

    updateScreenshareSetting: (setting: string) => void

    Callback to update screenshare permission setting

    updateChatSetting: (setting: string) => void

    Callback to update chat permission setting

    Session Context:

    updateIsSettingsModalVisible: (isVisible: boolean) => void

    Callback to update modal visibility state

    Permission Settings (Current State):

    roomName: string

    Meeting room name for settings updates

    socket: Socket

    Socket connection for broadcasting changes

    showAlert?: ShowAlert

    Optional alert function for user feedback

    Customization:

    style?: object

    Additional custom styles

    renderContent?: (
        options: {
            defaultContent: Element;
            dimensions: { width: number; height: number };
        },
    ) => Element

    Custom content renderer (receives defaultContent and dimensions)

    renderContainer?: (
        options: {
            defaultContainer: Element;
            dimensions: { width: number; height: number };
        },
    ) => ReactNode

    Custom container renderer (receives defaultContainer and dimensions)