stream-chat-react 12.9.0 → 12.11.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/components/Attachment/Attachment.js +2 -1
- package/dist/components/Attachment/AttachmentContainer.d.ts +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +2 -2
- package/dist/components/Attachment/Card.js +3 -3
- package/dist/components/Attachment/VoiceRecording.d.ts +1 -1
- package/dist/components/Attachment/VoiceRecording.js +2 -2
- package/dist/components/Attachment/attachment-sizing.js +2 -1
- package/dist/components/Attachment/components/FileSizeIndicator.d.ts +1 -1
- package/dist/components/Attachment/components/FileSizeIndicator.js +1 -1
- package/dist/components/Attachment/components/WaveProgressBar.js +1 -1
- package/dist/components/Attachment/hooks/useAudioController.d.ts +1 -1
- package/dist/components/Attachment/hooks/useAudioController.js +4 -2
- package/dist/components/Attachment/utils.d.ts +1 -1
- package/dist/components/Attachment/utils.js +12 -3
- package/dist/components/AutoCompleteTextarea/List.js +3 -2
- package/dist/components/AutoCompleteTextarea/Textarea.js +3 -7
- package/dist/components/AutoCompleteTextarea/utils.js +3 -7
- package/dist/components/Avatar/ChannelAvatar.js +1 -1
- package/dist/components/Channel/Channel.d.ts +1 -1
- package/dist/components/Channel/Channel.js +30 -14
- package/dist/components/Channel/channelState.d.ts +1 -3
- package/dist/components/Channel/channelState.js +10 -4
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +5 -3
- package/dist/components/Channel/hooks/useIsMounted.d.ts +1 -1
- package/dist/components/Channel/hooks/useMentionsHandlers.js +5 -2
- package/dist/components/Channel/utils.js +2 -1
- package/dist/components/ChannelHeader/ChannelHeader.js +1 -1
- package/dist/components/ChannelList/ChannelList.js +13 -8
- package/dist/components/ChannelList/hooks/useChannelListShape.d.ts +2 -2
- package/dist/components/ChannelList/hooks/useChannelListShape.js +46 -19
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +2 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +3 -1
- package/dist/components/ChannelList/hooks/useMobileNavigation.d.ts +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +5 -3
- package/dist/components/ChannelList/hooks/useSelectedChannelState.js +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.js +2 -2
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
- package/dist/components/ChannelPreview/icons.js +0 -1
- package/dist/components/ChannelPreview/utils.js +3 -3
- package/dist/components/ChannelSearch/ChannelSearch.js +5 -3
- package/dist/components/ChannelSearch/SearchBar.d.ts +1 -1
- package/dist/components/ChannelSearch/SearchInput.d.ts +1 -1
- package/dist/components/ChannelSearch/SearchResults.js +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +4 -2
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +61 -36
- package/dist/components/ChannelSearch/index.d.ts +1 -1
- package/dist/components/Chat/hooks/useChat.js +4 -2
- package/dist/components/Chat/hooks/useCreateChatClient.js +3 -1
- package/dist/components/ChatAutoComplete/ChatAutoComplete.js +1 -1
- package/dist/components/ChatView/ChatView.js +0 -1
- package/dist/components/Dialog/PromptDialog.d.ts +1 -1
- package/dist/components/Dialog/PromptDialog.js +1 -1
- package/dist/components/EventComponent/EventComponent.js +1 -1
- package/dist/components/Gallery/BaseImage.d.ts +1 -3
- package/dist/components/Gallery/Gallery.js +10 -2
- package/dist/components/Gallery/Image.js +1 -1
- package/dist/components/Gallery/ModalGallery.js +4 -4
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +9 -6
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js +1 -1
- package/dist/components/LoadMore/LoadMorePaginator.js +1 -1
- package/dist/components/MML/MML.js +1 -0
- package/dist/components/MediaRecorder/transcode/wav.js +6 -3
- package/dist/components/Message/FixedHeightMessage.js +6 -8
- package/dist/components/Message/Message.js +2 -1
- package/dist/components/Message/MessageEditedTimestamp.js +1 -1
- package/dist/components/Message/MessageSimple.js +2 -5
- package/dist/components/Message/MessageStatus.js +1 -1
- package/dist/components/Message/MessageText.js +7 -7
- package/dist/components/Message/QuotedMessage.js +2 -2
- package/dist/components/Message/Timestamp.js +9 -1
- package/dist/components/Message/hooks/useActionHandler.js +1 -1
- package/dist/components/Message/hooks/useFlagHandler.js +2 -1
- package/dist/components/Message/hooks/useMarkUnreadHandler.js +2 -1
- package/dist/components/Message/hooks/useMessageTextStreaming.d.ts +1 -1
- package/dist/components/Message/hooks/useMessageTextStreaming.js +1 -1
- package/dist/components/Message/hooks/useMuteHandler.js +7 -4
- package/dist/components/Message/hooks/usePinHandler.js +1 -1
- package/dist/components/Message/hooks/useReactionHandler.js +10 -5
- package/dist/components/Message/hooks/useRetryHandler.js +1 -1
- package/dist/components/Message/hooks/useUserRole.js +1 -1
- package/dist/components/Message/renderText/renderText.js +2 -2
- package/dist/components/Message/utils.js +3 -3
- package/dist/components/MessageActions/MessageActionsBox.js +7 -3
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts +1 -1
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +1 -1
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +4 -2
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +4 -2
- package/dist/components/MessageInput/AttachmentSelector.js +1 -1
- package/dist/components/MessageInput/DefaultTriggerProvider.js +1 -1
- package/dist/components/MessageInput/DropzoneProvider.js +1 -1
- package/dist/components/MessageInput/MessageInput.js +1 -1
- package/dist/components/MessageInput/MessageInputFlat.js +4 -3
- package/dist/components/MessageInput/QuotedMessagePreview.js +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.js +12 -4
- package/dist/components/MessageInput/hooks/useLinkPreviews.js +3 -1
- package/dist/components/MessageInput/hooks/useMessageInputState.js +4 -3
- package/dist/components/MessageInput/hooks/useMessageInputText.d.ts +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.js +5 -3
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +5 -3
- package/dist/components/MessageInput/hooks/useTimeElapsed.js +1 -1
- package/dist/components/MessageInput/hooks/useUserTrigger.js +2 -2
- package/dist/components/MessageInput/hooks/utils.js +6 -2
- package/dist/components/MessageList/ConnectionStatus.js +1 -1
- package/dist/components/MessageList/MessageList.js +5 -6
- package/dist/components/MessageList/MessageListNotifications.js +3 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +19 -12
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +2 -2
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.js +1 -3
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.js +3 -2
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.js +3 -2
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js +6 -2
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +4 -3
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +7 -3
- package/dist/components/MessageList/hooks/useMarkRead.d.ts +2 -4
- package/dist/components/MessageList/hooks/useMarkRead.js +14 -16
- package/dist/components/MessageList/utils.js +28 -11
- package/dist/components/Modal/Modal.d.ts +1 -1
- package/dist/components/Modal/Modal.js +1 -1
- package/dist/components/Modal/ModalHeader.js +1 -1
- package/dist/components/Poll/Poll.js +1 -1
- package/dist/components/Poll/PollActions/PollActions.js +6 -4
- package/dist/components/Poll/PollActions/PollAnswerList.js +1 -1
- package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js +1 -1
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.js +4 -2
- package/dist/components/Poll/PollActions/PollResults/PollResults.js +2 -1
- package/dist/components/Poll/PollContent.js +1 -1
- package/dist/components/Poll/PollCreationDialog/OptionFieldSet.d.ts +1 -1
- package/dist/components/Poll/PollCreationDialog/OptionFieldSet.js +11 -4
- package/dist/components/Poll/PollCreationDialog/PollCreationDialog.js +13 -4
- package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js +6 -3
- package/dist/components/Poll/PollOptionList.js +1 -1
- package/dist/components/Poll/PollOptionSelector.js +12 -5
- package/dist/components/Poll/hooks/useManagePollVotesRealtime.js +9 -4
- package/dist/components/Poll/hooks/usePollAnswerPagination.js +8 -2
- package/dist/components/Poll/hooks/usePollOptionVotesPagination.js +8 -2
- package/dist/components/ReactFileUtilities/FileIcon/mimeTypes.d.ts +1 -1
- package/dist/components/ReactFileUtilities/ImageDropzone.js +3 -1
- package/dist/components/ReactFileUtilities/UploadButton.js +1 -1
- package/dist/components/ReactFileUtilities/utils.js +3 -1
- package/dist/components/Reactions/ReactionSelector.js +3 -1
- package/dist/components/Reactions/ReactionSelectorWithButton.js +1 -1
- package/dist/components/Reactions/ReactionsList.d.ts +2 -2
- package/dist/components/Reactions/ReactionsList.js +7 -4
- package/dist/components/Reactions/ReactionsListModal.d.ts +1 -2
- package/dist/components/Reactions/ReactionsListModal.js +1 -1
- package/dist/components/Reactions/SpriteImage.js +6 -2
- package/dist/components/Reactions/hooks/useFetchReactions.js +1 -1
- package/dist/components/Reactions/hooks/useProcessReactions.js +1 -1
- package/dist/components/Reactions/index.d.ts +1 -0
- package/dist/components/Reactions/index.js +1 -0
- package/dist/components/Reactions/reactionOptions.js +20 -5
- package/dist/components/Thread/Thread.js +4 -3
- package/dist/components/Threads/ThreadContext.d.ts +1 -1
- package/dist/components/Threads/ThreadContext.js +1 -1
- package/dist/components/Threads/ThreadList/ThreadList.js +1 -1
- package/dist/components/Threads/ThreadList/ThreadListItem.d.ts +1 -1
- package/dist/components/Threads/ThreadList/ThreadListItem.js +1 -1
- package/dist/components/Threads/ThreadList/ThreadListItemUI.js +5 -3
- package/dist/components/Threads/icons.js +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/context/ComponentContext.d.ts +3 -1
- package/dist/context/ComponentContext.js +1 -1
- package/dist/context/DialogManagerContext.d.ts +1 -1
- package/dist/context/DialogManagerContext.js +1 -1
- package/dist/context/MessageBounceContext.js +2 -2
- package/dist/context/MessageContext.js +1 -1
- package/dist/context/VirtualizedMessageListContext.d.ts +13 -0
- package/dist/context/VirtualizedMessageListContext.js +7 -0
- package/dist/context/WithComponents.js +1 -1
- package/dist/css/v2/index.css +2 -2
- package/dist/css/v2/index.layout.css +2 -2
- package/dist/experimental/MessageActions/MessageActions.js +0 -1
- package/dist/experimental/MessageActions/defaults.js +31 -7
- package/dist/experimental/index.browser.cjs +103 -37
- package/dist/experimental/index.browser.cjs.map +2 -2
- package/dist/experimental/index.node.cjs +103 -37
- package/dist/experimental/index.node.cjs.map +2 -2
- package/dist/i18n/Streami18n.js +11 -2
- package/dist/i18n/utils.js +14 -1
- package/dist/index.browser.cjs +2329 -1145
- package/dist/index.browser.cjs.map +4 -4
- package/dist/index.node.cjs +2594 -1164
- package/dist/index.node.cjs.map +4 -4
- package/dist/plugins/Emojis/EmojiPicker.js +0 -1
- package/dist/plugins/Emojis/index.browser.cjs +3 -1
- package/dist/plugins/Emojis/index.browser.cjs.map +2 -2
- package/dist/plugins/Emojis/index.node.cjs +3 -1
- package/dist/plugins/Emojis/index.node.cjs.map +2 -2
- package/dist/plugins/encoders/mp3.browser.cjs +7 -4
- package/dist/plugins/encoders/mp3.browser.cjs.map +2 -2
- package/dist/plugins/encoders/mp3.node.cjs +7 -4
- package/dist/plugins/encoders/mp3.node.cjs.map +2 -2
- package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +1 -0
- package/dist/scss/v2/Message/Message-layout.scss +12 -5
- package/dist/scss/v2/Poll/Poll-layout.scss +1 -1
- package/dist/scss/v2/Search/Search-layout.scss +148 -0
- package/dist/scss/v2/Search/Search-theme.scss +222 -0
- package/dist/scss/v2/_icons.scss +2 -0
- package/dist/scss/v2/index.layout.scss +1 -0
- package/dist/scss/v2/index.scss +1 -0
- package/dist/store/hooks/useStateStore.js +35 -11
- package/package.json +32 -47
|
@@ -44,9 +44,7 @@ var import_react25 = __toESM(require("react"));
|
|
|
44
44
|
|
|
45
45
|
// src/context/ChannelActionContext.tsx
|
|
46
46
|
var import_react = __toESM(require("react"));
|
|
47
|
-
var ChannelActionContext = import_react.default.createContext(
|
|
48
|
-
void 0
|
|
49
|
-
);
|
|
47
|
+
var ChannelActionContext = import_react.default.createContext(void 0);
|
|
50
48
|
var useChannelActionContext = (componentName) => {
|
|
51
49
|
const contextValue = (0, import_react.useContext)(ChannelActionContext);
|
|
52
50
|
if (!contextValue) {
|
|
@@ -60,9 +58,7 @@ var useChannelActionContext = (componentName) => {
|
|
|
60
58
|
|
|
61
59
|
// src/context/ChannelStateContext.tsx
|
|
62
60
|
var import_react2 = __toESM(require("react"));
|
|
63
|
-
var ChannelStateContext = import_react2.default.createContext(
|
|
64
|
-
void 0
|
|
65
|
-
);
|
|
61
|
+
var ChannelStateContext = import_react2.default.createContext(void 0);
|
|
66
62
|
var useChannelStateContext = (componentName) => {
|
|
67
63
|
const contextValue = (0, import_react2.useContext)(ChannelStateContext);
|
|
68
64
|
if (!contextValue) {
|
|
@@ -104,16 +100,40 @@ var import_react6 = require("react");
|
|
|
104
100
|
|
|
105
101
|
// src/store/hooks/useStateStore.ts
|
|
106
102
|
var import_react5 = require("react");
|
|
103
|
+
var import_shim = require("use-sync-external-store/shim");
|
|
104
|
+
var noop = () => {
|
|
105
|
+
};
|
|
107
106
|
function useStateStore(store, selector) {
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
107
|
+
const wrappedSubscription = (0, import_react5.useCallback)(
|
|
108
|
+
(onStoreChange) => {
|
|
109
|
+
const unsubscribe = store?.subscribeWithSelector(selector, onStoreChange);
|
|
110
|
+
return unsubscribe ?? noop;
|
|
111
|
+
},
|
|
112
|
+
[store, selector]
|
|
113
|
+
);
|
|
114
|
+
const wrappedSnapshot = (0, import_react5.useMemo)(() => {
|
|
115
|
+
let cachedTuple;
|
|
116
|
+
return () => {
|
|
117
|
+
const currentValue = store?.getLatestValue();
|
|
118
|
+
if (!currentValue) return void 0;
|
|
119
|
+
if (cachedTuple && cachedTuple[0] === currentValue) {
|
|
120
|
+
return cachedTuple[1];
|
|
121
|
+
}
|
|
122
|
+
const newlySelected = selector(currentValue);
|
|
123
|
+
if (cachedTuple) {
|
|
124
|
+
let selectededAreEqualToCached = true;
|
|
125
|
+
for (const key in cachedTuple[1]) {
|
|
126
|
+
if (cachedTuple[1][key] === newlySelected[key]) continue;
|
|
127
|
+
selectededAreEqualToCached = false;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
if (selectededAreEqualToCached) return cachedTuple[1];
|
|
131
|
+
}
|
|
132
|
+
cachedTuple = [currentValue, newlySelected];
|
|
133
|
+
return cachedTuple[1];
|
|
134
|
+
};
|
|
116
135
|
}, [store, selector]);
|
|
136
|
+
const state = (0, import_shim.useSyncExternalStore)(wrappedSubscription, wrappedSnapshot);
|
|
117
137
|
return state;
|
|
118
138
|
}
|
|
119
139
|
|
|
@@ -178,7 +198,9 @@ var useDialogManager = () => {
|
|
|
178
198
|
|
|
179
199
|
// src/context/MessageContext.tsx
|
|
180
200
|
var import_react10 = __toESM(require("react"));
|
|
181
|
-
var MessageContext = import_react10.default.createContext(
|
|
201
|
+
var MessageContext = import_react10.default.createContext(
|
|
202
|
+
void 0
|
|
203
|
+
);
|
|
182
204
|
var useMessageContext = (_componentName) => {
|
|
183
205
|
const contextValue = (0, import_react10.useContext)(MessageContext);
|
|
184
206
|
if (!contextValue) {
|
|
@@ -366,7 +388,14 @@ var Avatar = (props) => {
|
|
|
366
388
|
onError: () => setError(true),
|
|
367
389
|
src: image
|
|
368
390
|
}
|
|
369
|
-
) : /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, !!initials.length && /* @__PURE__ */ import_react13.default.createElement(
|
|
391
|
+
) : /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, !!initials.length && /* @__PURE__ */ import_react13.default.createElement(
|
|
392
|
+
"div",
|
|
393
|
+
{
|
|
394
|
+
className: (0, import_clsx.default)("str-chat__avatar-fallback"),
|
|
395
|
+
"data-testid": "avatar-fallback"
|
|
396
|
+
},
|
|
397
|
+
initials
|
|
398
|
+
), !initials.length && /* @__PURE__ */ import_react13.default.createElement(Icon.User, null))
|
|
370
399
|
);
|
|
371
400
|
};
|
|
372
401
|
|
|
@@ -397,9 +426,7 @@ var ACTIONS_NOT_WORKING_IN_THREAD = [
|
|
|
397
426
|
|
|
398
427
|
// src/components/Message/hooks/useUserRole.ts
|
|
399
428
|
var useUserRole = (message, onlySenderCanEdit, disableQuotedMessages) => {
|
|
400
|
-
const { channel, channelCapabilities = {} } = useChannelStateContext(
|
|
401
|
-
"useUserRole"
|
|
402
|
-
);
|
|
429
|
+
const { channel, channelCapabilities = {} } = useChannelStateContext("useUserRole");
|
|
403
430
|
const { client } = useChatContext("useUserRole");
|
|
404
431
|
const isAdmin = client.user?.role === "admin" || channel.state.membership.role === "admin";
|
|
405
432
|
const isOwner = channel.state.membership.role === "owner";
|
|
@@ -683,11 +710,27 @@ var StreamEmoji = ({
|
|
|
683
710
|
|
|
684
711
|
// src/components/Reactions/reactionOptions.tsx
|
|
685
712
|
var defaultReactionOptions = [
|
|
686
|
-
{
|
|
687
|
-
|
|
688
|
-
|
|
713
|
+
{
|
|
714
|
+
type: "haha",
|
|
715
|
+
Component: () => /* @__PURE__ */ import_react19.default.createElement(StreamEmoji, { fallback: "\u{1F602}", type: "haha" }),
|
|
716
|
+
name: "Joy"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
type: "like",
|
|
720
|
+
Component: () => /* @__PURE__ */ import_react19.default.createElement(StreamEmoji, { fallback: "\u{1F44D}", type: "like" }),
|
|
721
|
+
name: "Thumbs up"
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
type: "love",
|
|
725
|
+
Component: () => /* @__PURE__ */ import_react19.default.createElement(StreamEmoji, { fallback: "\u2764\uFE0F", type: "love" }),
|
|
726
|
+
name: "Heart"
|
|
727
|
+
},
|
|
689
728
|
{ type: "sad", Component: () => /* @__PURE__ */ import_react19.default.createElement(StreamEmoji, { fallback: "\u{1F614}", type: "sad" }), name: "Sad" },
|
|
690
|
-
{
|
|
729
|
+
{
|
|
730
|
+
type: "wow",
|
|
731
|
+
Component: () => /* @__PURE__ */ import_react19.default.createElement(StreamEmoji, { fallback: "\u{1F632}", type: "wow" }),
|
|
732
|
+
name: "Astonished"
|
|
733
|
+
}
|
|
691
734
|
];
|
|
692
735
|
|
|
693
736
|
// src/components/Reactions/ReactionSelector.tsx
|
|
@@ -791,9 +834,7 @@ var UnMemoizedReactionSelector = (props) => {
|
|
|
791
834
|
className: (0, import_clsx4.default)(
|
|
792
835
|
"str-chat__message-reactions-list-item str-chat__message-reactions-option",
|
|
793
836
|
{
|
|
794
|
-
"str-chat__message-reactions-option-selected": iHaveReactedWithReaction(
|
|
795
|
-
reactionType
|
|
796
|
-
)
|
|
837
|
+
"str-chat__message-reactions-option-selected": iHaveReactedWithReaction(reactionType)
|
|
797
838
|
}
|
|
798
839
|
),
|
|
799
840
|
"data-testid": "select-reaction-button",
|
|
@@ -888,7 +929,8 @@ var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
|
|
|
888
929
|
!message.type || message.type === "error" || message.type === "system" || message.type === "ephemeral" || message.status === "failed" || message.status === "sending")
|
|
889
930
|
return [];
|
|
890
931
|
return messageActionSet.filter(({ type }) => {
|
|
891
|
-
if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply)
|
|
932
|
+
if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply)
|
|
933
|
+
return false;
|
|
892
934
|
if (type === "delete" && !canDelete || type === "edit" && !canEdit || type === "flag" && !canFlag || type === "markUnread" && !canMarkUnread || type === "mute" && !canMute || type === "quote" && !canQuote || type === "react" && !canReact || type === "reply" && !canReply)
|
|
893
935
|
return false;
|
|
894
936
|
return true;
|
|
@@ -1002,17 +1044,41 @@ var DefaultMessageActionComponents = {
|
|
|
1002
1044
|
};
|
|
1003
1045
|
var defaultMessageActionSet = [
|
|
1004
1046
|
// { placement: 'dropdown', type: 'block' },
|
|
1005
|
-
{
|
|
1006
|
-
|
|
1047
|
+
{
|
|
1048
|
+
Component: DefaultMessageActionComponents.quick.Reply,
|
|
1049
|
+
placement: "quick",
|
|
1050
|
+
type: "reply"
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
Component: DefaultMessageActionComponents.quick.React,
|
|
1054
|
+
placement: "quick",
|
|
1055
|
+
type: "react"
|
|
1056
|
+
},
|
|
1007
1057
|
{
|
|
1008
1058
|
Component: DefaultMessageActionComponents.dropdown.Delete,
|
|
1009
1059
|
placement: "dropdown",
|
|
1010
1060
|
type: "delete"
|
|
1011
1061
|
},
|
|
1012
|
-
{
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1062
|
+
{
|
|
1063
|
+
Component: DefaultMessageActionComponents.dropdown.Edit,
|
|
1064
|
+
placement: "dropdown",
|
|
1065
|
+
type: "edit"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
Component: DefaultMessageActionComponents.dropdown.Mute,
|
|
1069
|
+
placement: "dropdown",
|
|
1070
|
+
type: "mute"
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
Component: DefaultMessageActionComponents.dropdown.Flag,
|
|
1074
|
+
placement: "dropdown",
|
|
1075
|
+
type: "flag"
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
Component: DefaultMessageActionComponents.dropdown.Pin,
|
|
1079
|
+
placement: "dropdown",
|
|
1080
|
+
type: "pin"
|
|
1081
|
+
},
|
|
1016
1082
|
{
|
|
1017
1083
|
Component: DefaultMessageActionComponents.dropdown.Quote,
|
|
1018
1084
|
placement: "dropdown",
|
|
@@ -1033,14 +1099,14 @@ var MessageActions = ({
|
|
|
1033
1099
|
const { theme } = useChatContext();
|
|
1034
1100
|
const { isMyMessage, message } = useMessageContext();
|
|
1035
1101
|
const { t } = useTranslationContext();
|
|
1036
|
-
const [actionsBoxButtonElement, setActionsBoxButtonElement] = (0, import_react25.useState)(
|
|
1037
|
-
null
|
|
1038
|
-
);
|
|
1102
|
+
const [actionsBoxButtonElement, setActionsBoxButtonElement] = (0, import_react25.useState)(null);
|
|
1039
1103
|
const filteredMessageActionSet = useBaseMessageActionSetFilter(
|
|
1040
1104
|
messageActionSet,
|
|
1041
1105
|
disableBaseMessageActionSetFilter
|
|
1042
1106
|
);
|
|
1043
|
-
const { dropdownActionSet, quickActionSet } = useSplitMessageActionSet(
|
|
1107
|
+
const { dropdownActionSet, quickActionSet } = useSplitMessageActionSet(
|
|
1108
|
+
filteredMessageActionSet
|
|
1109
|
+
);
|
|
1044
1110
|
const dropdownDialogId = `message-actions--${message.id}`;
|
|
1045
1111
|
const reactionSelectorDialogId = `reaction-selector--${message.id}`;
|
|
1046
1112
|
const dialog = useDialog({ id: dropdownDialogId });
|