Const
import React, { useState } from 'react';
import { View, Button } from 'react-native';
import { DisplaySettingsModal } from 'mediasfu-reactnative';
export function MeetingControls() {
const [visible, setVisible] = useState(false);
return (
<View>
<Button title="Display Settings" onPress={() => setVisible(true)} />
<DisplaySettingsModal
isDisplaySettingsModalVisible={visible}
onDisplaySettingsClose={() => setVisible(false)}
parameters={{
meetingDisplayType: 'video',
autoWave: true,
forceFullDisplay: false,
meetingVideoOptimized: false,
getUpdatedAllParams: () => ({}),
}}
/>
</View>
);
}
<DisplaySettingsModal
isDisplaySettingsModalVisible={visible}
onDisplaySettingsClose={handleClose}
parameters={parameters}
renderContainer={({ defaultContainer }) => (
<CustomSheet onDismiss={handleClose}>{defaultContainer}</CustomSheet>
)}
renderContent={({ defaultContent }) => (
<ScrollView>{defaultContent}</ScrollView>
)}
/>
DisplaySettingsModal centralizes MediaSFU meeting display preferences in a compact, accessible modal. It supports rapid toggling of audiographs, full-screen overrides, and video optimization, and exposes convenient render overrides for advanced UI customization.
Key Features
modifyDisplaySettings
to persist layout changes.topRight
,topLeft
,bottomRight
,bottomLeft
).Accessibility
Pressable
components with accessibility roles and labels.