mediasfu-reactnative
Version:
MediaSFU Prebuilt React Native SDK
56 lines (55 loc) • 2.1 kB
TypeScript
import React from 'react';
import { ModifyDisplaySettingsOptions, ModifyDisplaySettingsParameters } from '../../methods/displaySettingsMethods/modifyDisplaySettings';
export interface DisplaySettingsModalParameters extends ModifyDisplaySettingsParameters {
meetingDisplayType: string;
autoWave: boolean;
forceFullDisplay: boolean;
meetingVideoOptimized: boolean;
}
export interface DisplaySettingsModalOptions {
isDisplaySettingsModalVisible: boolean;
onDisplaySettingsClose: () => void;
onModifyDisplaySettings?: (options: ModifyDisplaySettingsOptions) => Promise<void>;
parameters: DisplaySettingsModalParameters;
position?: 'topRight' | 'topLeft' | 'bottomRight' | 'bottomLeft';
backgroundColor?: string;
}
export type DisplaySettingsModalType = (options: DisplaySettingsModalOptions) => JSX.Element;
/**
* DisplaySettingsModal provides an interface to manage and save various display settings in a modal.
*
* @param {DisplaySettingsModalOptions} props - The configuration options for the DisplaySettingsModal component.
*
* @example
* ```tsx
* import React, { useState } from 'react';
* import { DisplaySettingsModal } from 'mediasfu-reactnative';
*
* function App() {
* const [isModalVisible, setModalVisible] = useState(false);
*
* return (
* <View>
* <Button title="Open Display Settings" onPress={() => setModalVisible(true)} />
* <DisplaySettingsModal
* isDisplaySettingsModalVisible={isModalVisible}
* onDisplaySettingsClose={() => setModalVisible(false)}
* parameters={{
* meetingDisplayType: 'video',
* autoWave: true,
* forceFullDisplay: false,
* meetingVideoOptimized: false,
* getUpdatedAllParams: () => ({}), // Function to fetch the latest parameters
* }}
* position="topRight"
* backgroundColor="#83c0e9"
* />
* </View>
* );
* }
*
* export default App;
* ```
*/
declare const DisplaySettingsModal: React.FC<DisplaySettingsModalOptions>;
export default DisplaySettingsModal;