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.

42 lines 1.91 kB
import React from 'react'; import { useSelector } from 'react-redux'; import { View } from 'react-native'; import { HMSTrackSource } from '@100mslive/react-native-hms'; import PeerRTCStatsContainer from './PeerRTCStatsContainer'; import { LocalPeerScreenshareView } from './LocalPeerScreenshareView'; import { PeerVideoTileView } from './PeerVideoTile/PeerVideoTileView'; const _Tile = ({ aspectRatio, width, height, onPeerTileMorePress, peerTrackNode, setHmsViewRefs, style }) => { var _peerTrackNode$track, _peerTrackNode$track2, _peerTrackNode$track3; const showStatsOnTiles = useSelector(state => state.app.joinConfig.showStats); const trackSource = (_peerTrackNode$track = peerTrackNode.track) === null || _peerTrackNode$track === void 0 ? void 0 : _peerTrackNode$track.source; const isNonRegularTrack = trackSource && trackSource !== HMSTrackSource.REGULAR; return /*#__PURE__*/React.createElement(View, { style: [{ position: 'relative' }, { width, height, aspectRatio }, style] }, isNonRegularTrack && peerTrackNode.peer.isLocal ? /*#__PURE__*/React.createElement(LocalPeerScreenshareView, null) : /*#__PURE__*/React.createElement(PeerVideoTileView, { ref: ref => setHmsViewRefs(peerTrackNode.id, ref), peerTrackNode: peerTrackNode, onMoreOptionsPress: onPeerTileMorePress }), showStatsOnTiles ? /*#__PURE__*/React.createElement(PeerRTCStatsContainer, { trackId: (_peerTrackNode$track2 = peerTrackNode.track) === null || _peerTrackNode$track2 === void 0 ? void 0 : _peerTrackNode$track2.trackId, peerId: peerTrackNode.peer.peerID, trackSource: (_peerTrackNode$track3 = peerTrackNode.track) === null || _peerTrackNode$track3 === void 0 ? void 0 : _peerTrackNode$track3.source }) : null); }; const Tile = /*#__PURE__*/React.memo(_Tile); Tile.displayName = 'Tile'; export { Tile }; //# sourceMappingURL=Tile.js.map