2019-05-17 20:21:07 +02:00
|
|
|
import { connect } from 'react-redux';
|
2021-03-10 19:34:21 +01:00
|
|
|
import {
|
2021-11-11 05:48:10 +01:00
|
|
|
selectClaimForUri,
|
|
|
|
selectClaimIsMine,
|
2021-11-08 07:27:14 +01:00
|
|
|
selectHasChannels,
|
2021-03-10 19:34:21 +01:00
|
|
|
selectFetchingMyChannels,
|
2021-10-11 18:56:07 +02:00
|
|
|
makeSelectTagInClaimOrChannelForUri,
|
2021-10-17 10:36:14 +02:00
|
|
|
} from 'redux/selectors/claims';
|
2021-10-28 22:25:34 +02:00
|
|
|
import { CommentCreate } from './view';
|
|
|
|
import { DISABLE_SUPPORT_TAG } from 'constants/tags';
|
2021-08-27 14:03:29 +02:00
|
|
|
import { doCommentCreate, doFetchCreatorSettings, doCommentById } from 'redux/actions/comments';
|
2021-10-28 22:25:34 +02:00
|
|
|
import { doSendTip, doSendCashTip } from 'redux/actions/wallet';
|
|
|
|
import { doToast } from 'redux/actions/notifications';
|
2021-02-09 17:05:56 +01:00
|
|
|
import { selectActiveChannelClaim } from 'redux/selectors/app';
|
2021-07-29 16:53:36 +02:00
|
|
|
import { selectSettingsByChannelId } from 'redux/selectors/comments';
|
2022-02-07 19:03:10 +01:00
|
|
|
import { getChannelIdFromClaim } from 'util/claim';
|
2022-02-02 17:20:10 +01:00
|
|
|
import { doOpenModal } from 'redux/actions/app';
|
2019-05-17 20:21:07 +02:00
|
|
|
|
2021-11-11 05:48:10 +01:00
|
|
|
const select = (state, props) => {
|
2022-02-07 19:03:10 +01:00
|
|
|
const { uri } = props;
|
|
|
|
|
|
|
|
const claim = selectClaimForUri(state, uri);
|
|
|
|
const { claim_id: claimId, name, signing_channel: channel } = claim || {};
|
|
|
|
|
|
|
|
// setup variables for tip API
|
|
|
|
const channelClaimId = getChannelIdFromClaim(claim);
|
|
|
|
const tipChannelName = channel ? channel.name : name;
|
|
|
|
|
|
|
|
const activeChannelClaim = selectActiveChannelClaim(state);
|
|
|
|
const { claim_id: activeChannelClaimId, name: activeChannelName, canonical_url: activeChannelUrl } =
|
|
|
|
activeChannelClaim || {};
|
|
|
|
|
2021-11-11 05:48:10 +01:00
|
|
|
return {
|
2022-02-07 19:03:10 +01:00
|
|
|
activeChannelClaimId,
|
|
|
|
activeChannelName,
|
|
|
|
activeChannelUrl,
|
2021-11-11 05:48:10 +01:00
|
|
|
hasChannels: selectHasChannels(state),
|
2022-02-07 19:03:10 +01:00
|
|
|
claimId,
|
|
|
|
channelClaimId,
|
|
|
|
tipChannelName,
|
2021-11-11 05:48:10 +01:00
|
|
|
claimIsMine: selectClaimIsMine(state, claim),
|
|
|
|
isFetchingChannels: selectFetchingMyChannels(state),
|
|
|
|
settingsByChannelId: selectSettingsByChannelId(state),
|
2022-02-07 19:03:10 +01:00
|
|
|
supportDisabled: makeSelectTagInClaimOrChannelForUri(uri, DISABLE_SUPPORT_TAG)(state),
|
2021-11-11 05:48:10 +01:00
|
|
|
};
|
|
|
|
};
|
2019-05-17 20:21:07 +02:00
|
|
|
|
2022-02-07 19:03:10 +01:00
|
|
|
const perform = {
|
|
|
|
doCommentCreate,
|
|
|
|
doFetchCreatorSettings,
|
|
|
|
doToast,
|
|
|
|
doCommentById,
|
|
|
|
doSendCashTip,
|
|
|
|
doSendTip,
|
|
|
|
doOpenModal,
|
|
|
|
};
|
2019-05-17 20:21:07 +02:00
|
|
|
|
2020-03-20 20:09:45 +01:00
|
|
|
export default connect(select, perform)(CommentCreate);
|