Interface defining the options (props) for the MenuModal component.

MenuModal provides access to meeting information, custom actions, and sharing capabilities.

MenuModalOptions

Display Control:

interface MenuModalOptions {
    backgroundColor?: string;
    isVisible: boolean;
    onClose: (() => void);
    customButtons?: CustomButton[];
    shareButtons?: boolean;
    position?:
        | "topLeft"
        | "topRight"
        | "bottomLeft"
        | "bottomRight";
    roomName: string;
    adminPasscode: string;
    islevel: string;
    eventType: EventType;
    localLink?: string;
    style?: object;
    renderContent?: ((options: {
        defaultContent: Element;
        dimensions: {
            width: number;
            height: number;
        };
    }) => Element);
    renderContainer?: ((options: {
        defaultContainer: Element;
        dimensions: {
            width: number;
            height: number;
        };
    }) => ReactNode);
}

Properties

backgroundColor?: string

Background color of the modal content area

isVisible: boolean

Whether the modal is currently visible/open

onClose: (() => void)

Callback function invoked when modal is closed

customButtons?: CustomButton[]

Array of custom action buttons to display Each button can have custom icon, text, color, and action handler

shareButtons?: boolean

Whether to display built-in share buttons

Advanced Render Overrides:

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

Screen position where the modal should appear

Styling:

roomName: string

Name/ID of the current room/meeting

adminPasscode: string

Admin passcode for the meeting (displayed to authorized users)

islevel: string

User's level/role (e.g., '0'=participant, '1'=moderator, '2'=host)

eventType: EventType

Type of event ('conference', 'webinar', 'broadcast', etc.)

localLink?: string

Optional link to the Community Edition server

Custom Content:

style?: object

Additional custom styles for the modal container

Meeting Information:

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

Function to wrap or replace the default modal content

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

Function to wrap or replace the entire modal container