@sberdevices/plasma-temple
Version:
SberDevices CanvasApp Templates.
70 lines (67 loc) • 3.48 kB
JavaScript
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import React from 'react';
import styled from 'styled-components';
import { VideoPlayer } from '../../components/VideoPlayer/VideoPlayer';
import { useGetMutableValue } from '../../hooks/useGetMutableValue';
export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
componentId: "plasma-temple__sc-1ahry4m-0"
})(["position:relative;width:100vw;height:100vh;margin-left:-50vw;left:50%;"]);
export function VideoPage(_ref) {
var state = _ref.state,
customControls = _ref.customControls,
autoPlay = _ref.autoPlay,
visibleControlList = _ref.visibleControlList,
alwaysShowControls = _ref.alwaysShowControls,
controlsHidden = _ref.controlsHidden,
videoFit = _ref.videoFit,
posterClassName = _ref.posterClassName,
children = _ref.children,
changeState = _ref.changeState;
var items = state.items,
position = state.position;
var videos = Array.isArray(items) ? items : [items];
var _videos$position = videos[position],
src = _videos$position.src,
title = _videos$position.title,
startTime = _videos$position.startTime,
endTime = _videos$position.endTime,
poster = _videos$position.poster;
var getState = useGetMutableValue(state);
var onNext = React.useCallback(function () {
if (position < videos.length - 1) {
changeState(_objectSpread(_objectSpread({}, getState()), {}, {
position: position + 1
}));
}
}, [position, videos.length, changeState, getState]);
var onBack = React.useCallback(function () {
if (position > 0) {
changeState(_objectSpread(_objectSpread({}, getState()), {}, {
position: position - 1
}));
} else {
window.history.back();
}
}, [position, changeState, getState]);
return /*#__PURE__*/React.createElement(StyledWrapper, null, /*#__PURE__*/React.createElement(VideoPlayer, {
src: src,
poster: poster,
header: title,
autoPlay: autoPlay,
visibleControlList: visibleControlList,
alwaysShowControls: alwaysShowControls,
controlsHidden: controlsHidden,
startTime: startTime,
endTime: endTime,
goNext: onNext,
goBack: onBack,
nextDisabled: position === videos.length - 1,
customControls: customControls,
videoFit: videoFit,
posterClassName: posterClassName
}, children));
}
export default VideoPage;
//# sourceMappingURL=VideoPage.js.map