lbry-desktop/src/renderer/page/publish/index.js

70 lines
2 KiB
JavaScript
Raw Normal View History

import { connect } from 'react-redux';
2018-04-18 06:03:01 +02:00
import { doClaimRewardType } from 'redux/actions/rewards';
import {
doHistoryBack,
doResolveUri,
makeSelectCostInfoForUri,
selectMyClaims,
selectFetchingMyChannels,
selectMyChannelClaims,
selectClaimsByUri,
selectResolvingUris,
selectBalance,
} from 'lbry-redux';
import {
doFetchClaimListMine,
doFetchChannelListMine,
doCreateChannel,
} from 'redux/actions/content';
2018-03-26 23:32:43 +02:00
import { doNavigate } from 'redux/actions/navigation';
2018-04-18 06:03:01 +02:00
import rewards from 'rewards';
2018-03-26 23:32:43 +02:00
import { selectPublishFormValues } from 'redux/selectors/publish';
2018-04-18 06:03:01 +02:00
import { doClearPublish, doUpdatePublishForm, doPublish } from 'redux/actions/publish';
import { doPrepareEdit } from 'redux/actions/publish';
import PublishPage from './view';
2017-05-02 10:21:00 +02:00
2018-03-26 23:32:43 +02:00
const select = (state, props) => {
const publishState = selectPublishFormValues(state);
const { uri, name } = publishState;
const resolvingUris = selectResolvingUris(state);
let isResolvingUri = false;
if (uri) {
isResolvingUri = resolvingUris.includes(uri);
}
const claimsByUri = selectClaimsByUri(state);
const myClaims = selectMyClaims(state);
const myChannels = selectMyChannelClaims(state);
2018-03-26 23:32:43 +02:00
const claimForUri = claimsByUri[uri];
let winningBidForClaimUri;
let myClaimForUri;
if (claimForUri) {
winningBidForClaimUri = claimForUri.effective_amount;
myClaimForUri = myClaims.find(claim => claim.name === name);
}
return {
...publishState,
isResolvingUri,
claimForUri,
winningBidForClaimUri,
myClaimForUri,
myChannels,
2018-03-26 23:32:43 +02:00
costInfo: makeSelectCostInfoForUri(props.uri)(state),
balance: selectBalance(state),
};
};
2017-05-02 10:21:00 +02:00
2017-06-06 06:21:55 +02:00
const perform = dispatch => ({
2018-03-26 23:32:43 +02:00
updatePublishForm: value => dispatch(doUpdatePublishForm(value)),
clearPublish: () => dispatch(doClearPublish()),
resolveUri: uri => dispatch(doResolveUri(uri)),
2017-06-17 19:59:18 +02:00
publish: params => dispatch(doPublish(params)),
2018-03-26 23:32:43 +02:00
navigate: path => dispatch(doNavigate(path)),
prepareEdit: (claim, uri) => dispatch(doPrepareEdit(claim, uri)),
2017-06-06 06:21:55 +02:00
});
2017-05-02 10:21:00 +02:00
2017-06-06 06:21:55 +02:00
export default connect(select, perform)(PublishPage);