UNPKG

react-native-video-zoom-control

Version:

A video player overlay for React Native Video that supports pinch-to-zoom and multiple video renditions.

52 lines (51 loc) 1.64 kB
// import padStart from 'lodash/padStart'; export const _onBack = navigator => { if (navigator && navigator.pop) { return () => navigator.pop(); } return () => console.warn('Warning: _onBack requires navigator property to function. Either modify the onBack prop or pass a navigator prop'); }; export const calculateTime = args => { const { time: currentTime = 0, duration, showTimeRemaining, showDuration } = args; const formattedDuration = !showDuration ? '' : `/${formatTime({ ...args, time: duration, showTimeRemaining: false })}`; if (showTimeRemaining) { const time = duration - currentTime; return `${formatTime({ ...args, time })}${formattedDuration}`; } return `${formatTime({ ...args, time: currentTime })}${formattedDuration}`; }; const formatTime = _ref => { let { time = 0, duration, showTimeRemaining, showHours } = _ref; const symbol = showTimeRemaining ? '-' : ''; time = Math.min(Math.max(time, 0), duration); if (!showHours) { const formattedMinutes = Math.floor(time / 60).toFixed(0).padStart(2, '0'); const formattedSeconds = Math.floor(time % 60).toFixed(0).padStart(2, '0'); return `${symbol}${formattedMinutes}:${formattedSeconds}`; } const formattedHours = Math.floor(time / 3600).toFixed(0).padStart(2, '0'); const formattedMinutes = (Math.floor(time / 60) % 60).toFixed(0).padStart(2, '0'); const formattedSeconds = Math.floor(time % 60).toFixed(0).padStart(2, '0'); return `${symbol}${formattedHours}:${formattedMinutes}:${formattedSeconds}`; }; //# sourceMappingURL=utils.js.map