@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
JavaScript
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