@8man/react-native-media-console
Version:
Controls for react-native-video
90 lines (89 loc) • 2.56 kB
JavaScript
import React from 'react';
import {
// ImageBackground,
SafeAreaView, StyleSheet } from 'react-native';
import { Timer } from './Timer';
import { NullControl } from './NullControl';
import { Fullscreen } from './Fullscreen';
import { Seekbar } from './Seekbar';
import { calculateTime } from '../utils';
import { styles } from './styles';
export const BottomControls = ({
showControls,
animations: {
AnimatedView,
...animations
},
panHandlers,
disableSeekbar,
disableTimer,
duration,
seekColor,
showDuration,
showHours,
showTimeRemaining,
currentTime,
toggleTimer,
resetControlTimeout,
seekerFillWidth,
seekerPosition,
setSeekerWidth,
isFullscreen,
disableFullscreen,
toggleFullscreen,
cachedPosition
}) => {
//@ts-ignore
const timerControl = disableTimer ? /*#__PURE__*/React.createElement(NullControl, null) : /*#__PURE__*/React.createElement(Timer, {
resetControlTimeout: resetControlTimeout,
toggleTimer: toggleTimer,
showControls: showControls
}, calculateTime({
showDuration,
showHours,
showTimeRemaining,
time: currentTime,
duration
}));
const seekbarControl = disableSeekbar ? /*#__PURE__*/React.createElement(NullControl, null) : /*#__PURE__*/React.createElement(Seekbar, {
seekerFillWidth: seekerFillWidth,
seekerPosition: seekerPosition,
seekColor: seekColor,
seekerPanHandlers: panHandlers,
setSeekerWidth: setSeekerWidth,
cachedPosition: cachedPosition,
showDuration: showDuration,
showHours: showHours,
showTimeRemaining: showTimeRemaining,
duration: duration,
time: currentTime
});
//@ts-ignore
const fullscreenControl = disableFullscreen ? /*#__PURE__*/React.createElement(NullControl, null) : /*#__PURE__*/React.createElement(Fullscreen, {
isFullscreen: isFullscreen,
toggleFullscreen: toggleFullscreen,
resetControlTimeout: resetControlTimeout,
showControls: showControls
});
return /*#__PURE__*/React.createElement(AnimatedView, {
style: [_styles.bottom, animations.controlsOpacity, animations.bottomControl]
}, /*#__PURE__*/React.createElement(SafeAreaView, {
style: styles.seekBarContainer
}, seekbarControl));
};
const _styles = StyleSheet.create({
bottom: {
alignItems: 'stretch',
flex: 2,
justifyContent: 'flex-end'
},
bottomControlGroup: {
alignSelf: 'stretch',
alignItems: 'center',
justifyContent: 'space-between',
marginLeft: 12,
marginRight: 12,
marginBottom: 0
}
});
//# sourceMappingURL=BottomControls.js.map