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

    Interface MainScreenComponentOptions

    Configuration options for the MainScreenComponent.

    MainScreenComponentOptions

    Content:

    interface MainScreenComponentOptions {
        children: ReactNode;
        mainSize: number;
        doStack: boolean;
        containerWidthFraction?: number;
        containerHeightFraction?: number;
        updateComponentSizes: (sizes: ComponentSizes) => void;
        defaultFraction?: number;
        showControls: boolean;
        componentSizes: ComponentSizes;
        style?: object;
        renderContent?: (
            options: {
                defaultContent: ReactNode;
                dimensions: { width: number; height: number };
            },
        ) => ReactNode;
        renderContainer?: (
            options: {
                defaultContainer: ReactNode;
                dimensions: { width: number; height: number };
            },
        ) => ReactNode;
    }
    Index

    Properties

    children: ReactNode

    Child components (typically two: main content and secondary content)

    Layout Configuration:

    mainSize: number

    Percentage size of the main component when stacking (0-100, e.g., 70 means main takes 70% of space)

    doStack: boolean

    Whether to stack components (true = stack, false = side-by-side)

    Dimensions (Responsive):

    containerWidthFraction?: number

    Fraction of window width to use (0.0 to 1.0)

    containerHeightFraction?: number

    Fraction of window height to use (0.0 to 1.0)

    updateComponentSizes: (sizes: ComponentSizes) => void

    Callback invoked when component sizes change (receives ComponentSizes)

    Styling:

    defaultFraction?: number

    Height adjustment fraction when controls are shown

    Control Bar Adjustment:

    showControls: boolean

    Whether control bar is visible (affects available height)

    State Management:

    componentSizes: ComponentSizes

    Current calculated sizes for main and secondary components

    style?: object

    Additional custom styles to apply to the container

    Advanced Render Overrides:

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

    Optional custom renderer for content (receives defaultContent and dimensions)

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

    Optional custom renderer for outer container (receives defaultContainer and dimensions)