51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
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)
|