28 lines
1 KiB
JavaScript
28 lines
1 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import { doResolveUris, doClearPublish, doPrepareEdit, selectPendingIds, makeSelectClaimForUri } from 'lbry-redux';
|
|
import { makeSelectWinningUriForQuery, makeSelectIsResolvingWinningUri } from 'redux/selectors/search';
|
|
import SearchTopClaim from './view';
|
|
import { push } from 'connected-react-router';
|
|
import * as PAGES from 'constants/pages';
|
|
|
|
const select = (state, props) => {
|
|
const winningUri = makeSelectWinningUriForQuery(props.query)(state);
|
|
|
|
return {
|
|
winningUri,
|
|
winningClaim: winningUri ? makeSelectClaimForUri(winningUri)(state) : undefined,
|
|
isResolvingWinningUri: props.query ? makeSelectIsResolvingWinningUri(props.query)(state) : false,
|
|
pendingIds: selectPendingIds(state),
|
|
};
|
|
};
|
|
|
|
const perform = dispatch => ({
|
|
beginPublish: name => {
|
|
dispatch(doClearPublish());
|
|
dispatch(doPrepareEdit({ name }));
|
|
dispatch(push(`/$/${PAGES.UPLOAD}`));
|
|
},
|
|
doResolveUris: uris => dispatch(doResolveUris(uris)),
|
|
});
|
|
|
|
export default connect(select, perform)(SearchTopClaim);
|