@linktr.ee/messaging-react 1.17.0 → 1.17.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/dist/index.js +560 -573
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CustomMessage/index.tsx +4 -40
package/package.json
CHANGED
|
@@ -2,19 +2,15 @@ import classNames from 'classnames'
|
|
|
2
2
|
import React, { useMemo, useState } from 'react'
|
|
3
3
|
import {
|
|
4
4
|
Attachment as DefaultAttachment,
|
|
5
|
-
Avatar as DefaultAvatar,
|
|
6
5
|
EditMessageModal as DefaultEditMessageModal,
|
|
7
6
|
MessageBounceModal,
|
|
8
7
|
MessageBouncePrompt as DefaultMessageBouncePrompt,
|
|
9
8
|
MessageBlocked as DefaultMessageBlocked,
|
|
10
9
|
MessageDeleted as DefaultMessageDeleted,
|
|
11
|
-
MessageEditedTimestamp,
|
|
12
10
|
MessageErrorIcon,
|
|
13
11
|
MessageIsThreadReplyInChannelButtonIndicator as DefaultMessageIsThreadReplyInChannelButtonIndicator,
|
|
14
12
|
MessageRepliesCountButton as DefaultMessageRepliesCountButton,
|
|
15
|
-
MessageStatus as DefaultMessageStatus,
|
|
16
13
|
MessageText,
|
|
17
|
-
MessageTimestamp as DefaultMessageTimestamp,
|
|
18
14
|
Poll,
|
|
19
15
|
ReminderNotification as DefaultReminderNotification,
|
|
20
16
|
StreamedMessageText as DefaultStreamedMessageText,
|
|
@@ -22,18 +18,18 @@ import {
|
|
|
22
18
|
isDateSeparatorMessage,
|
|
23
19
|
isMessageBlocked,
|
|
24
20
|
isMessageBounced,
|
|
25
|
-
isMessageEdited,
|
|
26
21
|
messageHasAttachments,
|
|
27
22
|
messageHasReactions,
|
|
28
23
|
useComponentContext,
|
|
29
24
|
useChatContext,
|
|
30
25
|
useMessageContext,
|
|
31
26
|
useMessageReminder,
|
|
32
|
-
useTranslationContext,
|
|
33
27
|
type MessageContextValue,
|
|
34
28
|
type MessageUIComponentProps,
|
|
35
29
|
} from 'stream-chat-react'
|
|
36
30
|
|
|
31
|
+
import { Avatar } from '../Avatar'
|
|
32
|
+
|
|
37
33
|
import { MessageTag, isTipOnlyMessage } from './MessageTag'
|
|
38
34
|
|
|
39
35
|
type CustomMessageWithContextProps = MessageContextValue
|
|
@@ -52,29 +48,22 @@ const CustomMessageWithContext = (props: CustomMessageWithContextProps) => {
|
|
|
52
48
|
isMessageAIGenerated,
|
|
53
49
|
isMyMessage,
|
|
54
50
|
message,
|
|
55
|
-
onUserClick,
|
|
56
|
-
onUserHover,
|
|
57
51
|
renderText,
|
|
58
52
|
threadList,
|
|
59
53
|
} = props
|
|
60
54
|
|
|
61
55
|
const { client } = useChatContext('CustomMessage')
|
|
62
|
-
const { t } = useTranslationContext('CustomMessage')
|
|
63
56
|
const [isBounceDialogOpen, setIsBounceDialogOpen] = useState(false)
|
|
64
|
-
const [isEditedTimestampOpen, setEditedTimestampOpen] = useState(false)
|
|
65
57
|
const reminder = useMessageReminder(message.id)
|
|
66
58
|
|
|
67
59
|
const {
|
|
68
60
|
Attachment = DefaultAttachment,
|
|
69
|
-
Avatar = DefaultAvatar,
|
|
70
61
|
EditMessageModal = DefaultEditMessageModal,
|
|
71
62
|
MessageBlocked = DefaultMessageBlocked,
|
|
72
63
|
MessageBouncePrompt = DefaultMessageBouncePrompt,
|
|
73
64
|
MessageDeleted = DefaultMessageDeleted,
|
|
74
65
|
MessageIsThreadReplyInChannelButtonIndicator = DefaultMessageIsThreadReplyInChannelButtonIndicator,
|
|
75
66
|
MessageRepliesCountButton = DefaultMessageRepliesCountButton,
|
|
76
|
-
MessageStatus = DefaultMessageStatus,
|
|
77
|
-
MessageTimestamp = DefaultMessageTimestamp,
|
|
78
67
|
ReminderNotification = DefaultReminderNotification,
|
|
79
68
|
StreamedMessageText = DefaultStreamedMessageText,
|
|
80
69
|
PinIndicator,
|
|
@@ -108,23 +97,18 @@ const CustomMessageWithContext = (props: CustomMessageWithContextProps) => {
|
|
|
108
97
|
return <MessageBlocked />
|
|
109
98
|
}
|
|
110
99
|
|
|
111
|
-
const showMetadata = !groupedByUser || endOfGroup
|
|
112
100
|
const showReplyCountButton = !threadList && !!message.reply_count
|
|
113
101
|
const showIsReplyInChannel =
|
|
114
102
|
!threadList && message.show_in_channel && message.parent_id
|
|
115
103
|
const allowRetry =
|
|
116
104
|
message.status === 'failed' && message.error?.status !== 403
|
|
117
105
|
const isBounced = isMessageBounced(message)
|
|
118
|
-
const isEdited = isMessageEdited(message) && !isAIGenerated
|
|
119
|
-
|
|
120
106
|
let handleClick: (() => void) | undefined = undefined
|
|
121
107
|
|
|
122
108
|
if (allowRetry) {
|
|
123
109
|
handleClick = () => handleRetry(message)
|
|
124
110
|
} else if (isBounced) {
|
|
125
111
|
handleClick = () => setIsBounceDialogOpen(true)
|
|
126
|
-
} else if (isEdited) {
|
|
127
|
-
handleClick = () => setEditedTimestampOpen((prev) => !prev)
|
|
128
112
|
}
|
|
129
113
|
|
|
130
114
|
const rootClassName = classNames(
|
|
@@ -172,11 +156,10 @@ const CustomMessageWithContext = (props: CustomMessageWithContextProps) => {
|
|
|
172
156
|
{!!reminder && <ReminderNotification reminder={reminder} />}
|
|
173
157
|
{message.user && (
|
|
174
158
|
<Avatar
|
|
159
|
+
className="str-chat__avatar str-chat__message-sender-avatar"
|
|
160
|
+
id={message.user.id}
|
|
175
161
|
image={message.user.image}
|
|
176
162
|
name={message.user.name || message.user.id}
|
|
177
|
-
onClick={onUserClick}
|
|
178
|
-
onMouseOver={onUserHover}
|
|
179
|
-
user={message.user}
|
|
180
163
|
/>
|
|
181
164
|
)}
|
|
182
165
|
{/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
|
|
@@ -233,25 +216,6 @@ const CustomMessageWithContext = (props: CustomMessageWithContextProps) => {
|
|
|
233
216
|
{showIsReplyInChannel && (
|
|
234
217
|
<MessageIsThreadReplyInChannelButtonIndicator />
|
|
235
218
|
)}
|
|
236
|
-
{showMetadata && (
|
|
237
|
-
<div className="str-chat__message-metadata">
|
|
238
|
-
<MessageStatus />
|
|
239
|
-
{!isMyMessage() && !!message.user && (
|
|
240
|
-
<span className="str-chat__message-simple-name">
|
|
241
|
-
{message.user.name || message.user.id}
|
|
242
|
-
</span>
|
|
243
|
-
)}
|
|
244
|
-
<MessageTimestamp customClass="str-chat__message-simple-timestamp" />
|
|
245
|
-
{isEdited && (
|
|
246
|
-
<span className="str-chat__mesage-simple-edited">
|
|
247
|
-
{t('Edited')}
|
|
248
|
-
</span>
|
|
249
|
-
)}
|
|
250
|
-
{isEdited && (
|
|
251
|
-
<MessageEditedTimestamp calendar open={isEditedTimestampOpen} />
|
|
252
|
-
)}
|
|
253
|
-
</div>
|
|
254
|
-
)}
|
|
255
219
|
</div>
|
|
256
220
|
</>
|
|
257
221
|
)
|