stream-chat-react 11.3.0 → 11.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.full-bundle.js +5791 -5143
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/Attachment.d.ts.map +1 -1
- package/dist/components/Attachment/Attachment.js +1 -0
- package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +1 -0
- package/dist/components/Attachment/hooks/useAudioController.d.ts.map +1 -1
- package/dist/components/Attachment/hooks/useAudioController.js +1 -0
- package/dist/components/Channel/Channel.d.ts +9 -2
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +119 -45
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +3 -1
- package/dist/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateTypingContext.js +3 -1
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +3 -0
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +1 -0
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.js +1 -0
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +1 -0
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +1 -0
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +1 -0
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js +1 -0
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +2 -0
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +1 -0
- package/dist/components/ChannelPreview/ChannelPreview.d.ts +16 -0
- package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.js +18 -2
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +5 -0
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.js +62 -2
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts.map +1 -1
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.js +1 -0
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -1
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.js +1 -0
- package/dist/components/ChannelSearch/SearchBar.d.ts.map +1 -1
- package/dist/components/ChannelSearch/SearchBar.js +2 -0
- package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
- package/dist/components/ChannelSearch/SearchResults.js +3 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts.map +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +7 -1
- package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useChat.js +2 -0
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useCreateChatContext.js +3 -1
- package/dist/components/Emojis/index.cjs.js +1 -1
- package/dist/components/Gallery/ModalGallery.d.ts.map +1 -1
- package/dist/components/Gallery/ModalGallery.js +3 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +1 -0
- package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMoreButton.js +1 -0
- package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMorePaginator.js +1 -0
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +40 -8
- package/dist/components/Message/MessageText.d.ts.map +1 -1
- package/dist/components/Message/MessageText.js +1 -0
- package/dist/components/Message/hooks/index.d.ts +2 -0
- package/dist/components/Message/hooks/index.d.ts.map +1 -1
- package/dist/components/Message/hooks/index.js +2 -0
- package/dist/components/Message/hooks/useMarkUnreadHandler.d.ts +10 -0
- package/dist/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -0
- package/dist/components/Message/hooks/useMarkUnreadHandler.js +45 -0
- package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useReactionHandler.js +6 -2
- package/dist/components/Message/hooks/useReactionsFetcher.d.ts +11 -0
- package/dist/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -0
- package/dist/components/Message/hooks/useReactionsFetcher.js +58 -0
- package/dist/components/Message/hooks/useUserRole.d.ts +1 -0
- package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/components/Message/hooks/useUserRole.js +2 -0
- package/dist/components/Message/types.d.ts +7 -1
- package/dist/components/Message/types.d.ts.map +1 -1
- package/dist/components/Message/utils.d.ts +4 -1
- package/dist/components/Message/utils.d.ts.map +1 -1
- package/dist/components/Message/utils.js +12 -3
- package/dist/components/MessageActions/MessageActions.d.ts +1 -1
- package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
- package/dist/components/MessageActions/MessageActions.js +14 -5
- package/dist/components/MessageActions/MessageActionsBox.d.ts +4 -3
- package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
- package/dist/components/MessageActions/MessageActionsBox.js +8 -24
- package/dist/components/MessageActions/hooks/index.d.ts +2 -0
- package/dist/components/MessageActions/hooks/index.d.ts.map +1 -0
- package/dist/components/MessageActions/hooks/index.js +1 -0
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts +18 -0
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts.map +1 -0
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.js +32 -0
- package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputFlat.js +1 -0
- package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputSmall.js +1 -0
- package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.js +3 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +3 -1
- package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useFileUploads.js +3 -0
- package/dist/components/MessageInput/hooks/useImageUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useImageUploads.js +4 -1
- package/dist/components/MessageInput/hooks/useLinkPreviews.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useLinkPreviews.js +5 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.js +6 -2
- package/dist/components/MessageInput/hooks/usePasteHandler.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/usePasteHandler.js +3 -1
- package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useUserTrigger.js +1 -0
- package/dist/components/MessageList/MessageList.d.ts +6 -1
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +32 -13
- package/dist/components/MessageList/MessageListMainPanel.d.ts +1 -0
- package/dist/components/MessageList/MessageListMainPanel.d.ts.map +1 -1
- package/dist/components/MessageList/MessageListMainPanel.js +2 -1
- package/dist/components/MessageList/MessageListNotifications.d.ts +1 -0
- package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -1
- package/dist/components/MessageList/MessageListNotifications.js +2 -2
- package/dist/components/MessageList/MessageNotification.d.ts +2 -0
- package/dist/components/MessageList/MessageNotification.d.ts.map +1 -1
- package/dist/components/MessageList/ScrollToBottomButton.d.ts +1 -1
- package/dist/components/MessageList/ScrollToBottomButton.d.ts.map +1 -1
- package/dist/components/MessageList/ScrollToBottomButton.js +3 -43
- package/dist/components/MessageList/UnreadMessagesNotification.d.ts +6 -0
- package/dist/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -0
- package/dist/components/MessageList/UnreadMessagesNotification.js +12 -0
- package/dist/components/MessageList/UnreadMessagesSeparator.d.ts +6 -0
- package/dist/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -0
- package/dist/components/MessageList/UnreadMessagesSeparator.js +10 -0
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +12 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +51 -30
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +5 -3
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +27 -6
- package/dist/components/MessageList/hooks/MessageList/index.d.ts +1 -0
- package/dist/components/MessageList/hooks/MessageList/index.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/index.js +1 -0
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +3 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +5 -8
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.js +22 -31
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.js +1 -0
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.js +1 -0
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +7 -0
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts.map +1 -0
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js +42 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/index.d.ts +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/index.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/index.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +22 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts.map +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +29 -0
- package/dist/components/MessageList/hooks/useMarkRead.d.ts +19 -0
- package/dist/components/MessageList/hooks/useMarkRead.d.ts.map +1 -0
- package/dist/components/MessageList/hooks/useMarkRead.js +38 -0
- package/dist/components/MessageList/icons.d.ts +1 -0
- package/dist/components/MessageList/icons.d.ts.map +1 -1
- package/dist/components/MessageList/icons.js +2 -0
- package/dist/components/MessageList/index.d.ts +3 -0
- package/dist/components/MessageList/index.d.ts.map +1 -1
- package/dist/components/MessageList/index.js +3 -0
- package/dist/components/MessageList/renderMessages.d.ts +33 -0
- package/dist/components/MessageList/renderMessages.d.ts.map +1 -0
- package/dist/components/MessageList/renderMessages.js +35 -0
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/MessageList/utils.js +1 -1
- package/dist/components/Reactions/ReactionsList.d.ts +2 -1
- package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionsList.js +32 -41
- package/dist/components/Reactions/ReactionsListModal.d.ts +13 -0
- package/dist/components/Reactions/ReactionsListModal.d.ts.map +1 -0
- package/dist/components/Reactions/ReactionsListModal.js +46 -0
- package/dist/components/Reactions/SimpleReactionsList.d.ts +2 -4
- package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/SimpleReactionsList.js +7 -24
- package/dist/components/Reactions/hooks/useFetchReactions.d.ts +12 -0
- package/dist/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -0
- package/dist/components/Reactions/hooks/useFetchReactions.js +50 -0
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts +3 -13
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
- package/dist/components/Reactions/hooks/useProcessReactions.js +51 -43
- package/dist/components/Reactions/types.d.ts +9 -0
- package/dist/components/Reactions/types.d.ts.map +1 -0
- package/dist/components/Reactions/types.js +1 -0
- package/dist/components/Thread/Thread.js +1 -0
- package/dist/context/ChannelActionContext.d.ts +2 -0
- package/dist/context/ChannelActionContext.d.ts.map +1 -1
- package/dist/context/ComponentContext.d.ts +6 -2
- package/dist/context/ComponentContext.d.ts.map +1 -1
- package/dist/context/MessageContext.d.ts +8 -2
- package/dist/context/MessageContext.d.ts.map +1 -1
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/i18n/Streami18n.d.ts +10 -0
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/de.json +10 -0
- package/dist/i18n/en.json +10 -0
- package/dist/i18n/es.json +12 -0
- package/dist/i18n/fr.json +12 -0
- package/dist/i18n/hi.json +11 -0
- package/dist/i18n/it.json +12 -0
- package/dist/i18n/ja.json +8 -0
- package/dist/i18n/ko.json +8 -0
- package/dist/i18n/nl.json +10 -0
- package/dist/i18n/pt.json +12 -0
- package/dist/i18n/ru.json +14 -0
- package/dist/i18n/tr.json +10 -0
- package/dist/{icons-b84cd102.js → icons-7ead3d97.js} +12 -12
- package/dist/index.cjs.js +4911 -4265
- package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +1 -0
- package/dist/scss/v2/Message/Message-layout.scss +68 -10
- package/dist/scss/v2/Message/Message-theme.scss +34 -2
- package/dist/scss/v2/MessageActionsBox/MessageActionsBox-layout.scss +0 -11
- package/dist/scss/v2/MessageBounceOptions/MessageBounceOptions-layout.scss +18 -0
- package/dist/scss/v2/MessageBounceOptions/MessageBounceOptions-theme.scss +51 -0
- package/dist/scss/v2/MessageReactions/MessageReactions-layout.scss +74 -0
- package/dist/scss/v2/MessageReactions/MessageReactions-theme.scss +17 -0
- package/dist/scss/v2/_base.scss +3 -20
- package/dist/scss/v2/_global-theme-variables.scss +3 -0
- package/dist/scss/v2/index.layout.scss +1 -0
- package/dist/scss/v2/index.scss +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -3
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { __assign, __rest } from "tslib";
|
|
2
|
-
import React, { useCallback, useRef } from 'react';
|
|
3
|
-
import { useActionHandler, useDeleteHandler, useEditHandler, useFlagHandler, useMentionsHandler, useMuteHandler, useOpenThreadHandler, usePinHandler, useReactionClick, useReactionHandler, useRetryHandler, useUserHandler, useUserRole, } from './hooks';
|
|
2
|
+
import React, { useCallback, useMemo, useRef } from 'react';
|
|
3
|
+
import { useActionHandler, useDeleteHandler, useEditHandler, useFlagHandler, useMarkUnreadHandler, useMentionsHandler, useMuteHandler, useOpenThreadHandler, usePinHandler, useReactionClick, useReactionHandler, useReactionsFetcher, useRetryHandler, useUserHandler, useUserRole, } from './hooks';
|
|
4
4
|
import { areMessagePropsEqual, getMessageActions, MESSAGE_ACTIONS } from './utils';
|
|
5
|
-
import { MessageProvider, useChannelActionContext, useChannelStateContext, useComponentContext, } from '../../context';
|
|
5
|
+
import { MessageProvider, useChannelActionContext, useChannelStateContext, useChatContext, useComponentContext, } from '../../context';
|
|
6
6
|
var MessageWithContext = function (props) {
|
|
7
7
|
var canPin = props.canPin, groupedByUser = props.groupedByUser, propMessage = props.Message, message = props.message, _a = props.messageActions, messageActions = _a === void 0 ? Object.keys(MESSAGE_ACTIONS) : _a, propOnUserClick = props.onUserClick, propOnUserHover = props.onUserHover, userRoles = props.userRoles;
|
|
8
|
+
var client = useChatContext('Message').client;
|
|
9
|
+
var read = useChannelStateContext('Message').read;
|
|
8
10
|
var contextMessage = useComponentContext('Message').Message;
|
|
9
11
|
var actionsEnabled = message.type === 'regular' && message.status === 'received';
|
|
10
12
|
var MessageUIComponent = propMessage || contextMessage;
|
|
@@ -13,19 +15,40 @@ var MessageWithContext = function (props) {
|
|
|
13
15
|
onUserClickHandler: propOnUserClick,
|
|
14
16
|
onUserHoverHandler: propOnUserHover,
|
|
15
17
|
}), onUserClick = _c.onUserClick, onUserHover = _c.onUserHover;
|
|
16
|
-
var canDelete = userRoles.canDelete, canEdit = userRoles.canEdit, canFlag = userRoles.canFlag, canMute = userRoles.canMute, canQuote = userRoles.canQuote, canReact = userRoles.canReact, canReply = userRoles.canReply, isMyMessage = userRoles.isMyMessage;
|
|
18
|
+
var canDelete = userRoles.canDelete, canEdit = userRoles.canEdit, canFlag = userRoles.canFlag, canMarkUnread = userRoles.canMarkUnread, canMute = userRoles.canMute, canQuote = userRoles.canQuote, canReact = userRoles.canReact, canReply = userRoles.canReply, isMyMessage = userRoles.isMyMessage;
|
|
19
|
+
var messageIsUnread = useMemo(function () {
|
|
20
|
+
var _a;
|
|
21
|
+
return !!(!isMyMessage &&
|
|
22
|
+
((_a = client.user) === null || _a === void 0 ? void 0 : _a.id) &&
|
|
23
|
+
read &&
|
|
24
|
+
(!read[client.user.id] ||
|
|
25
|
+
((message === null || message === void 0 ? void 0 : message.created_at) &&
|
|
26
|
+
new Date(message.created_at).getTime() > read[client.user.id].last_read.getTime())));
|
|
27
|
+
}, [client, isMyMessage, message.created_at, read]);
|
|
17
28
|
var messageActionsHandler = useCallback(function () {
|
|
18
29
|
return getMessageActions(messageActions, {
|
|
19
30
|
canDelete: canDelete,
|
|
20
31
|
canEdit: canEdit,
|
|
21
32
|
canFlag: canFlag,
|
|
33
|
+
canMarkUnread: canMarkUnread,
|
|
22
34
|
canMute: canMute,
|
|
23
35
|
canPin: canPin,
|
|
24
36
|
canQuote: canQuote,
|
|
25
37
|
canReact: canReact,
|
|
26
38
|
canReply: canReply,
|
|
27
39
|
});
|
|
28
|
-
}, [
|
|
40
|
+
}, [
|
|
41
|
+
messageActions,
|
|
42
|
+
canDelete,
|
|
43
|
+
canEdit,
|
|
44
|
+
canFlag,
|
|
45
|
+
canMarkUnread,
|
|
46
|
+
canMute,
|
|
47
|
+
canPin,
|
|
48
|
+
canQuote,
|
|
49
|
+
canReact,
|
|
50
|
+
canReply,
|
|
51
|
+
]);
|
|
29
52
|
var canPinPropToNotPass = props.canPin, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
30
53
|
messageActionsPropToNotPass = props.messageActions, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
31
54
|
onlySenderCanEditPropToNotPass = props.onlySenderCanEdit, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
@@ -33,7 +56,7 @@ var MessageWithContext = function (props) {
|
|
|
33
56
|
onUserHoverPropToNotPass = props.onUserHover, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
34
57
|
userRolesPropToNotPass = props.userRoles, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
35
58
|
rest = __rest(props, ["canPin", "messageActions", "onlySenderCanEdit", "onUserClick", "onUserHover", "userRoles"]);
|
|
36
|
-
var messageContextValue = __assign(__assign({}, rest), { actionsEnabled: actionsEnabled, clearEditingState: clearEdit, editing: editing, getMessageActions: messageActionsHandler, handleEdit: setEdit, isMyMessage: function () { return isMyMessage; }, onUserClick: onUserClick, onUserHover: onUserHover, setEditingState: setEdit });
|
|
59
|
+
var messageContextValue = __assign(__assign({}, rest), { actionsEnabled: actionsEnabled, clearEditingState: clearEdit, editing: editing, getMessageActions: messageActionsHandler, handleEdit: setEdit, isMyMessage: function () { return isMyMessage; }, messageIsUnread: messageIsUnread, onUserClick: onUserClick, onUserHover: onUserHover, setEditingState: setEdit });
|
|
37
60
|
return (React.createElement(MessageProvider, { value: messageContextValue },
|
|
38
61
|
React.createElement(MessageUIComponent, { groupedByUser: groupedByUser })));
|
|
39
62
|
};
|
|
@@ -43,7 +66,7 @@ var MemoizedMessage = React.memo(MessageWithContext, areMessagePropsEqual);
|
|
|
43
66
|
* an individual message. The actual UI of the message is delegated via the Message prop on Channel.
|
|
44
67
|
*/
|
|
45
68
|
export var Message = function (props) {
|
|
46
|
-
var closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, disableQuotedMessages = props.disableQuotedMessages, getDeleteMessageErrorNotification = props.getDeleteMessageErrorNotification, getFlagMessageErrorNotification = props.getFlagMessageErrorNotification, getFlagMessageSuccessNotification = props.getFlagMessageSuccessNotification, getMuteUserErrorNotification = props.getMuteUserErrorNotification, getMuteUserSuccessNotification = props.getMuteUserSuccessNotification, getPinMessageErrorNotification = props.getPinMessageErrorNotification, message = props.message, _a = props.onlySenderCanEdit, onlySenderCanEdit = _a === void 0 ? false : _a, propOnMentionsClick = props.onMentionsClick, propOnMentionsHover = props.onMentionsHover, propOpenThread = props.openThread, pinPermissions = props.pinPermissions, propRetrySendMessage = props.retrySendMessage;
|
|
69
|
+
var closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, disableQuotedMessages = props.disableQuotedMessages, getDeleteMessageErrorNotification = props.getDeleteMessageErrorNotification, getFetchReactionsErrorNotification = props.getFetchReactionsErrorNotification, getFlagMessageErrorNotification = props.getFlagMessageErrorNotification, getFlagMessageSuccessNotification = props.getFlagMessageSuccessNotification, getMarkMessageUnreadErrorNotification = props.getMarkMessageUnreadErrorNotification, getMarkMessageUnreadSuccessNotification = props.getMarkMessageUnreadSuccessNotification, getMuteUserErrorNotification = props.getMuteUserErrorNotification, getMuteUserSuccessNotification = props.getMuteUserSuccessNotification, getPinMessageErrorNotification = props.getPinMessageErrorNotification, message = props.message, _a = props.onlySenderCanEdit, onlySenderCanEdit = _a === void 0 ? false : _a, propOnMentionsClick = props.onMentionsClick, propOnMentionsHover = props.onMentionsHover, propOpenThread = props.openThread, pinPermissions = props.pinPermissions, propRetrySendMessage = props.retrySendMessage;
|
|
47
70
|
var addNotification = useChannelActionContext('Message').addNotification;
|
|
48
71
|
var _b = useChannelStateContext('Message'), highlightedMessageId = _b.highlightedMessageId, mutes = _b.mutes;
|
|
49
72
|
var reactionSelectorRef = useRef(null);
|
|
@@ -52,6 +75,10 @@ export var Message = function (props) {
|
|
|
52
75
|
var handleReaction = useReactionHandler(message);
|
|
53
76
|
var handleRetry = useRetryHandler(propRetrySendMessage);
|
|
54
77
|
var userRoles = useUserRole(message, onlySenderCanEdit, disableQuotedMessages);
|
|
78
|
+
var handleFetchReactions = useReactionsFetcher(message, {
|
|
79
|
+
getErrorNotification: getFetchReactionsErrorNotification,
|
|
80
|
+
notify: addNotification,
|
|
81
|
+
});
|
|
55
82
|
var handleDelete = useDeleteHandler(message, {
|
|
56
83
|
getErrorNotification: getDeleteMessageErrorNotification,
|
|
57
84
|
notify: addNotification,
|
|
@@ -61,6 +88,11 @@ export var Message = function (props) {
|
|
|
61
88
|
getSuccessNotification: getFlagMessageSuccessNotification,
|
|
62
89
|
notify: addNotification,
|
|
63
90
|
});
|
|
91
|
+
var handleMarkUnread = useMarkUnreadHandler(message, {
|
|
92
|
+
getErrorNotification: getMarkMessageUnreadErrorNotification,
|
|
93
|
+
getSuccessNotification: getMarkMessageUnreadSuccessNotification,
|
|
94
|
+
notify: addNotification,
|
|
95
|
+
});
|
|
64
96
|
var handleMute = useMuteHandler(message, {
|
|
65
97
|
getErrorNotification: getMuteUserErrorNotification,
|
|
66
98
|
getSuccessNotification: getMuteUserSuccessNotification,
|
|
@@ -76,5 +108,5 @@ export var Message = function (props) {
|
|
|
76
108
|
}), canPin = _d.canPin, handlePin = _d.handlePin;
|
|
77
109
|
var _e = useReactionClick(message, reactionSelectorRef, undefined, closeReactionSelectorOnClick), isReactionEnabled = _e.isReactionEnabled, onReactionListClick = _e.onReactionListClick, showDetailedReactions = _e.showDetailedReactions;
|
|
78
110
|
var highlighted = highlightedMessageId === message.id;
|
|
79
|
-
return (React.createElement(MemoizedMessage, { additionalMessageInputProps: props.additionalMessageInputProps, autoscrollToBottom: props.autoscrollToBottom, canPin: canPin, customMessageActions: props.customMessageActions, disableQuotedMessages: props.disableQuotedMessages, endOfGroup: props.endOfGroup, firstOfGroup: props.firstOfGroup, formatDate: props.formatDate, groupedByUser: props.groupedByUser, groupStyles: props.groupStyles, handleAction: handleAction, handleDelete: handleDelete, handleFlag: handleFlag, handleMute: handleMute, handleOpenThread: handleOpenThread, handlePin: handlePin, handleReaction: handleReaction, handleRetry: handleRetry, highlighted: highlighted, initialMessage: props.initialMessage, isReactionEnabled: isReactionEnabled, lastReceivedId: props.lastReceivedId, message: message, Message: props.Message, messageActions: props.messageActions, messageListRect: props.messageListRect, mutes: mutes, onMentionsClickMessage: onMentionsClick, onMentionsHoverMessage: onMentionsHover, onReactionListClick: onReactionListClick, onUserClick: props.onUserClick, onUserHover: props.onUserHover, pinPermissions: props.pinPermissions, reactionSelectorRef: reactionSelectorRef, readBy: props.readBy, renderText: props.renderText, showDetailedReactions: showDetailedReactions, threadList: props.threadList, unsafeHTML: props.unsafeHTML, userRoles: userRoles }));
|
|
111
|
+
return (React.createElement(MemoizedMessage, { additionalMessageInputProps: props.additionalMessageInputProps, autoscrollToBottom: props.autoscrollToBottom, canPin: canPin, customMessageActions: props.customMessageActions, disableQuotedMessages: props.disableQuotedMessages, endOfGroup: props.endOfGroup, firstOfGroup: props.firstOfGroup, formatDate: props.formatDate, groupedByUser: props.groupedByUser, groupStyles: props.groupStyles, handleAction: handleAction, handleDelete: handleDelete, handleFetchReactions: handleFetchReactions, handleFlag: handleFlag, handleMarkUnread: handleMarkUnread, handleMute: handleMute, handleOpenThread: handleOpenThread, handlePin: handlePin, handleReaction: handleReaction, handleRetry: handleRetry, highlighted: highlighted, initialMessage: props.initialMessage, isReactionEnabled: isReactionEnabled, lastReceivedId: props.lastReceivedId, message: message, Message: props.Message, messageActions: props.messageActions, messageListRect: props.messageListRect, mutes: mutes, onMentionsClickMessage: onMentionsClick, onMentionsHoverMessage: onMentionsHover, onReactionListClick: onReactionListClick, onUserClick: props.onUserClick, onUserHover: props.onUserHover, pinPermissions: props.pinPermissions, reactionSelectorRef: reactionSelectorRef, readBy: props.readBy, renderText: props.renderText, showDetailedReactions: showDetailedReactions, threadList: props.threadList, unsafeHTML: props.unsafeHTML, userRoles: userRoles }));
|
|
80
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageText.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageText.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IAEF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAE5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageText.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageText.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IAEF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAE5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;AA2FhE,eAAO,MAAM,WAAW,uJAEkB,CAAC"}
|
|
@@ -13,6 +13,7 @@ var UnMemoizedMessageTextComponent = function (props) {
|
|
|
13
13
|
var message = propMessage || contextMessage;
|
|
14
14
|
var hasAttachment = messageHasAttachments(message);
|
|
15
15
|
var messageTextToRender = ((_b = message.i18n) === null || _b === void 0 ? void 0 : _b["".concat(userLanguage, "_text")]) || message.text;
|
|
16
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16
17
|
var messageText = useMemo(function () { return renderText(messageTextToRender, message.mentioned_users); }, [
|
|
17
18
|
message.mentioned_users,
|
|
18
19
|
messageTextToRender,
|
|
@@ -3,6 +3,7 @@ export * from './useDeleteHandler';
|
|
|
3
3
|
export * from './useEditHandler';
|
|
4
4
|
export * from './useFlagHandler';
|
|
5
5
|
export * from './useMentionsHandler';
|
|
6
|
+
export * from './useMarkUnreadHandler';
|
|
6
7
|
export * from './useMuteHandler';
|
|
7
8
|
export * from './useOpenThreadHandler';
|
|
8
9
|
export * from './usePinHandler';
|
|
@@ -10,4 +11,5 @@ export * from './useReactionHandler';
|
|
|
10
11
|
export * from './useRetryHandler';
|
|
11
12
|
export * from './useUserHandler';
|
|
12
13
|
export * from './useUserRole';
|
|
14
|
+
export * from './useReactionsFetcher';
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
|
@@ -3,6 +3,7 @@ export * from './useDeleteHandler';
|
|
|
3
3
|
export * from './useEditHandler';
|
|
4
4
|
export * from './useFlagHandler';
|
|
5
5
|
export * from './useMentionsHandler';
|
|
6
|
+
export * from './useMarkUnreadHandler';
|
|
6
7
|
export * from './useMuteHandler';
|
|
7
8
|
export * from './useOpenThreadHandler';
|
|
8
9
|
export * from './usePinHandler';
|
|
@@ -10,3 +11,4 @@ export * from './useReactionHandler';
|
|
|
10
11
|
export * from './useRetryHandler';
|
|
11
12
|
export * from './useUserHandler';
|
|
12
13
|
export * from './useUserRole';
|
|
14
|
+
export * from './useReactionsFetcher';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StreamMessage } from '../../../context';
|
|
2
|
+
import type { ReactEventHandler } from '../types';
|
|
3
|
+
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
4
|
+
export type MarkUnreadHandlerNotifications<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
5
|
+
getErrorNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
6
|
+
getSuccessNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
7
|
+
notify?: (notificationText: string, type: 'success' | 'error') => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const useMarkUnreadHandler: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(message?: StreamMessage<StreamChatGenerics> | undefined, notifications?: MarkUnreadHandlerNotifications<StreamChatGenerics>) => ReactEventHandler;
|
|
10
|
+
//# sourceMappingURL=useMarkUnreadHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMarkUnreadHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useMarkUnreadHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,8BAA8B,CACxC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IAC9E,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IAChF,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC;CACxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,qNAK9B,iBAiCF,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { validateAndGetMessage } from '../utils';
|
|
3
|
+
import { useChannelStateContext, useTranslationContext } from '../../../context';
|
|
4
|
+
export var useMarkUnreadHandler = function (message, notifications) {
|
|
5
|
+
if (notifications === void 0) { notifications = {}; }
|
|
6
|
+
var getErrorNotification = notifications.getErrorNotification, getSuccessNotification = notifications.getSuccessNotification, notify = notifications.notify;
|
|
7
|
+
var channel = useChannelStateContext('useMarkUnreadHandler').channel;
|
|
8
|
+
var t = useTranslationContext('useMarkUnreadHandler').t;
|
|
9
|
+
return function (event) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10
|
+
var successMessage, e_1, errorMessage;
|
|
11
|
+
return __generator(this, function (_a) {
|
|
12
|
+
switch (_a.label) {
|
|
13
|
+
case 0:
|
|
14
|
+
event.preventDefault();
|
|
15
|
+
if (!(message === null || message === void 0 ? void 0 : message.id)) {
|
|
16
|
+
console.warn('Mark unread handler does not have access to message id');
|
|
17
|
+
return [2 /*return*/];
|
|
18
|
+
}
|
|
19
|
+
_a.label = 1;
|
|
20
|
+
case 1:
|
|
21
|
+
_a.trys.push([1, 3, , 4]);
|
|
22
|
+
return [4 /*yield*/, channel.markUnread({ message_id: message.id })];
|
|
23
|
+
case 2:
|
|
24
|
+
_a.sent();
|
|
25
|
+
if (!notify)
|
|
26
|
+
return [2 /*return*/];
|
|
27
|
+
successMessage = getSuccessNotification && validateAndGetMessage(getSuccessNotification, [message]);
|
|
28
|
+
if (successMessage)
|
|
29
|
+
notify(successMessage, 'success');
|
|
30
|
+
return [3 /*break*/, 4];
|
|
31
|
+
case 3:
|
|
32
|
+
e_1 = _a.sent();
|
|
33
|
+
if (!notify)
|
|
34
|
+
return [2 /*return*/];
|
|
35
|
+
errorMessage = getErrorNotification && validateAndGetMessage(getErrorNotification, [message]);
|
|
36
|
+
if (getErrorNotification && !errorMessage)
|
|
37
|
+
return [2 /*return*/];
|
|
38
|
+
notify(errorMessage ||
|
|
39
|
+
t('Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.'), 'error');
|
|
40
|
+
return [3 /*break*/, 4];
|
|
41
|
+
case 4: return [2 /*return*/];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}); };
|
|
45
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactionHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,sBAAsB,4MACsF,CAAC;AAE1H,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useReactionHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,sBAAsB,4MACsF,CAAC;AAE1H,eAAO,MAAM,kBAAkB,gKAiFD,MAAM,UAAU,MAAM,kBAAkB,kBAmCrE,CAAC;AAEF,eAAO,MAAM,gBAAgB,oKAIL,UAAU,cAAc,GAAG,IAAI,CAAC,sBAClC,UAAU,cAAc,GAAG,IAAI,CAAC,iCACrB,OAAO;;;;CAyFvC,CAAC"}
|
|
@@ -30,7 +30,9 @@ export var useReactionHandler = function (message) {
|
|
|
30
30
|
var newOwnReactions = add
|
|
31
31
|
? __spreadArray([reaction], ((message === null || message === void 0 ? void 0 : message.own_reactions) || []), true) : (_b = message === null || message === void 0 ? void 0 : message.own_reactions) === null || _b === void 0 ? void 0 : _b.filter(function (item) { return item.type !== reaction.type; });
|
|
32
32
|
return __assign(__assign({}, message), { latest_reactions: newReactions || message.latest_reactions, own_reactions: newOwnReactions, reaction_counts: newReactionCounts, reaction_scores: newReactionCounts });
|
|
33
|
-
},
|
|
33
|
+
},
|
|
34
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
35
|
+
[client.user, client.userID]);
|
|
34
36
|
var createReactionPreview = function (type) {
|
|
35
37
|
var _a;
|
|
36
38
|
return ({
|
|
@@ -136,7 +138,9 @@ export var useReactionClick = function (message, reactionSelectorRef, messageWra
|
|
|
136
138
|
return;
|
|
137
139
|
}
|
|
138
140
|
setShowDetailedReactions(false);
|
|
139
|
-
},
|
|
141
|
+
},
|
|
142
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
143
|
+
[setShowDetailedReactions, reactionSelectorRef]);
|
|
140
144
|
useEffect(function () {
|
|
141
145
|
var messageWrapper = messageWrapperRef === null || messageWrapperRef === void 0 ? void 0 : messageWrapperRef.current;
|
|
142
146
|
if (showDetailedReactions && !hasListener.current) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StreamMessage } from '../../../context';
|
|
2
|
+
import { DefaultStreamChatGenerics } from '../../../types/types';
|
|
3
|
+
import { ReactionResponse } from 'stream-chat';
|
|
4
|
+
export declare const MAX_MESSAGE_REACTIONS_TO_FETCH = 1200;
|
|
5
|
+
type FetchMessageReactionsNotifications<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
6
|
+
getErrorNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
7
|
+
notify?: (notificationText: string, type: 'success' | 'error') => void;
|
|
8
|
+
};
|
|
9
|
+
export declare function useReactionsFetcher<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(message: StreamMessage<StreamChatGenerics>, notifications?: FetchMessageReactionsNotifications<StreamChatGenerics>): () => Promise<ReactionResponse<StreamChatGenerics>[]>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=useReactionsFetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReactionsFetcher.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionsFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiD,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAW,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD,KAAK,kCAAkC,CACrC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IAC9E,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC;CACxE,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAEhF,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,aAAa,GAAE,kCAAkC,CAAC,kBAAkB,CAAM,yDAe3E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { useChannelStateContext, useTranslationContext } from '../../../context';
|
|
3
|
+
export var MAX_MESSAGE_REACTIONS_TO_FETCH = 1200;
|
|
4
|
+
export function useReactionsFetcher(message, notifications) {
|
|
5
|
+
var _this = this;
|
|
6
|
+
if (notifications === void 0) { notifications = {}; }
|
|
7
|
+
var channel = useChannelStateContext('useReactionFetcher').channel;
|
|
8
|
+
var t = useTranslationContext('useReactionFetcher').t;
|
|
9
|
+
var getErrorNotification = notifications.getErrorNotification, notify = notifications.notify;
|
|
10
|
+
return function () { return __awaiter(_this, void 0, void 0, function () {
|
|
11
|
+
var e_1, errorMessage;
|
|
12
|
+
return __generator(this, function (_a) {
|
|
13
|
+
switch (_a.label) {
|
|
14
|
+
case 0:
|
|
15
|
+
_a.trys.push([0, 2, , 3]);
|
|
16
|
+
return [4 /*yield*/, fetchMessageReactions(channel, message.id)];
|
|
17
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
18
|
+
case 2:
|
|
19
|
+
e_1 = _a.sent();
|
|
20
|
+
errorMessage = getErrorNotification === null || getErrorNotification === void 0 ? void 0 : getErrorNotification(message);
|
|
21
|
+
notify === null || notify === void 0 ? void 0 : notify(errorMessage || t('Error fetching reactions'), 'error');
|
|
22
|
+
throw e_1;
|
|
23
|
+
case 3: return [2 /*return*/];
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}); };
|
|
27
|
+
}
|
|
28
|
+
function fetchMessageReactions(channel, messageId) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
30
|
+
var reactions, limit, offset, reactionsLimit, lastPageSize, response;
|
|
31
|
+
return __generator(this, function (_a) {
|
|
32
|
+
switch (_a.label) {
|
|
33
|
+
case 0:
|
|
34
|
+
reactions = [];
|
|
35
|
+
limit = 300;
|
|
36
|
+
offset = 0;
|
|
37
|
+
reactionsLimit = MAX_MESSAGE_REACTIONS_TO_FETCH;
|
|
38
|
+
lastPageSize = limit;
|
|
39
|
+
_a.label = 1;
|
|
40
|
+
case 1:
|
|
41
|
+
if (!(lastPageSize === limit && reactions.length < reactionsLimit)) return [3 /*break*/, 3];
|
|
42
|
+
return [4 /*yield*/, channel.getReactions(messageId, {
|
|
43
|
+
limit: limit,
|
|
44
|
+
offset: offset,
|
|
45
|
+
})];
|
|
46
|
+
case 2:
|
|
47
|
+
response = _a.sent();
|
|
48
|
+
lastPageSize = response.reactions.length;
|
|
49
|
+
if (lastPageSize > 0) {
|
|
50
|
+
reactions.push.apply(reactions, response.reactions);
|
|
51
|
+
}
|
|
52
|
+
offset += lastPageSize;
|
|
53
|
+
return [3 /*break*/, 1];
|
|
54
|
+
case 3: return [2 /*return*/, reactions];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserRole.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useUserRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,WAAW,qJAIF,OAAO,0BACH,OAAO
|
|
1
|
+
{"version":3,"file":"useUserRole.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useUserRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,WAAW,qJAIF,OAAO,0BACH,OAAO;;;;;;;;;;;;;CA6DhC,CAAC"}
|
|
@@ -29,6 +29,7 @@ export var useUserRole = function (message, onlySenderCanEdit, disableQuotedMess
|
|
|
29
29
|
var canDelete = channelCapabilities['delete-any-message'] ||
|
|
30
30
|
(isMyMessage && channelCapabilities['delete-own-message']);
|
|
31
31
|
var canFlag = !isMyMessage && channelCapabilities['flag-message'];
|
|
32
|
+
var canMarkUnread = channelCapabilities['read-events'];
|
|
32
33
|
var canMute = !isMyMessage && channelCapabilities['mute-channel'];
|
|
33
34
|
var canQuote = !disableQuotedMessages && channelCapabilities['quote-message'];
|
|
34
35
|
var canReact = channelCapabilities['send-reaction'];
|
|
@@ -37,6 +38,7 @@ export var useUserRole = function (message, onlySenderCanEdit, disableQuotedMess
|
|
|
37
38
|
canDelete: canDelete,
|
|
38
39
|
canEdit: canEdit,
|
|
39
40
|
canFlag: canFlag,
|
|
41
|
+
canMarkUnread: canMarkUnread,
|
|
40
42
|
canMute: canMute,
|
|
41
43
|
canQuote: canQuote,
|
|
42
44
|
canReact: canReact,
|
|
@@ -33,10 +33,16 @@ export type MessageProps<StreamChatGenerics extends DefaultStreamChatGenerics =
|
|
|
33
33
|
formatDate?: (date: Date) => string;
|
|
34
34
|
/** Function that returns the notification text to be displayed when a delete message request fails */
|
|
35
35
|
getDeleteMessageErrorNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
36
|
+
/** Function that returns the notification text to be displayed when loading message reactions fails */
|
|
37
|
+
getFetchReactionsErrorNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
36
38
|
/** Function that returns the notification text to be displayed when a flag message request fails */
|
|
37
39
|
getFlagMessageErrorNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
38
40
|
/** Function that returns the notification text to be displayed when a flag message request succeeds */
|
|
39
41
|
getFlagMessageSuccessNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
42
|
+
/** Function that returns the notification text to be displayed when mark channel messages unread request fails */
|
|
43
|
+
getMarkMessageUnreadErrorNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
44
|
+
/** Function that returns the notification text to be displayed when mark channel messages unread request succeeds */
|
|
45
|
+
getMarkMessageUnreadSuccessNotification?: (message: StreamMessage<StreamChatGenerics>) => string;
|
|
40
46
|
/** Function that returns the notification text to be displayed when a mute user request fails */
|
|
41
47
|
getMuteUserErrorNotification?: (user: UserResponse<StreamChatGenerics>) => string;
|
|
42
48
|
/** Function that returns the notification text to be displayed when a mute user request succeeds */
|
|
@@ -73,7 +79,7 @@ export type MessageProps<StreamChatGenerics extends DefaultStreamChatGenerics =
|
|
|
73
79
|
openThread?: ChannelActionContextValue<StreamChatGenerics>['openThread'];
|
|
74
80
|
/** @deprecated in favor of `channelCapabilities - The user roles allowed to pin messages in various channel types */
|
|
75
81
|
pinPermissions?: PinPermissions;
|
|
76
|
-
/** A list of users that have read this Message */
|
|
82
|
+
/** A list of users that have read this Message if the message is the last one and was posted by my user */
|
|
77
83
|
readBy?: UserResponse<StreamChatGenerics>[];
|
|
78
84
|
/** Custom function to render message text content, defaults to the renderText function: [utils](https://github.com/GetStream/stream-chat-react/blob/master/src/utils.ts) */
|
|
79
85
|
renderText?: (text?: string, mentioned_users?: UserResponse<StreamChatGenerics>[], options?: RenderTextOptions) => JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Message/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1F,MAAM,MAAM,YAAY,CACtB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,CAAC,SAAS,aAAa,GAAG,aAAa,IACrC;IACF,yBAAyB;IACzB,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC3C,wKAAwK;IACxK,2BAA2B,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACvE,kMAAkM;IAClM,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,gGAAgG;IAChG,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACvF,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4HAA4H;IAC5H,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6HAA6H;IAC7H,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qIAAqI;IACrI,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACpC,sGAAsG;IACtG,iCAAiC,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IAC3F,oGAAoG;IACpG,+BAA+B,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IACzF,uGAAuG;IACvG,iCAAiC,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IAC3F,iGAAiG;IACjG,4BAA4B,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IAClF,oGAAoG;IACpG,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IACpF,mGAAmG;IACnG,8BAA8B,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;IACxF,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4KAA4K;IAC5K,OAAO,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,mKAAmK;IACnK,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4JAA4J;IAC5J,eAAe,CAAC,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACnF,4JAA4J;IAC5J,eAAe,CAAC,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACnF,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACnD,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACnD,0JAA0J;IAC1J,UAAU,CAAC,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC;IACzE,qHAAqH;IACrH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Message/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export declare const MESSAGE_ACTIONS: {
|
|
|
17
17
|
delete: string;
|
|
18
18
|
edit: string;
|
|
19
19
|
flag: string;
|
|
20
|
+
markUnread: string;
|
|
20
21
|
mute: string;
|
|
21
22
|
pin: string;
|
|
22
23
|
quote: string;
|
|
@@ -29,13 +30,15 @@ export type Capabilities = {
|
|
|
29
30
|
canDelete?: boolean;
|
|
30
31
|
canEdit?: boolean;
|
|
31
32
|
canFlag?: boolean;
|
|
33
|
+
canMarkUnread?: boolean;
|
|
32
34
|
canMute?: boolean;
|
|
33
35
|
canPin?: boolean;
|
|
34
36
|
canQuote?: boolean;
|
|
35
37
|
canReact?: boolean;
|
|
36
38
|
canReply?: boolean;
|
|
37
39
|
};
|
|
38
|
-
export declare const getMessageActions: (actions: MessageActionsArray | boolean, { canDelete, canEdit, canFlag, canMute, canPin, canQuote, canReact, canReply }: Capabilities) => MessageActionsArray<string>;
|
|
40
|
+
export declare const getMessageActions: (actions: MessageActionsArray | boolean, { canDelete, canEdit, canFlag, canMarkUnread, canMute, canPin, canQuote, canReact, canReply, }: Capabilities) => MessageActionsArray<string>;
|
|
41
|
+
export declare const ACTIONS_NOT_WORKING_IN_THREAD: string[];
|
|
39
42
|
export declare const showMessageActionsBox: (actions: MessageActionsArray<string>, inThread?: boolean | undefined) => boolean;
|
|
40
43
|
export declare const areMessagePropsEqual: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(prevProps: MessageProps<StreamChatGenerics, import("../../types/types").CustomTrigger> & {
|
|
41
44
|
mutes?: Mute<StreamChatGenerics>[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2LAUvB,CAAC;AAEF,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2LAUvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAChE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAC9E,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,cAwDnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,mBAAmB,GAAG,OAAO,kGAWnC,YAAY,gCAmDhB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAKzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oDAErB,OAAO,GAAG,SAAS,YAsB/B,CAAC;AAmBF,eAAO,MAAM,oBAAoB;;;;;;aAsChC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aA+BlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wJAI6C,CAAC;AAE9E,eAAO,MAAM,qBAAqB,wJAIyB,CAAC;AAE5D,eAAO,MAAM,SAAS,yMASrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,yMASlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,CAAC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAC/E,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,GACrC,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBAAsD,CAAC;AAEvF,eAAO,MAAM,oBAAoB,mIAI5B,SAAS,iEAEW,qBAAqB,WAiD7C,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,YAOzC,CAAC"}
|
|
@@ -32,6 +32,7 @@ export var MESSAGE_ACTIONS = {
|
|
|
32
32
|
delete: 'delete',
|
|
33
33
|
edit: 'edit',
|
|
34
34
|
flag: 'flag',
|
|
35
|
+
markUnread: 'markUnread',
|
|
35
36
|
mute: 'mute',
|
|
36
37
|
pin: 'pin',
|
|
37
38
|
quote: 'quote',
|
|
@@ -97,7 +98,7 @@ export var defaultPinPermissions = {
|
|
|
97
98
|
},
|
|
98
99
|
};
|
|
99
100
|
export var getMessageActions = function (actions, _a) {
|
|
100
|
-
var canDelete = _a.canDelete, canEdit = _a.canEdit, canFlag = _a.canFlag, canMute = _a.canMute, canPin = _a.canPin, canQuote = _a.canQuote, canReact = _a.canReact, canReply = _a.canReply;
|
|
101
|
+
var canDelete = _a.canDelete, canEdit = _a.canEdit, canFlag = _a.canFlag, canMarkUnread = _a.canMarkUnread, canMute = _a.canMute, canPin = _a.canPin, canQuote = _a.canQuote, canReact = _a.canReact, canReply = _a.canReply;
|
|
101
102
|
var messageActionsAfterPermission = [];
|
|
102
103
|
var messageActions = [];
|
|
103
104
|
if (actions && typeof actions === 'boolean') {
|
|
@@ -119,6 +120,9 @@ export var getMessageActions = function (actions, _a) {
|
|
|
119
120
|
if (canFlag && messageActions.indexOf(MESSAGE_ACTIONS.flag) > -1) {
|
|
120
121
|
messageActionsAfterPermission.push(MESSAGE_ACTIONS.flag);
|
|
121
122
|
}
|
|
123
|
+
if (canMarkUnread && messageActions.indexOf(MESSAGE_ACTIONS.markUnread) > -1) {
|
|
124
|
+
messageActionsAfterPermission.push(MESSAGE_ACTIONS.markUnread);
|
|
125
|
+
}
|
|
122
126
|
if (canMute && messageActions.indexOf(MESSAGE_ACTIONS.mute) > -1) {
|
|
123
127
|
messageActionsAfterPermission.push(MESSAGE_ACTIONS.mute);
|
|
124
128
|
}
|
|
@@ -136,7 +140,12 @@ export var getMessageActions = function (actions, _a) {
|
|
|
136
140
|
}
|
|
137
141
|
return messageActionsAfterPermission;
|
|
138
142
|
};
|
|
139
|
-
var ACTIONS_NOT_WORKING_IN_THREAD = [
|
|
143
|
+
export var ACTIONS_NOT_WORKING_IN_THREAD = [
|
|
144
|
+
MESSAGE_ACTIONS.pin,
|
|
145
|
+
MESSAGE_ACTIONS.react,
|
|
146
|
+
MESSAGE_ACTIONS.reply,
|
|
147
|
+
MESSAGE_ACTIONS.markUnread,
|
|
148
|
+
];
|
|
140
149
|
export var showMessageActionsBox = function (actions, inThread) {
|
|
141
150
|
if (actions.length === 0) {
|
|
142
151
|
return false;
|
|
@@ -213,7 +222,7 @@ export var areMessageUIPropsEqual = function (prevProps, nextProps) {
|
|
|
213
222
|
}
|
|
214
223
|
return areMessagesEqual(prevMessage, nextMessage);
|
|
215
224
|
};
|
|
216
|
-
export var messageHasReactions = function (message) { return
|
|
225
|
+
export var messageHasReactions = function (message) { var _a; return Object.values((_a = message === null || message === void 0 ? void 0 : message.reaction_counts) !== null && _a !== void 0 ? _a : {}).some(function (count) { return count > 0; }); };
|
|
217
226
|
export var messageHasAttachments = function (message) { return !!(message === null || message === void 0 ? void 0 : message.attachments) && !!message.attachments.length; };
|
|
218
227
|
export var getImages = function (message) {
|
|
219
228
|
if (!(message === null || message === void 0 ? void 0 : message.attachments)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { MessageContextValue } from '../../context/MessageContext';
|
|
3
3
|
import type { DefaultStreamChatGenerics, IconProps } from '../../types/types';
|
|
4
|
-
type MessageContextPropsToPick = 'getMessageActions' | 'handleDelete' | 'handleFlag' | 'handleMute' | 'handlePin' | 'message';
|
|
4
|
+
type MessageContextPropsToPick = 'getMessageActions' | 'handleDelete' | 'handleFlag' | 'handleMarkUnread' | 'handleMute' | 'handlePin' | 'message';
|
|
5
5
|
export type MessageActionsProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Partial<Pick<MessageContextValue<StreamChatGenerics>, MessageContextPropsToPick>> & {
|
|
6
6
|
ActionsIcon?: React.ComponentType<IconProps>;
|
|
7
7
|
customWrapperClass?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageActions.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActions.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageActions.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9E,KAAK,yBAAyB,GAC1B,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,CAAC,GAAG;IAEtF,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,0JA0H1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import React, { useCallback, useEffect, useRef, useState, } from 'react';
|
|
3
3
|
import { MessageActionsBox } from './MessageActionsBox';
|
|
4
4
|
import { ActionsIcon as DefaultActionsIcon } from '../Message/icons';
|
|
5
5
|
import { isUserMuted } from '../Message/utils';
|
|
6
6
|
import { useChatContext } from '../../context/ChatContext';
|
|
7
7
|
import { useMessageContext } from '../../context/MessageContext';
|
|
8
|
+
import { useMessageActionsBoxPopper } from './hooks';
|
|
8
9
|
export var MessageActions = function (props) {
|
|
9
|
-
var _a = props.ActionsIcon, ActionsIcon = _a === void 0 ? DefaultActionsIcon : _a, _b = props.customWrapperClass, customWrapperClass = _b === void 0 ? '' : _b, propGetMessageActions = props.getMessageActions, propHandleDelete = props.handleDelete, propHandleFlag = props.handleFlag, propHandleMute = props.handleMute, propHandlePin = props.handlePin, inline = props.inline, propMessage = props.message, messageWrapperRef = props.messageWrapperRef, mine = props.mine;
|
|
10
|
+
var _a = props.ActionsIcon, ActionsIcon = _a === void 0 ? DefaultActionsIcon : _a, _b = props.customWrapperClass, customWrapperClass = _b === void 0 ? '' : _b, propGetMessageActions = props.getMessageActions, propHandleDelete = props.handleDelete, propHandleFlag = props.handleFlag, propHandleMarkUnread = props.handleMarkUnread, propHandleMute = props.handleMute, propHandlePin = props.handlePin, inline = props.inline, propMessage = props.message, messageWrapperRef = props.messageWrapperRef, mine = props.mine;
|
|
10
11
|
var mutes = useChatContext('MessageActions').mutes;
|
|
11
|
-
var _c = useMessageContext('MessageActions'), customMessageActions = _c.customMessageActions, contextGetMessageActions = _c.getMessageActions, contextHandleDelete = _c.handleDelete, contextHandleFlag = _c.handleFlag, contextHandleMute = _c.handleMute, contextHandlePin = _c.handlePin, isMyMessage = _c.isMyMessage, contextMessage = _c.message, setEditingState = _c.setEditingState;
|
|
12
|
+
var _c = useMessageContext('MessageActions'), customMessageActions = _c.customMessageActions, contextGetMessageActions = _c.getMessageActions, contextHandleDelete = _c.handleDelete, contextHandleFlag = _c.handleFlag, contextHandleMarkUnread = _c.handleMarkUnread, contextHandleMute = _c.handleMute, contextHandlePin = _c.handlePin, isMyMessage = _c.isMyMessage, contextMessage = _c.message, setEditingState = _c.setEditingState;
|
|
12
13
|
var getMessageActions = propGetMessageActions || contextGetMessageActions;
|
|
13
14
|
var handleDelete = propHandleDelete || contextHandleDelete;
|
|
14
15
|
var handleFlag = propHandleFlag || contextHandleFlag;
|
|
16
|
+
var handleMarkUnread = propHandleMarkUnread || contextHandleMarkUnread;
|
|
15
17
|
var handleMute = propHandleMute || contextHandleMute;
|
|
16
18
|
var handlePin = propHandlePin || contextHandlePin;
|
|
17
19
|
var message = propMessage || contextMessage;
|
|
20
|
+
var isMine = mine ? mine() : isMyMessage();
|
|
18
21
|
var _d = useState(false), actionsBoxOpen = _d[0], setActionsBoxOpen = _d[1];
|
|
19
22
|
var isMuted = useCallback(function () { return isUserMuted(message, mutes); }, [message, mutes]);
|
|
20
23
|
var hideOptions = useCallback(function (event) {
|
|
@@ -45,11 +48,17 @@ export var MessageActions = function (props) {
|
|
|
45
48
|
document.removeEventListener('keyup', hideOptions);
|
|
46
49
|
};
|
|
47
50
|
}, [actionsBoxOpen, hideOptions]);
|
|
51
|
+
var actionsBoxButtonRef = useRef(null);
|
|
52
|
+
var _e = useMessageActionsBoxPopper({
|
|
53
|
+
open: actionsBoxOpen,
|
|
54
|
+
placement: isMine ? 'top-end' : 'top-start',
|
|
55
|
+
referenceElement: actionsBoxButtonRef.current,
|
|
56
|
+
}), attributes = _e.attributes, popperElementRef = _e.popperElementRef, styles = _e.styles;
|
|
48
57
|
if (!messageActions.length && !customMessageActions)
|
|
49
58
|
return null;
|
|
50
59
|
return (React.createElement(MessageActionsWrapper, { customWrapperClass: customWrapperClass, inline: inline, setActionsBoxOpen: setActionsBoxOpen },
|
|
51
|
-
React.createElement(MessageActionsBox, { getMessageActions: getMessageActions, handleDelete: handleDelete, handleEdit: setEditingState, handleFlag: handleFlag, handleMute: handleMute, handlePin: handlePin, isUserMuted: isMuted, mine:
|
|
52
|
-
React.createElement("button", { "aria-expanded": actionsBoxOpen, "aria-haspopup": 'true', "aria-label": 'Open Message Actions Menu', className: 'str-chat__message-actions-box-button' },
|
|
60
|
+
React.createElement(MessageActionsBox, __assign({}, attributes.popper, { getMessageActions: getMessageActions, handleDelete: handleDelete, handleEdit: setEditingState, handleFlag: handleFlag, handleMarkUnread: handleMarkUnread, handleMute: handleMute, handlePin: handlePin, isUserMuted: isMuted, mine: isMine, open: actionsBoxOpen, ref: popperElementRef, style: styles.popper })),
|
|
61
|
+
React.createElement("button", { "aria-expanded": actionsBoxOpen, "aria-haspopup": 'true', "aria-label": 'Open Message Actions Menu', className: 'str-chat__message-actions-box-button', ref: actionsBoxButtonRef },
|
|
53
62
|
React.createElement(ActionsIcon, { className: 'str-chat__message-action-icon' }))));
|
|
54
63
|
};
|
|
55
64
|
var MessageActionsWrapper = function (props) {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import React, { ComponentProps } from 'react';
|
|
1
2
|
import { MessageContextValue } from '../../context';
|
|
2
3
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
3
|
-
type PropsDrilledToMessageActionsBox = 'getMessageActions' | 'handleDelete' | 'handleEdit' | 'handleFlag' | 'handleMute' | 'handlePin';
|
|
4
|
+
type PropsDrilledToMessageActionsBox = 'getMessageActions' | 'handleDelete' | 'handleEdit' | 'handleMarkUnread' | 'handleFlag' | 'handleMute' | 'handlePin';
|
|
4
5
|
export type MessageActionsBoxProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Pick<MessageContextValue<StreamChatGenerics>, PropsDrilledToMessageActionsBox> & {
|
|
5
6
|
isUserMuted: () => boolean;
|
|
6
7
|
mine: boolean;
|
|
7
8
|
open: boolean;
|
|
8
|
-
}
|
|
9
|
+
} & ComponentProps<'div'>;
|
|
9
10
|
/**
|
|
10
11
|
* A popup box that displays the available actions on a message, such as edit, delete, pin, etc.
|
|
11
12
|
*/
|
|
12
|
-
export declare const MessageActionsBox: <
|
|
13
|
+
export declare const MessageActionsBox: React.ForwardRefExoticComponent<Pick<MessageActionsBoxProps<DefaultStreamChatGenerics>, "open" | "key" | PropsDrilledToMessageActionsBox | "isUserMuted" | "mine" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement | null>>;
|
|
13
14
|
export {};
|
|
14
15
|
//# sourceMappingURL=MessageActionsBox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageActionsBox.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActionsBox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageActionsBox.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActionsBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK9C,OAAO,EACL,mBAAmB,EAKpB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAInE,KAAK,+BAA+B,GAChC,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,WAAW,CAAC;AAEhB,MAAM,MAAM,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC,GAAG;IACnF,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAmI1B;;GAEG;AACH,eAAO,MAAM,iBAAiB,+PAES,CAAC"}
|