26 lines
1.1 KiB
JavaScript
26 lines
1.1 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import { doResolveUri } from 'redux/actions/claims';
|
|
import { makeSelectClaimForUri } from 'redux/selectors/claims';
|
|
import { selectPrimaryUri, makeSelectContentWatchedPercentageForUri } from 'redux/selectors/content';
|
|
import CardMedia from './view';
|
|
import { makeSelectClientSetting } from 'redux/selectors/settings';
|
|
import * as SETTINGS from 'constants/settings';
|
|
|
|
const select = (state, props) => {
|
|
const claimUriBeingPlayed = selectPrimaryUri(state);
|
|
let isBeingPlayed = false;
|
|
|
|
if (claimUriBeingPlayed) {
|
|
const claim = makeSelectClaimForUri(props.uri)(state);
|
|
const claimBeingPlayed = makeSelectClaimForUri(claimUriBeingPlayed)(state);
|
|
isBeingPlayed = claim && claim.claim_id === claimBeingPlayed.claim_id;
|
|
}
|
|
|
|
return {
|
|
watchedPercentage: makeSelectContentWatchedPercentageForUri(props.uri)(state),
|
|
claim: makeSelectClaimForUri(props.uri)(state),
|
|
showPercentage: !isBeingPlayed && makeSelectClientSetting(SETTINGS.PERSIST_WATCH_TIME)(state),
|
|
};
|
|
};
|
|
|
|
export default connect(select, { doResolveUri })(CardMedia);
|