import React from 'react' import { connect, } from 'react-redux' import { doCloseModal, } from 'actions/app' import { selectCurrentModal, } from 'selectors/app' import { doPurchaseUri, doLoadVideo, } from 'actions/content' import { makeSelectMetadataForUri, makeSelectContentTypeForUri, } from 'selectors/claims' import { makeSelectFileInfoForUri, makeSelectLoadingForUri, makeSelectDownloadingForUri, } from 'selectors/file_info' import { makeSelectCostInfoForUri, } from 'selectors/cost_info' import Video from './view' const makeSelect = () => { const selectCostInfo = makeSelectCostInfoForUri() const selectFileInfo = makeSelectFileInfoForUri() const selectIsLoading = makeSelectLoadingForUri() const selectIsDownloading = makeSelectDownloadingForUri() const selectMetadata = makeSelectMetadataForUri() const selectContentType = makeSelectContentTypeForUri() const select = (state, props) => ({ costInfo: selectCostInfo(state, props), fileInfo: selectFileInfo(state, props), metadata: selectMetadata(state, props), modal: selectCurrentModal(state), isLoading: selectIsLoading(state, props), isDownloading: selectIsDownloading(state, props), contentType: selectContentType(state, props), }) return select } const perform = (dispatch) => ({ loadVideo: (uri) => dispatch(doLoadVideo(uri)), purchaseUri: (uri) => dispatch(doPurchaseUri(uri, 'affirmPurchaseAndPlay')), closeModal: () => dispatch(doCloseModal()), }) export default connect(makeSelect, perform)(Video)