96 lines
3.8 KiB
JavaScript
96 lines
3.8 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import {
|
|
doFetchFileInfo,
|
|
doFetchClaimListMine,
|
|
doFileGet,
|
|
doPurchaseUri,
|
|
doDeletePurchasedUri,
|
|
doResolveUri,
|
|
doSendTip,
|
|
doToast,
|
|
makeSelectIsUriResolving,
|
|
makeSelectFileInfoForUri,
|
|
makeSelectChannelForClaimUri,
|
|
makeSelectClaimForUri,
|
|
makeSelectContentPositionForUri,
|
|
makeSelectContentTypeForUri,
|
|
makeSelectMetadataForUri,
|
|
makeSelectStreamingUrlForUri,
|
|
makeSelectThumbnailForUri,
|
|
makeSelectTitleForUri,
|
|
selectBalance,
|
|
selectMyClaimUrisWithoutChannels,
|
|
selectPurchasedUris,
|
|
selectFailedPurchaseUris,
|
|
selectPurchaseUriErrorMessage,
|
|
} from 'lbry-redux';
|
|
import {
|
|
doFetchCostInfoForUri,
|
|
makeSelectCostInfoForUri,
|
|
selectRewardContentClaimIds,
|
|
selectBlackListedOutpoints,
|
|
} from 'lbryinc';
|
|
import {
|
|
doStartDownload,
|
|
doUpdateDownload,
|
|
doCompleteDownload,
|
|
doDeleteFile,
|
|
doStopDownloadingFile,
|
|
} from 'redux/actions/file';
|
|
import { doPopDrawerStack, doSetPlayerVisible } from 'redux/actions/drawer';
|
|
import { selectDrawerStack } from 'redux/selectors/drawer';
|
|
import FilePage from './view';
|
|
|
|
const select = (state, props) => {
|
|
const selectProps = { uri: props.navigation.state.params.uri };
|
|
return {
|
|
balance: selectBalance(state),
|
|
blackListedOutpoints: selectBlackListedOutpoints(state),
|
|
claim: makeSelectClaimForUri(selectProps.uri)(state),
|
|
drawerStack: selectDrawerStack(state),
|
|
isResolvingUri: makeSelectIsUriResolving(selectProps.uri)(state),
|
|
contentType: makeSelectContentTypeForUri(selectProps.uri)(state),
|
|
costInfo: makeSelectCostInfoForUri(selectProps.uri)(state),
|
|
metadata: makeSelectMetadataForUri(selectProps.uri)(state),
|
|
// obscureNsfw: !selectShowNsfw(state),
|
|
// tab: makeSelectCurrentParam('tab')(state),
|
|
fileInfo: makeSelectFileInfoForUri(selectProps.uri)(state),
|
|
rewardedContentClaimIds: selectRewardContentClaimIds(state, selectProps),
|
|
channelUri: makeSelectChannelForClaimUri(selectProps.uri, true)(state),
|
|
position: makeSelectContentPositionForUri(selectProps.uri)(state),
|
|
purchasedUris: selectPurchasedUris(state),
|
|
failedPurchaseUris: selectFailedPurchaseUris(state),
|
|
myClaimUris: selectMyClaimUrisWithoutChannels(state),
|
|
purchaseUriErrorMessage: selectPurchaseUriErrorMessage(state),
|
|
streamingUrl: makeSelectStreamingUrlForUri(selectProps.uri)(state),
|
|
thumbnail: makeSelectThumbnailForUri(selectProps.uri)(state),
|
|
title: makeSelectTitleForUri(selectProps.uri)(state),
|
|
};
|
|
};
|
|
|
|
const perform = dispatch => ({
|
|
deleteFile: (fileInfo, deleteFromDevice, abandonClaim) => {
|
|
dispatch(doDeleteFile(fileInfo, deleteFromDevice, abandonClaim));
|
|
},
|
|
fetchFileInfo: uri => dispatch(doFetchFileInfo(uri)),
|
|
fetchCostInfo: uri => dispatch(doFetchCostInfoForUri(uri)),
|
|
fetchMyClaims: () => dispatch(doFetchClaimListMine()),
|
|
fileGet: (uri, saveFile) => dispatch(doFileGet(uri, saveFile)),
|
|
notify: data => dispatch(doToast(data)),
|
|
popDrawerStack: () => dispatch(doPopDrawerStack()),
|
|
purchaseUri: (uri, costInfo, saveFile) => dispatch(doPurchaseUri(uri, costInfo, saveFile)),
|
|
deletePurchasedUri: uri => dispatch(doDeletePurchasedUri(uri)),
|
|
resolveUri: uri => dispatch(doResolveUri(uri)),
|
|
sendTip: (amount, claimId, isSupport, successCallback, errorCallback) =>
|
|
dispatch(doSendTip(amount, claimId, isSupport, successCallback, errorCallback)),
|
|
setPlayerVisible: () => dispatch(doSetPlayerVisible(true)),
|
|
stopDownload: (uri, fileInfo) => dispatch(doStopDownloadingFile(uri, fileInfo)),
|
|
startDownload: (uri, outpoint, fileInfo) => dispatch(doStartDownload(uri, outpoint, fileInfo)),
|
|
updateDownload: (uri, outpoint, fileInfo, progress) => dispatch(doUpdateDownload(uri, outpoint, fileInfo, progress)),
|
|
completeDownload: (uri, outpoint, fileInfo) => dispatch(doCompleteDownload(uri, outpoint, fileInfo)),
|
|
});
|
|
|
|
export default connect(
|
|
select,
|
|
perform
|
|
)(FilePage);
|