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