d9bf72a351
sync settings backout nav cases and anon preference key more robust backout header put notificationSettings under backout bar review changes
39 lines
1.8 KiB
JavaScript
39 lines
1.8 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import { makeSelectClaimForUri, makeSelectFileInfoForUri, makeSelectThumbnailForUri, SETTINGS } from 'lbry-redux';
|
|
import { doChangeVolume, doChangeMute, doAnalyticsView } from 'redux/actions/app';
|
|
import { selectVolume, selectMute } from 'redux/selectors/app';
|
|
import { savePosition, clearPosition } from 'redux/actions/content';
|
|
import { makeSelectContentPositionForUri } from 'redux/selectors/content';
|
|
import VideoViewer from './view';
|
|
import { withRouter } from 'react-router';
|
|
import { doClaimEligiblePurchaseRewards } from 'redux/actions/rewards';
|
|
import { makeSelectClientSetting } from 'redux/selectors/settings';
|
|
|
|
const select = (state, props) => {
|
|
const { search } = props.location;
|
|
const urlParams = new URLSearchParams(search);
|
|
const autoplay = urlParams.get('autoplay');
|
|
const position = urlParams.get('t') !== null ? urlParams.get('t') : makeSelectContentPositionForUri(props.uri)(state);
|
|
|
|
return {
|
|
autoplayIfEmbedded: Boolean(autoplay),
|
|
autoplaySetting: Boolean(makeSelectClientSetting(SETTINGS.AUTOPLAY)(state)),
|
|
volume: selectVolume(state),
|
|
muted: selectMute(state),
|
|
position: position,
|
|
hasFileInfo: Boolean(makeSelectFileInfoForUri(props.uri)(state)),
|
|
thumbnail: makeSelectThumbnailForUri(props.uri)(state),
|
|
claim: makeSelectClaimForUri(props.uri)(state),
|
|
};
|
|
};
|
|
|
|
const perform = dispatch => ({
|
|
changeVolume: volume => dispatch(doChangeVolume(volume)),
|
|
savePosition: (uri, position) => dispatch(savePosition(uri, position)),
|
|
clearPosition: uri => dispatch(clearPosition(uri)),
|
|
changeMute: muted => dispatch(doChangeMute(muted)),
|
|
doAnalyticsView: (uri, timeToStart) => dispatch(doAnalyticsView(uri, timeToStart)),
|
|
claimRewards: () => dispatch(doClaimEligiblePurchaseRewards()),
|
|
});
|
|
|
|
export default withRouter(connect(select, perform)(VideoViewer));
|