d9bf72a351
sync settings backout nav cases and anon preference key more robust backout header put notificationSettings under backout bar review changes
40 lines
1.8 KiB
JavaScript
40 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));
|