b164a5d1f4
Pop up Menu Fixes and Improvements Improve re-directs Fix file deletion Improve code, and more Fix List Layout collection popup Allow to edit list Fix blocking when not logged or no channel Fix Edit and Delete showing for not owned Lists Fix actions breaking when not logged in Fix List options not showing Lint Shorten logic Lint
90 lines
4.1 KiB
JavaScript
90 lines
4.1 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import {
|
|
doCollectionEdit,
|
|
makeSelectClaimForUri,
|
|
makeSelectFileInfoForUri,
|
|
doPrepareEdit,
|
|
makeSelectCollectionForIdHasClaimUrl,
|
|
makeSelectCollectionIsMine,
|
|
COLLECTIONS_CONSTS,
|
|
makeSelectEditedCollectionForId,
|
|
} from 'lbry-redux';
|
|
import { makeSelectChannelIsMuted } from 'redux/selectors/blocked';
|
|
import { doChannelMute, doChannelUnmute } from 'redux/actions/blocked';
|
|
import { doSetActiveChannel, doSetIncognito, doOpenModal } from 'redux/actions/app';
|
|
import {
|
|
doCommentModBlock,
|
|
doCommentModUnBlock,
|
|
doCommentModBlockAsAdmin,
|
|
doCommentModUnBlockAsAdmin,
|
|
} from 'redux/actions/comments';
|
|
import {
|
|
selectHasAdminChannel,
|
|
makeSelectChannelIsBlocked,
|
|
makeSelectChannelIsAdminBlocked,
|
|
} from 'redux/selectors/comments';
|
|
import { doToast } from 'redux/actions/notifications';
|
|
import { makeSelectSigningIsMine } from 'redux/selectors/content';
|
|
import { doChannelSubscribe, doChannelUnsubscribe } from 'redux/actions/subscriptions';
|
|
import { makeSelectIsSubscribed } from 'redux/selectors/subscriptions';
|
|
import { selectUserVerifiedEmail } from 'redux/selectors/user';
|
|
import ClaimPreview from './view';
|
|
import fs from 'fs';
|
|
|
|
const select = (state, props) => {
|
|
const claim = makeSelectClaimForUri(props.uri, false)(state);
|
|
const repostedClaim = claim && claim.reposted_claim;
|
|
const contentClaim = repostedClaim || claim;
|
|
const contentSigningChannel = contentClaim && contentClaim.signing_channel;
|
|
const contentPermanentUri = contentClaim && contentClaim.permanent_url;
|
|
const contentChannelUri = (contentSigningChannel && contentSigningChannel.permanent_url) || contentPermanentUri;
|
|
|
|
return {
|
|
claim,
|
|
repostedClaim,
|
|
contentClaim,
|
|
contentSigningChannel,
|
|
contentChannelUri,
|
|
claimIsMine: makeSelectSigningIsMine(props.uri)(state),
|
|
hasClaimInWatchLater: makeSelectCollectionForIdHasClaimUrl(COLLECTIONS_CONSTS.WATCH_LATER_ID, contentPermanentUri)(state),
|
|
hasClaimInCustom: makeSelectCollectionForIdHasClaimUrl(COLLECTIONS_CONSTS.FAVORITES_ID, contentPermanentUri)(state),
|
|
channelIsMuted: makeSelectChannelIsMuted(contentChannelUri)(state),
|
|
channelIsBlocked: makeSelectChannelIsBlocked(contentChannelUri)(state),
|
|
fileInfo: makeSelectFileInfoForUri(props.uri)(state),
|
|
isSubscribed: makeSelectIsSubscribed(contentChannelUri, true)(state),
|
|
channelIsAdminBlocked: makeSelectChannelIsAdminBlocked(props.uri)(state),
|
|
isAdmin: selectHasAdminChannel(state),
|
|
claimInCollection: makeSelectCollectionForIdHasClaimUrl(props.collectionId, contentPermanentUri)(state),
|
|
isMyCollection: makeSelectCollectionIsMine(props.collectionId)(state),
|
|
editedCollection: makeSelectEditedCollectionForId(props.collectionId)(state),
|
|
isAuthenticated: Boolean(selectUserVerifiedEmail(state)),
|
|
};
|
|
};
|
|
|
|
const perform = (dispatch) => ({
|
|
prepareEdit: (publishData, uri, fileInfo) => {
|
|
if (publishData.signing_channel) {
|
|
dispatch(doSetIncognito(false));
|
|
dispatch(doSetActiveChannel(publishData.signing_channel.claim_id));
|
|
} else {
|
|
dispatch(doSetIncognito(true));
|
|
}
|
|
|
|
dispatch(doPrepareEdit(publishData, uri, fileInfo, fs));
|
|
},
|
|
doToast: (props) => dispatch(doToast(props)),
|
|
openModal: (modal, props) => dispatch(doOpenModal(modal, props)),
|
|
doChannelMute: (channelUri) => dispatch(doChannelMute(channelUri)),
|
|
doChannelUnmute: (channelUri) => dispatch(doChannelUnmute(channelUri)),
|
|
doCommentModBlock: (channelUri) => dispatch(doCommentModBlock(channelUri)),
|
|
doCommentModUnBlock: (channelUri) => dispatch(doCommentModUnBlock(channelUri)),
|
|
doCommentModBlockAsAdmin: (commenterUri, blockerId) =>
|
|
dispatch(doCommentModBlockAsAdmin(commenterUri, blockerId)),
|
|
doCommentModUnBlockAsAdmin: (commenterUri, blockerId) =>
|
|
dispatch(doCommentModUnBlockAsAdmin(commenterUri, blockerId)),
|
|
doChannelSubscribe: (subscription) => dispatch(doChannelSubscribe(subscription)),
|
|
doChannelUnsubscribe: (subscription) => dispatch(doChannelUnsubscribe(subscription)),
|
|
doCollectionEdit: (collection, props) => dispatch(doCollectionEdit(collection, props)),
|
|
});
|
|
|
|
export default connect(select, perform)(ClaimPreview);
|