Configuration options for the MediaSettingsModal component.

MediaSettingsModalOptions

Modal Control:

interface MediaSettingsModalOptions {
    isMediaSettingsModalVisible: boolean;
    onMediaSettingsClose: (() => void);
    switchCameraOnPress?: ((options: SwitchVideoAltOptions) => Promise<void>);
    switchVideoOnPress?: ((options: SwitchVideoOptions) => Promise<void>);
    switchAudioOnPress?: ((options: SwitchAudioOptions) => Promise<void>);
    parameters: MediaSettingsModalParameters;
    position?:
        | "topLeft"
        | "topRight"
        | "bottomLeft"
        | "bottomRight";
    backgroundColor?: string;
    style?: object;
    renderContent?: ((options: {
        defaultContent: Element;
        dimensions: {
            width: number;
            height: number;
        };
    }) => Element);
    renderContainer?: ((options: {
        defaultContainer: Element;
        dimensions: {
            width: number;
            height: number;
        };
    }) => ReactNode);
}

Properties

isMediaSettingsModalVisible: boolean

Whether the modal is currently visible

onMediaSettingsClose: (() => void)

Callback to close the modal

Device Switch Handlers:

switchCameraOnPress?: ((options: SwitchVideoAltOptions) => Promise<void>)

Handler for camera switching (front/back on mobile)

switchVideoOnPress?: ((options: SwitchVideoOptions) => Promise<void>)

Handler for video input device switching

switchAudioOnPress?: ((options: SwitchAudioOptions) => Promise<void>)

Handler for audio input device switching

State Parameters:

Current device state and available devices

Customization:

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

Modal screen position

backgroundColor?: string

Modal background color

style?: object

Additional custom styles

Advanced Render Overrides:

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)