UNPKG

react-native-video-player

Version:
51 lines (50 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DurationText = void 0; var _react = require("react"); var _reactNative = require("react-native"); var _jsxRuntime = require("react/jsx-runtime"); const getDurationTime = duration => { const padTimeValueString = value => value.toString().padStart(2, '0'); if (!Number.isFinite(duration)) return ''; const seconds = Math.floor(duration % 60); const minutes = Math.floor(duration / 60 % 60); const hours = Math.floor(duration / 3600 % 24); return hours ? `${padTimeValueString(hours)}:${padTimeValueString(minutes)}:${padTimeValueString(seconds)}` : `${padTimeValueString(minutes)}:${padTimeValueString(seconds)}`; }; const ProgressingDuration = /*#__PURE__*/(0, _react.forwardRef)(({ duration, durationTextCustomStyles }, ref) => { const [progress, setProgress] = (0, _react.useState)(0); (0, _react.useImperativeHandle)(ref, () => ({ onProgress: setProgress })); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, { style: [styles.durationText, durationTextCustomStyles], children: getDurationTime(progress * duration) }); }); const DurationText = exports.DurationText = /*#__PURE__*/(0, _react.memo)(/*#__PURE__*/(0, _react.forwardRef)(({ duration, durationTextCustomStyles }, ref) => { return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ProgressingDuration, { ref: ref, duration: duration, durationTextCustomStyles: durationTextCustomStyles }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, { style: [styles.durationText, durationTextCustomStyles], children: ` / ${getDurationTime(duration)}` })] }); })); const styles = _reactNative.StyleSheet.create({ durationText: { color: 'white' } }); //# sourceMappingURL=Duration.js.map