import React from 'react' import { connect } from 'react-redux' import { doNavigate, } from 'actions/app' import { doFetchFileInfo, } from 'actions/file_info' import { makeSelectFileInfoForUri, } from 'selectors/file_info' import { doFetchCostInfoForUri, } from 'actions/cost_info' import { makeSelectClaimForUri, makeSelectContentTypeForUri, makeSelectMetadataForUri, } from 'selectors/claims' import { makeSelectCostInfoForUri, } from 'selectors/cost_info' import FilePage from './view' const makeSelect = () => { const selectClaim = makeSelectClaimForUri(), selectContentType = makeSelectContentTypeForUri(), selectFileInfo = makeSelectFileInfoForUri(), selectCostInfo = makeSelectCostInfoForUri(), selectMetadata = makeSelectMetadataForUri() const select = (state, props) => ({ claim: selectClaim(state, props), contentType: selectContentType(state, props), costInfo: selectCostInfo(state, props), metadata: selectMetadata(state, props), fileInfo: selectFileInfo(state, props) }) return select } const perform = (dispatch) => ({ navigate: (path, params) => dispatch(doNavigate(path, params)), fetchFileInfo: (uri) => dispatch(doFetchFileInfo(uri)), fetchCostInfo: (uri) => dispatch(doFetchCostInfoForUri(uri)), }) export default connect(makeSelect, perform)(FilePage)