stream-chat-react-native-core 5.33.0-beta.6 → 5.33.1-beta.1
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/lib/commonjs/components/Message/Message.js +9 -1
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -0
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +99 -39
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +30 -108
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/Message.js +9 -1
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -0
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js +99 -39
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +30 -108
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/Message.d.ts +7 -3
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +3 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +4 -2
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Message/Message.tsx +18 -4
- package/src/components/Message/hooks/useCreateMessageContext.ts +4 -0
- package/src/components/Message/hooks/useMessageActionHandlers.ts +59 -2
- package/src/components/Message/hooks/useMessageActions.tsx +12 -68
- package/src/contexts/messageContext/MessageContext.tsx +3 -1
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAY,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ5D,OAAO,EACL,mBAAmB,EAEpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EACL,oBAAoB,EAErB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAmB,MAAM,8CAA8C,CAAC;AACpG,OAAO,EACL,0BAA0B,EAE3B,MAAM,4DAA4D,CAAC;AACpE,OAAO,EACL,oBAAoB,EAErB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,mBAAmB,EAEpB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,4CAA4C,CAAC;AAClG,OAAO,EACL,uBAAuB,EAExB,MAAM,sDAAsD,CAAC;AAG9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AASnE,OAAO,EAEL,WAAW,EACZ,MAAM,qCAAqC,CAAC;AAG7C,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,SAAS,GACT,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,CAAC;AAEnB,MAAM,MAAM,kCAAkC,CAC5C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,qCAAqC,CAC/C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,GAAG,CACA;IACE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,CAAC,CAAC;CAC7F,GACD,kCAAkC,GAClC,0BAA0B,GAC1B,qCAAqC,CACxC,CAAC;AAEF,MAAM,MAAM,8BAA8B,CACxC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,uBAAuB,GAAG;IAC5B;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/Message.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';
|
|
2
2
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
3
|
-
export declare const useCreateMessageContext: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ actionsEnabled, alignment, channel, disabled, files, goToMessage, groupStyles, handleAction, handleDeleteMessage, handleEditMessage, handleQuotedReplyMessage, handleResendMessage, handleToggleBanUser, handleToggleMuteUser, handleToggleReaction, hasReactions, images, isEditedMessageOpen, isMyMessage, lastGroupMessage, lastReceivedId, members, message, messageContentOrder, myMessageTheme, onLongPress, onlyEmojis, onOpenThread, onPress, onPressIn, otherAttachments, preventPress, reactions, setIsEditedMessageOpen, showAvatar, showMessageOverlay, showMessageStatus, threadList, videos, }: MessageContextValue<StreamChatGenerics>) => MessageContextValue<StreamChatGenerics>;
|
|
3
|
+
export declare const useCreateMessageContext: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ actionsEnabled, alignment, channel, disabled, files, goToMessage, groupStyles, handleAction, handleCopyMessage, handleDeleteMessage, handleEditMessage, handleFlagMessage, handleQuotedReplyMessage, handleResendMessage, handleToggleBanUser, handleToggleMuteUser, handleToggleReaction, hasReactions, images, isEditedMessageOpen, isMyMessage, lastGroupMessage, lastReceivedId, members, message, messageContentOrder, myMessageTheme, onLongPress, onlyEmojis, onOpenThread, onPress, onPressIn, otherAttachments, preventPress, reactions, setIsEditedMessageOpen, showAvatar, showMessageOverlay, showMessageStatus, threadList, videos, }: MessageContextValue<StreamChatGenerics>) => MessageContextValue<StreamChatGenerics>;
|
|
4
4
|
//# sourceMappingURL=useCreateMessageContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateMessageContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/hooks/useCreateMessageContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"useCreateMessageContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/hooks/useCreateMessageContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,eAAO,MAAM,uBAAuB,8xBAwHnC,CAAC"}
|
|
@@ -4,8 +4,10 @@ import type { MessageContextValue } from '../../../contexts/messageContext/Messa
|
|
|
4
4
|
import type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';
|
|
5
5
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
6
6
|
export declare const useMessageActionHandlers: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channel, client, deleteMessage, deleteReaction, message, retrySendMessage, sendReaction, setEditingState, setQuotedMessageState, }: Pick<MessagesContextValue<StreamChatGenerics>, "deleteMessage" | "deleteReaction" | "retrySendMessage" | "sendReaction" | "setEditingState" | "setQuotedMessageState" | "supportedReactions"> & Pick<ChannelContextValue<StreamChatGenerics>, "channel" | "enforceUniqueReaction"> & Pick<ChatContextValue<StreamChatGenerics>, "client"> & Pick<MessageContextValue<StreamChatGenerics>, "message">) => {
|
|
7
|
-
|
|
7
|
+
handleCopyMessage: () => void;
|
|
8
|
+
handleDeleteMessage: () => void;
|
|
8
9
|
handleEditMessage: () => void;
|
|
10
|
+
handleFlagMessage: () => void;
|
|
9
11
|
handleQuotedReplyMessage: () => void;
|
|
10
12
|
handleResendMessage: () => Promise<void>;
|
|
11
13
|
handleToggleBanUser: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageActionHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/hooks/useMessageActionHandlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMessageActionHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/hooks/useMessageActionHandlers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAI9F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;yCAgIe,MAAM;CAyCzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/hooks/useMessageActions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMessageActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/hooks/useMessageActions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAevG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,eAAO,MAAM,iBAAiB;oEA4DqC,IAAI;;;;;;;;;;;;;;CAqOtE,CAAC"}
|
|
@@ -26,8 +26,10 @@ export type MessageContextValue<StreamChatGenerics extends DefaultStreamChatGene
|
|
|
26
26
|
groupStyles: GroupType[];
|
|
27
27
|
/** Handler for actions. Actions in combination with attachments can be used to build [commands](https://getstream.io/chat/docs/#channel_commands). */
|
|
28
28
|
handleAction: ActionHandler;
|
|
29
|
-
|
|
29
|
+
handleCopyMessage: () => void;
|
|
30
|
+
handleDeleteMessage: () => void;
|
|
30
31
|
handleEditMessage: () => void;
|
|
32
|
+
handleFlagMessage: () => void;
|
|
31
33
|
handleQuotedReplyMessage: () => void;
|
|
32
34
|
handleResendMessage: () => Promise<void>;
|
|
33
35
|
handleToggleBanUser: () => Promise<void>;
|
|
@@ -111,5 +113,5 @@ export declare const useMessageContext: <StreamChatGenerics extends DefaultStrea
|
|
|
111
113
|
* typing is desired while using the HOC withMessageContext the Props for the
|
|
112
114
|
* wrapped component must be provided as the first generic.
|
|
113
115
|
*/
|
|
114
|
-
export declare const withMessageContext: <P extends UnknownType, StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(Component: React.ComponentType<P>) => React.ComponentType<Omit<P, "disabled" | "onPress" | "onPressIn" | "onLongPress" | "channel" | "message" | "messageContentOrder" | "myMessageTheme" | "members" | "threadList" | "reactions" | "images" | "preventPress" | "actionsEnabled" | "alignment" | "files" | "groupStyles" | "handleAction" | "handleDeleteMessage" | "handleEditMessage" | "handleQuotedReplyMessage" | "handleResendMessage" | "handleToggleBanUser" | "handleToggleMuteUser" | "handleToggleReaction" | "hasReactions" | "isEditedMessageOpen" | "isMyMessage" | "lastGroupMessage" | "onlyEmojis" | "onOpenThread" | "otherAttachments" | "setIsEditedMessageOpen" | "showMessageOverlay" | "showMessageStatus" | "videos" | "goToMessage" | "lastReceivedId" | "showAvatar">>;
|
|
116
|
+
export declare const withMessageContext: <P extends UnknownType, StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(Component: React.ComponentType<P>) => React.ComponentType<Omit<P, "disabled" | "onPress" | "onPressIn" | "onLongPress" | "channel" | "message" | "messageContentOrder" | "myMessageTheme" | "members" | "threadList" | "reactions" | "images" | "preventPress" | "actionsEnabled" | "alignment" | "files" | "groupStyles" | "handleAction" | "handleCopyMessage" | "handleDeleteMessage" | "handleEditMessage" | "handleFlagMessage" | "handleQuotedReplyMessage" | "handleResendMessage" | "handleToggleBanUser" | "handleToggleMuteUser" | "handleToggleReaction" | "hasReactions" | "isEditedMessageOpen" | "isMyMessage" | "lastGroupMessage" | "onlyEmojis" | "onOpenThread" | "otherAttachments" | "setIsEditedMessageOpen" | "showMessageOverlay" | "showMessageStatus" | "videos" | "goToMessage" | "lastReceivedId" | "showAvatar">>;
|
|
115
117
|
//# sourceMappingURL=MessageContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/messageContext/MessageContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,KAAK,EACV,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,sCAAsC;IACtC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACxC;;;;;OAKG;IACH,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,sJAAsJ;IACtJ,YAAY,EAAE,aAAa,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/messageContext/MessageContext.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "5.33.
|
|
4
|
+
"version": "5.33.1-beta.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -101,7 +101,7 @@ export type MessageTouchableHandlerPayload<
|
|
|
101
101
|
/**
|
|
102
102
|
* Set of action handler functions for various message actions. You can use these functions to perform any action when give interaction occurs.
|
|
103
103
|
*/
|
|
104
|
-
actionHandlers?: MessageActionHandlers
|
|
104
|
+
actionHandlers?: MessageActionHandlers<StreamChatGenerics>;
|
|
105
105
|
/**
|
|
106
106
|
* Additional message touchable handler info.
|
|
107
107
|
*/
|
|
@@ -112,9 +112,13 @@ export type MessageTouchableHandlerPayload<
|
|
|
112
112
|
message?: MessageType<StreamChatGenerics>;
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
-
export type MessageActionHandlers
|
|
116
|
-
|
|
115
|
+
export type MessageActionHandlers<
|
|
116
|
+
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
117
|
+
> = {
|
|
118
|
+
copyMessage: () => void;
|
|
119
|
+
deleteMessage: () => void;
|
|
117
120
|
editMessage: () => void;
|
|
121
|
+
flagMessage: () => void;
|
|
118
122
|
pinMessage: () => Promise<void>;
|
|
119
123
|
quotedReply: () => void;
|
|
120
124
|
resendMessage: () => Promise<void>;
|
|
@@ -122,6 +126,8 @@ export type MessageActionHandlers = {
|
|
|
122
126
|
toggleBanUser: () => Promise<void>;
|
|
123
127
|
toggleMuteUser: () => Promise<void>;
|
|
124
128
|
toggleReaction: (reactionType: string) => Promise<void>;
|
|
129
|
+
unpinMessage: () => Promise<void>;
|
|
130
|
+
threadReply?: (message: MessageType<StreamChatGenerics>) => Promise<void>;
|
|
125
131
|
};
|
|
126
132
|
|
|
127
133
|
export type MessagePropsWithContext<
|
|
@@ -476,8 +482,10 @@ const MessageWithContext = <
|
|
|
476
482
|
const ownCapabilities = useOwnCapabilitiesContext();
|
|
477
483
|
|
|
478
484
|
const {
|
|
485
|
+
handleCopyMessage,
|
|
479
486
|
handleDeleteMessage,
|
|
480
487
|
handleEditMessage,
|
|
488
|
+
handleFlagMessage,
|
|
481
489
|
handleQuotedReplyMessage,
|
|
482
490
|
handleResendMessage,
|
|
483
491
|
handleToggleBanUser,
|
|
@@ -602,16 +610,20 @@ const MessageWithContext = <
|
|
|
602
610
|
setOverlay('message');
|
|
603
611
|
};
|
|
604
612
|
|
|
605
|
-
const actionHandlers: MessageActionHandlers = {
|
|
613
|
+
const actionHandlers: MessageActionHandlers<StreamChatGenerics> = {
|
|
614
|
+
copyMessage: handleCopyMessage,
|
|
606
615
|
deleteMessage: handleDeleteMessage,
|
|
607
616
|
editMessage: handleEditMessage,
|
|
617
|
+
flagMessage: handleFlagMessage,
|
|
608
618
|
pinMessage: handleTogglePinMessage,
|
|
609
619
|
quotedReply: handleQuotedReplyMessage,
|
|
610
620
|
resendMessage: handleResendMessage,
|
|
611
621
|
showMessageOverlay,
|
|
622
|
+
threadReply: handleThreadReply,
|
|
612
623
|
toggleBanUser: handleToggleBanUser,
|
|
613
624
|
toggleMuteUser: handleToggleMuteUser,
|
|
614
625
|
toggleReaction: handleToggleReaction,
|
|
626
|
+
unpinMessage: handleTogglePinMessage,
|
|
615
627
|
};
|
|
616
628
|
|
|
617
629
|
const onLongPressMessage =
|
|
@@ -655,8 +667,10 @@ const MessageWithContext = <
|
|
|
655
667
|
goToMessage,
|
|
656
668
|
groupStyles,
|
|
657
669
|
handleAction,
|
|
670
|
+
handleCopyMessage,
|
|
658
671
|
handleDeleteMessage,
|
|
659
672
|
handleEditMessage,
|
|
673
|
+
handleFlagMessage,
|
|
660
674
|
handleQuotedReplyMessage,
|
|
661
675
|
handleResendMessage,
|
|
662
676
|
handleToggleBanUser,
|
|
@@ -15,8 +15,10 @@ export const useCreateMessageContext = <
|
|
|
15
15
|
goToMessage,
|
|
16
16
|
groupStyles,
|
|
17
17
|
handleAction,
|
|
18
|
+
handleCopyMessage,
|
|
18
19
|
handleDeleteMessage,
|
|
19
20
|
handleEditMessage,
|
|
21
|
+
handleFlagMessage,
|
|
20
22
|
handleQuotedReplyMessage,
|
|
21
23
|
handleResendMessage,
|
|
22
24
|
handleToggleBanUser,
|
|
@@ -66,8 +68,10 @@ export const useCreateMessageContext = <
|
|
|
66
68
|
goToMessage,
|
|
67
69
|
groupStyles,
|
|
68
70
|
handleAction,
|
|
71
|
+
handleCopyMessage,
|
|
69
72
|
handleDeleteMessage,
|
|
70
73
|
handleEditMessage,
|
|
74
|
+
handleFlagMessage,
|
|
71
75
|
handleQuotedReplyMessage,
|
|
72
76
|
handleResendMessage,
|
|
73
77
|
handleToggleBanUser,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Alert } from 'react-native';
|
|
2
|
+
|
|
1
3
|
import type { MessageResponse } from 'stream-chat';
|
|
2
4
|
|
|
3
5
|
import type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';
|
|
@@ -5,6 +7,8 @@ import type { ChatContextValue } from '../../../contexts/chatContext/ChatContext
|
|
|
5
7
|
import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';
|
|
6
8
|
import type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';
|
|
7
9
|
|
|
10
|
+
import { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';
|
|
11
|
+
import { setClipboardString } from '../../../native';
|
|
8
12
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
9
13
|
|
|
10
14
|
export const useMessageActionHandlers = <
|
|
@@ -32,6 +36,7 @@ export const useMessageActionHandlers = <
|
|
|
32
36
|
Pick<ChannelContextValue<StreamChatGenerics>, 'channel' | 'enforceUniqueReaction'> &
|
|
33
37
|
Pick<ChatContextValue<StreamChatGenerics>, 'client'> &
|
|
34
38
|
Pick<MessageContextValue<StreamChatGenerics>, 'message'>) => {
|
|
39
|
+
const { t } = useTranslationContext();
|
|
35
40
|
const handleResendMessage = () => retrySendMessage(message);
|
|
36
41
|
|
|
37
42
|
const handleQuotedReplyMessage = () => {
|
|
@@ -42,8 +47,28 @@ export const useMessageActionHandlers = <
|
|
|
42
47
|
(mute) => mute.user.id === client.userID && mute.target.id === message.user?.id,
|
|
43
48
|
);
|
|
44
49
|
|
|
45
|
-
const
|
|
46
|
-
|
|
50
|
+
const handleCopyMessage = () => {
|
|
51
|
+
setClipboardString(message.text || '');
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const handleDeleteMessage = () => {
|
|
55
|
+
if (message.id) {
|
|
56
|
+
Alert.alert(
|
|
57
|
+
t('Delete Message'),
|
|
58
|
+
t('Are you sure you want to permanently delete this message?'),
|
|
59
|
+
[
|
|
60
|
+
{ style: 'cancel', text: t('Cancel') },
|
|
61
|
+
{
|
|
62
|
+
onPress: async () => {
|
|
63
|
+
await deleteMessage(message as MessageResponse<StreamChatGenerics>);
|
|
64
|
+
},
|
|
65
|
+
style: 'destructive',
|
|
66
|
+
text: t('Delete'),
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
{ cancelable: false },
|
|
70
|
+
);
|
|
71
|
+
}
|
|
47
72
|
};
|
|
48
73
|
|
|
49
74
|
const handleToggleMuteUser = async () => {
|
|
@@ -84,6 +109,36 @@ export const useMessageActionHandlers = <
|
|
|
84
109
|
setEditingState(message);
|
|
85
110
|
};
|
|
86
111
|
|
|
112
|
+
const handleFlagMessage = () => {
|
|
113
|
+
try {
|
|
114
|
+
if (message.id) {
|
|
115
|
+
Alert.alert(
|
|
116
|
+
t('Flag Message'),
|
|
117
|
+
t('Do you want to send a copy of this message to a moderator for further investigation?'),
|
|
118
|
+
[
|
|
119
|
+
{ style: 'cancel', text: t('Cancel') },
|
|
120
|
+
{
|
|
121
|
+
onPress: async () => {
|
|
122
|
+
await client.flagMessage(message.id);
|
|
123
|
+
Alert.alert(
|
|
124
|
+
t('Message flagged'),
|
|
125
|
+
t('The message has been reported to a moderator.'),
|
|
126
|
+
);
|
|
127
|
+
},
|
|
128
|
+
text: t('Flag'),
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
{ cancelable: false },
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
} catch (_) {
|
|
135
|
+
Alert.alert(
|
|
136
|
+
t('Cannot Flag Message'),
|
|
137
|
+
t('Flag action failed either due to a network issue or the message is already flagged'),
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
87
142
|
const handleToggleReaction = async (reactionType: string) => {
|
|
88
143
|
const messageId = message.id;
|
|
89
144
|
const own_reactions = message.own_reactions ?? [];
|
|
@@ -114,8 +169,10 @@ export const useMessageActionHandlers = <
|
|
|
114
169
|
};
|
|
115
170
|
|
|
116
171
|
return {
|
|
172
|
+
handleCopyMessage,
|
|
117
173
|
handleDeleteMessage,
|
|
118
174
|
handleEditMessage,
|
|
175
|
+
handleFlagMessage,
|
|
119
176
|
handleQuotedReplyMessage,
|
|
120
177
|
handleResendMessage,
|
|
121
178
|
handleToggleBanUser,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Alert } from 'react-native';
|
|
3
2
|
|
|
4
3
|
import { useMessageActionHandlers } from './useMessageActionHandlers';
|
|
5
4
|
|
|
@@ -100,8 +99,10 @@ export const useMessageActions = <
|
|
|
100
99
|
},
|
|
101
100
|
} = useTheme();
|
|
102
101
|
const {
|
|
102
|
+
handleCopyMessage,
|
|
103
103
|
handleDeleteMessage,
|
|
104
104
|
handleEditMessage,
|
|
105
|
+
handleFlagMessage,
|
|
105
106
|
handleQuotedReplyMessage,
|
|
106
107
|
handleResendMessage,
|
|
107
108
|
handleToggleBanUser,
|
|
@@ -161,7 +162,7 @@ export const useMessageActions = <
|
|
|
161
162
|
if (handleCopy) {
|
|
162
163
|
handleCopy(message);
|
|
163
164
|
}
|
|
164
|
-
|
|
165
|
+
handleCopyMessage();
|
|
165
166
|
},
|
|
166
167
|
actionType: 'copyMessage',
|
|
167
168
|
icon: <Copy pathFill={grey} />,
|
|
@@ -171,29 +172,11 @@ export const useMessageActions = <
|
|
|
171
172
|
|
|
172
173
|
const deleteMessage: MessageActionType = {
|
|
173
174
|
action: () => {
|
|
174
|
-
setOverlay('
|
|
175
|
-
if (
|
|
176
|
-
|
|
177
|
-
t('Delete Message'),
|
|
178
|
-
t('Are you sure you want to permanently delete this message?'),
|
|
179
|
-
[
|
|
180
|
-
{ onPress: () => setOverlay('none'), text: t('Cancel') },
|
|
181
|
-
{
|
|
182
|
-
onPress: async () => {
|
|
183
|
-
setOverlay('none');
|
|
184
|
-
if (handleDelete) {
|
|
185
|
-
handleDelete(message);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
await handleDeleteMessage();
|
|
189
|
-
},
|
|
190
|
-
style: 'destructive',
|
|
191
|
-
text: t('Delete'),
|
|
192
|
-
},
|
|
193
|
-
],
|
|
194
|
-
{ cancelable: false },
|
|
195
|
-
);
|
|
175
|
+
setOverlay('none');
|
|
176
|
+
if (handleDelete) {
|
|
177
|
+
handleDelete(message);
|
|
196
178
|
}
|
|
179
|
+
handleDeleteMessage();
|
|
197
180
|
},
|
|
198
181
|
actionType: 'deleteMessage',
|
|
199
182
|
icon: <Delete fill={accent_red} size={32} />,
|
|
@@ -242,51 +225,12 @@ export const useMessageActions = <
|
|
|
242
225
|
|
|
243
226
|
const flagMessage: MessageActionType = {
|
|
244
227
|
action: () => {
|
|
245
|
-
setOverlay('
|
|
246
|
-
if (
|
|
247
|
-
|
|
248
|
-
t('Flag Message'),
|
|
249
|
-
t('Do you want to send a copy of this message to a moderator for further investigation?'),
|
|
250
|
-
[
|
|
251
|
-
{ onPress: () => setOverlay('none'), text: t('Cancel') },
|
|
252
|
-
{
|
|
253
|
-
onPress: async () => {
|
|
254
|
-
try {
|
|
255
|
-
if (handleFlag) {
|
|
256
|
-
handleFlag(message);
|
|
257
|
-
}
|
|
258
|
-
await client.flagMessage(message.id);
|
|
259
|
-
Alert.alert(
|
|
260
|
-
t('Message flagged'),
|
|
261
|
-
t('The message has been reported to a moderator.'),
|
|
262
|
-
[
|
|
263
|
-
{
|
|
264
|
-
onPress: () => setOverlay('none'),
|
|
265
|
-
text: t('Ok'),
|
|
266
|
-
},
|
|
267
|
-
],
|
|
268
|
-
);
|
|
269
|
-
} catch (_) {
|
|
270
|
-
Alert.alert(
|
|
271
|
-
t('Cannot Flag Message'),
|
|
272
|
-
t(
|
|
273
|
-
'Flag action failed either due to a network issue or the message is already flagged',
|
|
274
|
-
),
|
|
275
|
-
[
|
|
276
|
-
{
|
|
277
|
-
onPress: () => setOverlay('none'),
|
|
278
|
-
text: t('Ok'),
|
|
279
|
-
},
|
|
280
|
-
],
|
|
281
|
-
);
|
|
282
|
-
}
|
|
283
|
-
},
|
|
284
|
-
text: t('Flag'),
|
|
285
|
-
},
|
|
286
|
-
],
|
|
287
|
-
{ cancelable: false },
|
|
288
|
-
);
|
|
228
|
+
setOverlay('none');
|
|
229
|
+
if (handleFlag) {
|
|
230
|
+
handleFlag(message);
|
|
289
231
|
}
|
|
232
|
+
|
|
233
|
+
handleFlagMessage();
|
|
290
234
|
},
|
|
291
235
|
actionType: 'flagMessage',
|
|
292
236
|
icon: <MessageFlag pathFill={grey} />,
|
|
@@ -38,8 +38,10 @@ export type MessageContextValue<
|
|
|
38
38
|
groupStyles: GroupType[];
|
|
39
39
|
/** Handler for actions. Actions in combination with attachments can be used to build [commands](https://getstream.io/chat/docs/#channel_commands). */
|
|
40
40
|
handleAction: ActionHandler;
|
|
41
|
-
|
|
41
|
+
handleCopyMessage: () => void;
|
|
42
|
+
handleDeleteMessage: () => void;
|
|
42
43
|
handleEditMessage: () => void;
|
|
44
|
+
handleFlagMessage: () => void;
|
|
43
45
|
handleQuotedReplyMessage: () => void;
|
|
44
46
|
handleResendMessage: () => Promise<void>;
|
|
45
47
|
handleToggleBanUser: () => Promise<void>;
|
package/src/version.json
CHANGED