UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

64 lines 2.56 kB
import * as React from 'react'; import { StyleSheet, Text } from 'react-native'; import { useCanPublishAudio, useCanPublishVideo } from '../hooks-sdk'; import { useHMSLayoutConfig, useHMSRoomStyle } from '../hooks-util'; import { TestIds } from '../utils/constants'; export const HMSPreviewSubtitle = ({ subtitle }) => { const canPublishAudio = useCanPublishAudio(); const canPublishVideo = useCanPublishVideo(); const hmsRoomPreviewSubtitle = useHMSLayoutConfig(layoutConfig => { var _layoutConfig$screens; return layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$screens = layoutConfig.screens) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.preview) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.default) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.elements) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.preview_header) === null || _layoutConfig$screens === void 0 ? void 0 : _layoutConfig$screens.sub_title; }); const titleStyles = useHMSRoomStyle((theme, typography) => ({ color: theme.palette.on_surface_medium, fontFamily: `${typography.font_family}-Regular` })); const textStyles = [styles.title, titleStyles]; const testID = TestIds.subtitle; if (subtitle) { return /*#__PURE__*/React.createElement(Text, { testID: testID, style: textStyles }, subtitle); } if (hmsRoomPreviewSubtitle) { return /*#__PURE__*/React.createElement(Text, { testID: testID, style: textStyles }, hmsRoomPreviewSubtitle); } if (canPublishAudio && canPublishVideo) { return /*#__PURE__*/React.createElement(Text, { testID: testID, style: textStyles }, "Setup your audio and video before joining"); } if (canPublishAudio) { return /*#__PURE__*/React.createElement(Text, { testID: testID, style: textStyles }, "Setup your audio before joining"); } if (canPublishVideo) { return /*#__PURE__*/React.createElement(Text, { testID: testID, style: textStyles }, "Setup your video before joining"); } return /*#__PURE__*/React.createElement(Text, { testID: testID, style: textStyles }, "Enter your name before joining"); }; const styles = StyleSheet.create({ title: { fontSize: 14, lineHeight: 20, marginTop: 4, textAlign: 'center' } }); //# sourceMappingURL=HMSPreviewSubtitle.js.map