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.

34 lines 1.24 kB
import React from 'react'; import { StyleSheet, TouchableOpacity } from 'react-native'; import { useDispatch, useSelector } from 'react-redux'; import { GestureDetector, Gesture } from 'react-native-gesture-handler'; import { MaximizeIcon, MinimizeIcon } from '../Icons'; import { setHlsFullScreen } from '../redux/actions'; export const _HLSFullScreenControl = ({ onPress }) => { const dispatch = useDispatch(); const hlsFullScreen = useSelector(state => state.app.hlsFullScreen); const toggleFullScreen = () => { onPress === null || onPress === void 0 || onPress(); dispatch(setHlsFullScreen(!hlsFullScreen)); }; return /*#__PURE__*/React.createElement(GestureDetector, { gesture: Gesture.Tap() }, /*#__PURE__*/React.createElement(TouchableOpacity, { onPress: toggleFullScreen, style: styles.icon }, hlsFullScreen ? /*#__PURE__*/React.createElement(MinimizeIcon, { size: "medium" }) : /*#__PURE__*/React.createElement(MaximizeIcon, { size: "medium" }))); }; export const HLSFullScreenControl = /*#__PURE__*/React.memo(_HLSFullScreenControl); const styles = StyleSheet.create({ icon: { padding: 4, alignSelf: 'flex-start' } }); //# sourceMappingURL=HLSFullScreenControl.js.map