lbry-desktop/ui/js/page/filePage/index.js
2017-06-05 21:21:55 -07:00

39 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);