Constimport 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
modifyDisplaySettingsto persist layout changes.topRight,topLeft,bottomRight,bottomLeft).Accessibility
Pressablecomponents with accessibility roles and labels.