UNPKG

mediasfu-reactnative

Version:
56 lines (55 loc) 2.1 kB
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;