stream-chat-react-native-core 5.15.3-beta.1 → 5.15.3-beta.3
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/ChannelPreview/ChannelPreviewMessenger.js +35 -14
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +25 -24
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +26 -26
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +35 -14
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +25 -24
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +26 -26
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/package.json +1 -1
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +12 -2
- package/src/components/MessageOverlay/MessageActionList.tsx +23 -22
- package/src/components/MessageOverlay/MessageActionListItem.tsx +22 -22
- package/src/version.json +1 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
4
|
value: true
|
|
4
5
|
});
|
|
5
6
|
exports.ChannelPreviewMessenger = void 0;
|
|
6
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
|
-
var
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
10
|
var _reactNative = require("react-native");
|
|
9
11
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
12
|
var _ChannelAvatar = require("./ChannelAvatar");
|
|
@@ -15,10 +17,13 @@ var _ChannelPreviewTitle = require("./ChannelPreviewTitle");
|
|
|
15
17
|
var _ChannelPreviewUnreadCount = require("./ChannelPreviewUnreadCount");
|
|
16
18
|
var _useChannelPreviewDisplayName = require("./hooks/useChannelPreviewDisplayName");
|
|
17
19
|
var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
|
|
20
|
+
var _ChatContext = require("../../contexts/chatContext/ChatContext");
|
|
18
21
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
19
22
|
var _utils = require("../../utils/utils");
|
|
20
23
|
var _this = this,
|
|
21
24
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
|
|
25
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
27
|
var styles = _reactNative.StyleSheet.create({
|
|
23
28
|
container: {
|
|
24
29
|
borderBottomWidth: 1,
|
|
@@ -76,8 +81,24 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
76
81
|
_useTheme$theme$color = _useTheme$theme.colors,
|
|
77
82
|
border = _useTheme$theme$color.border,
|
|
78
83
|
white_snow = _useTheme$theme$color.white_snow;
|
|
84
|
+
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
85
|
+
client = _useChatContext.client;
|
|
79
86
|
var displayName = (0, _useChannelPreviewDisplayName.useChannelPreviewDisplayName)(channel, Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)));
|
|
80
|
-
var
|
|
87
|
+
var _useState = (0, _react.useState)(function () {
|
|
88
|
+
return channel.muteStatus().muted;
|
|
89
|
+
}),
|
|
90
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
91
|
+
isChannelMuted = _useState2[0],
|
|
92
|
+
setIsChannelMuted = _useState2[1];
|
|
93
|
+
(0, _react.useEffect)(function () {
|
|
94
|
+
var handleEvent = function handleEvent() {
|
|
95
|
+
return setIsChannelMuted(channel.muteStatus().muted);
|
|
96
|
+
};
|
|
97
|
+
client.on('notification.channel_mutes_updated', handleEvent);
|
|
98
|
+
return function () {
|
|
99
|
+
return client.off('notification.channel_mutes_updated', handleEvent);
|
|
100
|
+
};
|
|
101
|
+
}, []);
|
|
81
102
|
return _react["default"].createElement(_reactNativeGestureHandler.TouchableOpacity, {
|
|
82
103
|
onPress: function onPress() {
|
|
83
104
|
if (onSelect) {
|
|
@@ -92,7 +113,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
92
113
|
__self: _this,
|
|
93
114
|
__source: {
|
|
94
115
|
fileName: _jsxFileName,
|
|
95
|
-
lineNumber:
|
|
116
|
+
lineNumber: 148,
|
|
96
117
|
columnNumber: 5
|
|
97
118
|
}
|
|
98
119
|
}, _react["default"].createElement(PreviewAvatar, {
|
|
@@ -100,7 +121,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
100
121
|
__self: _this,
|
|
101
122
|
__source: {
|
|
102
123
|
fileName: _jsxFileName,
|
|
103
|
-
lineNumber:
|
|
124
|
+
lineNumber: 161,
|
|
104
125
|
columnNumber: 7
|
|
105
126
|
}
|
|
106
127
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -109,7 +130,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
109
130
|
__self: _this,
|
|
110
131
|
__source: {
|
|
111
132
|
fileName: _jsxFileName,
|
|
112
|
-
lineNumber:
|
|
133
|
+
lineNumber: 162,
|
|
113
134
|
columnNumber: 7
|
|
114
135
|
}
|
|
115
136
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -117,7 +138,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
117
138
|
__self: _this,
|
|
118
139
|
__source: {
|
|
119
140
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
141
|
+
lineNumber: 166,
|
|
121
142
|
columnNumber: 9
|
|
122
143
|
}
|
|
123
144
|
}, _react["default"].createElement(PreviewTitle, {
|
|
@@ -126,7 +147,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
126
147
|
__self: _this,
|
|
127
148
|
__source: {
|
|
128
149
|
fileName: _jsxFileName,
|
|
129
|
-
lineNumber:
|
|
150
|
+
lineNumber: 167,
|
|
130
151
|
columnNumber: 11
|
|
131
152
|
}
|
|
132
153
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -134,14 +155,14 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
134
155
|
__self: _this,
|
|
135
156
|
__source: {
|
|
136
157
|
fileName: _jsxFileName,
|
|
137
|
-
lineNumber:
|
|
158
|
+
lineNumber: 168,
|
|
138
159
|
columnNumber: 11
|
|
139
160
|
}
|
|
140
161
|
}, isChannelMuted && _react["default"].createElement(PreviewMutedStatus, {
|
|
141
162
|
__self: _this,
|
|
142
163
|
__source: {
|
|
143
164
|
fileName: _jsxFileName,
|
|
144
|
-
lineNumber:
|
|
165
|
+
lineNumber: 169,
|
|
145
166
|
columnNumber: 32
|
|
146
167
|
}
|
|
147
168
|
}), _react["default"].createElement(PreviewUnreadCount, {
|
|
@@ -151,7 +172,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
151
172
|
__self: _this,
|
|
152
173
|
__source: {
|
|
153
174
|
fileName: _jsxFileName,
|
|
154
|
-
lineNumber:
|
|
175
|
+
lineNumber: 170,
|
|
155
176
|
columnNumber: 13
|
|
156
177
|
}
|
|
157
178
|
}))), _react["default"].createElement(_reactNative.View, {
|
|
@@ -159,7 +180,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
159
180
|
__self: _this,
|
|
160
181
|
__source: {
|
|
161
182
|
fileName: _jsxFileName,
|
|
162
|
-
lineNumber:
|
|
183
|
+
lineNumber: 173,
|
|
163
184
|
columnNumber: 9
|
|
164
185
|
}
|
|
165
186
|
}, _react["default"].createElement(PreviewMessage, {
|
|
@@ -167,7 +188,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
167
188
|
__self: _this,
|
|
168
189
|
__source: {
|
|
169
190
|
fileName: _jsxFileName,
|
|
170
|
-
lineNumber:
|
|
191
|
+
lineNumber: 174,
|
|
171
192
|
columnNumber: 11
|
|
172
193
|
}
|
|
173
194
|
}), _react["default"].createElement(PreviewStatus, {
|
|
@@ -177,7 +198,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
177
198
|
__self: _this,
|
|
178
199
|
__source: {
|
|
179
200
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
201
|
+
lineNumber: 175,
|
|
181
202
|
columnNumber: 11
|
|
182
203
|
}
|
|
183
204
|
}))));
|
|
@@ -206,7 +227,7 @@ var ChannelPreviewMessenger = function ChannelPreviewMessenger(props) {
|
|
|
206
227
|
__self: _this,
|
|
207
228
|
__source: {
|
|
208
229
|
fileName: _jsxFileName,
|
|
209
|
-
lineNumber:
|
|
230
|
+
lineNumber: 223,
|
|
210
231
|
columnNumber: 5
|
|
211
232
|
}
|
|
212
233
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_ChannelAvatar","_ChannelPreviewMessage","_ChannelPreviewMutedStatus","_ChannelPreviewStatus","_ChannelPreviewTitle","_ChannelPreviewUnreadCount","_useChannelPreviewDisplayName","_ChannelsContext","_ThemeContext","_utils","_this","_jsxFileName","styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","maxWidth","vw","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","_props$PreviewAvatar","PreviewAvatar","ChannelAvatar","_props$PreviewMessage","PreviewMessage","ChannelPreviewMessage","_props$PreviewStatus","PreviewStatus","ChannelPreviewStatus","_props$PreviewTitle","PreviewTitle","ChannelPreviewTitle","_props$PreviewUnreadC","PreviewUnreadCount","ChannelPreviewUnreadCount","_props$PreviewMutedSt","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$chann","channelPreview","_useTheme$theme$color","colors","border","white_snow","displayName","useChannelPreviewDisplayName","Math","floor","isChannelMuted","muteStatus","muted","createElement","TouchableOpacity","onPress","style","backgroundColor","borderBottomColor","testID","__self","__source","fileName","lineNumber","columnNumber","View","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreviewMessenger.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of the latest message.\n * }\n * ```\n *\n * The read status is either of the following:\n *\n * 0: The message was not sent by the current user\n * 1: The message was sent by the current user and is unread\n * 2: The message was sent by the current user and is read\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const isChannelMuted = channel.muteStatus().muted;\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n {isChannelMuted && <PreviewMutedStatus />}\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_ChannelAvatar","_ChannelPreviewMessage","_ChannelPreviewMutedStatus","_ChannelPreviewStatus","_ChannelPreviewTitle","_ChannelPreviewUnreadCount","_useChannelPreviewDisplayName","_ChannelsContext","_ChatContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","maxWidth","vw","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","_props$PreviewAvatar","PreviewAvatar","ChannelAvatar","_props$PreviewMessage","PreviewMessage","ChannelPreviewMessage","_props$PreviewStatus","PreviewStatus","ChannelPreviewStatus","_props$PreviewTitle","PreviewTitle","ChannelPreviewTitle","_props$PreviewUnreadC","PreviewUnreadCount","ChannelPreviewUnreadCount","_props$PreviewMutedSt","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$chann","channelPreview","_useTheme$theme$color","colors","border","white_snow","_useChatContext","useChatContext","client","displayName","useChannelPreviewDisplayName","Math","floor","_useState","useState","muteStatus","muted","_useState2","_slicedToArray2","isChannelMuted","setIsChannelMuted","useEffect","handleEvent","on","off","createElement","TouchableOpacity","onPress","style","backgroundColor","borderBottomColor","testID","__self","__source","fileName","lineNumber","columnNumber","View","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreviewMessenger.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of the latest message.\n * }\n * ```\n *\n * The read status is either of the following:\n *\n * 0: The message was not sent by the current user\n * 1: The message was sent by the current user and is unread\n * 2: The message was sent by the current user and is read\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const { client } = useChatContext<StreamChatGenerics>();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const [isChannelMuted, setIsChannelMuted] = useState(() => channel.muteStatus().muted);\n\n useEffect(() => {\n const handleEvent = () => setIsChannelMuted(channel.muteStatus().muted);\n\n client.on('notification.channel_mutes_updated', handleEvent);\n return () => client.off('notification.channel_mutes_updated', handleEvent);\n }, []);\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n {isChannelMuted && <PreviewMutedStatus />}\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"],"mappings":"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"}
|
|
@@ -16,27 +16,6 @@ var _this = this,
|
|
|
16
16
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionList.tsx";
|
|
17
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
var styles = _reactNative.StyleSheet.create({
|
|
20
|
-
bottomBorder: {
|
|
21
|
-
borderBottomWidth: 1
|
|
22
|
-
},
|
|
23
|
-
container: {
|
|
24
|
-
borderRadius: 16,
|
|
25
|
-
marginTop: 8,
|
|
26
|
-
maxWidth: 275
|
|
27
|
-
},
|
|
28
|
-
row: {
|
|
29
|
-
alignItems: 'center',
|
|
30
|
-
flexDirection: 'row',
|
|
31
|
-
justifyContent: 'flex-start',
|
|
32
|
-
minWidth: (0, _utils.vw)(65),
|
|
33
|
-
paddingHorizontal: 20,
|
|
34
|
-
paddingVertical: 10
|
|
35
|
-
},
|
|
36
|
-
titleStyle: {
|
|
37
|
-
paddingLeft: 20
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
19
|
var MessageActionListWithContext = function MessageActionListWithContext(props) {
|
|
41
20
|
var alignment = props.alignment,
|
|
42
21
|
messageActions = props.messageActions,
|
|
@@ -83,7 +62,7 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
83
62
|
__self: _this,
|
|
84
63
|
__source: {
|
|
85
64
|
fileName: _jsxFileName,
|
|
86
|
-
lineNumber:
|
|
65
|
+
lineNumber: 87,
|
|
87
66
|
columnNumber: 5
|
|
88
67
|
}
|
|
89
68
|
}, messageActions == null ? void 0 : messageActions.map(function (messageAction, index) {
|
|
@@ -96,7 +75,7 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
96
75
|
__self: _this,
|
|
97
76
|
__source: {
|
|
98
77
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
78
|
+
lineNumber: 96,
|
|
100
79
|
columnNumber: 9
|
|
101
80
|
}
|
|
102
81
|
}));
|
|
@@ -127,10 +106,32 @@ var MessageActionList = function MessageActionList(props) {
|
|
|
127
106
|
__self: _this,
|
|
128
107
|
__source: {
|
|
129
108
|
fileName: _jsxFileName,
|
|
130
|
-
lineNumber:
|
|
109
|
+
lineNumber: 147,
|
|
131
110
|
columnNumber: 10
|
|
132
111
|
}
|
|
133
112
|
}));
|
|
134
113
|
};
|
|
135
114
|
exports.MessageActionList = MessageActionList;
|
|
115
|
+
var styles = _reactNative.StyleSheet.create({
|
|
116
|
+
bottomBorder: {
|
|
117
|
+
borderBottomWidth: 1
|
|
118
|
+
},
|
|
119
|
+
container: {
|
|
120
|
+
borderRadius: 16,
|
|
121
|
+
marginTop: 8,
|
|
122
|
+
minWidth: (0, _utils.vw)(65),
|
|
123
|
+
overflow: 'hidden'
|
|
124
|
+
},
|
|
125
|
+
row: {
|
|
126
|
+
alignItems: 'center',
|
|
127
|
+
flexDirection: 'row',
|
|
128
|
+
justifyContent: 'flex-start',
|
|
129
|
+
minWidth: (0, _utils.vw)(65),
|
|
130
|
+
paddingHorizontal: 20,
|
|
131
|
+
paddingVertical: 10
|
|
132
|
+
},
|
|
133
|
+
titleStyle: {
|
|
134
|
+
paddingLeft: 20
|
|
135
|
+
}
|
|
136
|
+
});
|
|
136
137
|
//# sourceMappingURL=MessageActionList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","bottomBorder","borderBottomWidth","container","borderRadius","marginTop","maxWidth","row","alignItems","flexDirection","justifyContent","minWidth","vw","paddingHorizontal","paddingVertical","titleStyle","paddingLeft","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n maxWidth: 275,\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,uBAAA,CAAAH,OAAA;AAEA,IAAAI,sBAAA,GAAAJ,OAAA;AAEA,IAAAK,sBAAA,GAAAL,OAAA;AAKA,IAAAM,aAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAAuC,IAAAQ,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAY,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEvC,IAAMW,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,YAAY,EAAE;IACZC,iBAAiB,EAAE;EACrB,CAAC;EACDC,SAAS,EAAE;IACTC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDC,GAAG,EAAE;IACHC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,YAAY;IAC5BC,QAAQ,EAAE,IAAAC,SAAE,EAAC,EAAE,CAAC;IAChBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDC,UAAU,EAAE;IACVC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAiBF,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAGhCC,KAA4D,EACzD;EACH,IACEC,SAAS,GASPD,KAAK,CATPC,SAAS;IACTC,cAAc,GAQZF,KAAK,CARPE,cAAc;IACdC,UAAU,GAORH,KAAK,CAPPG,UAAU;IAAAC,qBAAA,GAORJ,KAAK,CANPK,qBAAqB;IAArBA,qBAAqB,GAAAD,qBAAA,cAAGE,4CAA4B,GAAAF,qBAAA;IACpDG,WAAW,GAKTP,KAAK,CALPO,WAAW;IACXC,OAAO,GAILR,KAAK,CAJPQ,OAAO;IACPC,gBAAgB,GAGdT,KAAK,CAHPS,gBAAgB;IAChBC,KAAK,GAEHV,KAAK,CAFPU,KAAK;IACLC,eAAe,GACbX,KAAK,CADPW,eAAe;EAGjB,IAAMC,kBAAkB,GAAG;IACzBF,KAAK,EAALA,KAAK;IACLH,WAAW,EAAXA,WAAW;IACXI,eAAe,EAAfA,eAAe;IACfH,OAAO,EAAPA,OAAO;IACPC,gBAAgB,EAAhBA;EACF,CAAC;EAED,IAAAI,SAAA,GAII,IAAAC,sBAAQ,EAAC,CAAC;IAFAC,UAAU,GAAAF,SAAA,CADtBG,KAAK,CACHC,MAAM,CAAIF,UAAU;EAIxB,IAAMG,MAAM,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EAChC,IAAMC,KAAK,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAE/B,IAAME,eAAe,GAAG,IAAAC,uCAAgB,EACtC;IAAA,OAAO;MACLC,SAAS,EAAE,CACT;QACEC,UAAU,EAAE,IAAAC,kCAAW,EAACtB,UAAU,CAACuB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAACR,MAAM,CAACQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;MAC1E,CAAC,EACD;QACEC,UAAU,EAAE,IAAAF,kCAAW,EACrBtB,UAAU,CAACuB,KAAK,EAChB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACzB,SAAS,KAAK,MAAM,GAAG,CAACmB,KAAK,CAACM,KAAK,GAAG,CAAC,GAAGN,KAAK,CAACM,KAAK,GAAG,CAAC,EAAE,CAAC,CAC/D;MACF,CAAC,EACD;QACEE,KAAK,EAAEzB,UAAU,CAACuB;MACpB,CAAC;IAEL,CAAC;EAAA,CAAC,EACF,CAACzB,SAAS,CACZ,CAAC;EAED,OACEvD,MAAA,YAAAmF,aAAA,CAAC/E,sBAAA,WAAQ,CAACgF,IAAI;IACZC,QAAQ,EAAE,SAAAA,SAAAC,IAAA,EAAiC;MAAA,IAAfC,MAAM,GAAAD,IAAA,CAArBE,WAAW,CAAID,MAAM;MAChCb,KAAK,CAACM,KAAK,GAAGO,MAAM,CAACb,KAAK;MAC1BF,MAAM,CAACQ,KAAK,GAAGO,MAAM,CAACf,MAAM;IAC9B,CAAE;IACFiB,KAAK,EAAE,CAACvD,MAAM,CAACK,SAAS,EAAE;MAAEmD,eAAe,EAAErB;IAAW,CAAC,EAAEM,eAAe,CAAE;IAC5EgB,MAAM,EAAC,qBAAqB;IAAAC,MAAA,EAAAlF,KAAA;IAAAmF,QAAA;MAAAC,QAAA,EAAAnF,YAAA;MAAAoF,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE3BxC,cAAc,oBAAdA,cAAc,CAAEyC,GAAG,CAAC,UAACC,aAAa,EAAEC,KAAK;IAAA,OACxCnG,MAAA,YAAAmF,aAAA,CAACxB,qBAAqB,MAAAyC,SAAA;MACpBxE,GAAG,EAAEsE,aAAa,CAACG;IAAM,GACrBnC,kBAAkB,MAAAkC,SAAA,iBACbF,aAAa;MAAEC,KAAK,EAALA,KAAK;MAAEG,MAAM,EAAE9C,cAAc,CAAC8C;IAAM;MAAAV,MAAA,EAAAlF,KAAA;MAAAmF,QAAA;QAAAC,QAAA,EAAAnF,YAAA;QAAAoF,UAAA;QAAAC,YAAA;MAAA;IAAA,EAC7D,CAAC;EAAA,CACH,CACY,CAAC;AAEpB,CAAC;AAED,IAAMO,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAAgE,EAChEC,SAAgE,EAC7D;EACH,IAAmBC,aAAa,GAAyCF,SAAS,CAA1EjD,SAAS;IAAiCoD,kBAAkB,GAAKH,SAAS,CAAhDhD,cAAc;EAChD,IAAmBoD,aAAa,GAAyCH,SAAS,CAA1ElD,SAAS;IAAiCsD,kBAAkB,GAAKJ,SAAS,CAAhDjD,cAAc;EAEhD,IAAMsD,mBAAmB,GAAG,CAAAH,kBAAkB,oBAAlBA,kBAAkB,CAAEL,MAAM,OAAKO,kBAAkB,oBAAlBA,kBAAkB,CAAEP,MAAM;EACrF,IAAI,CAACQ,mBAAmB,EAAE,OAAO,KAAK;EAEtC,IAAMC,cAAc,GAAGL,aAAa,KAAKE,aAAa;EACtD,IAAI,CAACG,cAAc,EAAE,OAAO,KAAK;EAEjC,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,yBAAyB,GAAGC,iBAAK,CAACC,IAAI,CAC1C7D,4BAA4B,EAC5BkD,QACF,CAAwC;AAajC,IAAMY,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5B7D,KAAiD,EAC9C;EACH,IAAA8D,qBAAA,GAAiB,IAAAC,+CAAwB,EAAqB,CAAC;IAAvDC,IAAI,GAAAF,qBAAA,CAAJE,IAAI;EAEZ,IAAAC,KAAA,GAAsCD,IAAI,IAAI,CAAC,CAAC;IAAxC/D,SAAS,GAAAgE,KAAA,CAAThE,SAAS;IAAEC,cAAc,GAAA+D,KAAA,CAAd/D,cAAc;EAEjC,OAAOxD,MAAA,YAAAmF,aAAA,CAAC6B,yBAAyB,MAAAZ,SAAA;IAAO7C,SAAS,EAATA,SAAS;IAAEC,cAAc,EAAdA;EAAc,GAAQF,KAAK;IAAAsC,MAAA,EAAAlF,KAAA;IAAAmF,QAAA;MAAAC,QAAA,EAAAnF,YAAA;MAAAoF,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,CAAC;AACpF,CAAC;AAACwB,OAAA,CAAAL,iBAAA,GAAAA,iBAAA"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","styles","container","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports","StyleSheet","create","bottomBorder","borderBottomWidth","borderRadius","marginTop","minWidth","vw","overflow","row","alignItems","flexDirection","justifyContent","paddingHorizontal","paddingVertical","titleStyle","paddingLeft"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n minWidth: vw(65),\n overflow: 'hidden',\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
@@ -13,27 +13,6 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
|
13
13
|
var _utils = require("../../utils/utils");
|
|
14
14
|
var _this = this,
|
|
15
15
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionListItem.tsx";
|
|
16
|
-
var styles = _reactNative.StyleSheet.create({
|
|
17
|
-
bottomBorder: {
|
|
18
|
-
borderBottomWidth: 1
|
|
19
|
-
},
|
|
20
|
-
container: {
|
|
21
|
-
borderRadius: 16,
|
|
22
|
-
marginTop: 8,
|
|
23
|
-
maxWidth: 275
|
|
24
|
-
},
|
|
25
|
-
row: {
|
|
26
|
-
alignItems: 'center',
|
|
27
|
-
flexDirection: 'row',
|
|
28
|
-
justifyContent: 'flex-start',
|
|
29
|
-
minWidth: (0, _utils.vw)(65),
|
|
30
|
-
paddingHorizontal: 20,
|
|
31
|
-
paddingVertical: 10
|
|
32
|
-
},
|
|
33
|
-
titleStyle: {
|
|
34
|
-
paddingLeft: 20
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
16
|
var MessageActionListItemWithContext = function MessageActionListItemWithContext(props) {
|
|
38
17
|
var action = props.action,
|
|
39
18
|
actionType = props.actionType,
|
|
@@ -58,7 +37,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
58
37
|
__self: _this,
|
|
59
38
|
__source: {
|
|
60
39
|
fileName: _jsxFileName,
|
|
61
|
-
lineNumber:
|
|
40
|
+
lineNumber: 64,
|
|
62
41
|
columnNumber: 5
|
|
63
42
|
}
|
|
64
43
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -69,7 +48,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
69
48
|
__self: _this,
|
|
70
49
|
__source: {
|
|
71
50
|
fileName: _jsxFileName,
|
|
72
|
-
lineNumber:
|
|
51
|
+
lineNumber: 65,
|
|
73
52
|
columnNumber: 7
|
|
74
53
|
}
|
|
75
54
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -77,7 +56,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
77
56
|
__self: _this,
|
|
78
57
|
__source: {
|
|
79
58
|
fileName: _jsxFileName,
|
|
80
|
-
lineNumber:
|
|
59
|
+
lineNumber: 74,
|
|
81
60
|
columnNumber: 9
|
|
82
61
|
}
|
|
83
62
|
}, icon), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -87,7 +66,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
87
66
|
__self: _this,
|
|
88
67
|
__source: {
|
|
89
68
|
fileName: _jsxFileName,
|
|
90
|
-
lineNumber:
|
|
69
|
+
lineNumber: 75,
|
|
91
70
|
columnNumber: 9
|
|
92
71
|
}
|
|
93
72
|
}, title)));
|
|
@@ -102,10 +81,31 @@ var MessageActionListItem = function MessageActionListItem(props) {
|
|
|
102
81
|
__self: _this,
|
|
103
82
|
__source: {
|
|
104
83
|
fileName: _jsxFileName,
|
|
105
|
-
lineNumber:
|
|
84
|
+
lineNumber: 102,
|
|
106
85
|
columnNumber: 6
|
|
107
86
|
}
|
|
108
87
|
}));
|
|
109
88
|
};
|
|
110
89
|
exports.MessageActionListItem = MessageActionListItem;
|
|
90
|
+
var styles = _reactNative.StyleSheet.create({
|
|
91
|
+
bottomBorder: {
|
|
92
|
+
borderBottomWidth: 1
|
|
93
|
+
},
|
|
94
|
+
container: {
|
|
95
|
+
borderRadius: 16,
|
|
96
|
+
marginTop: 8,
|
|
97
|
+
maxWidth: 275
|
|
98
|
+
},
|
|
99
|
+
row: {
|
|
100
|
+
alignItems: 'center',
|
|
101
|
+
flexDirection: 'row',
|
|
102
|
+
justifyContent: 'flex-start',
|
|
103
|
+
minWidth: (0, _utils.vw)(65),
|
|
104
|
+
paddingHorizontal: 20,
|
|
105
|
+
paddingVertical: 10
|
|
106
|
+
},
|
|
107
|
+
titleStyle: {
|
|
108
|
+
paddingLeft: 20
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
111
|
//# sourceMappingURL=MessageActionListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useMessageActionAnimation","_ThemeContext","_utils","_this","_jsxFileName","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useMessageActionAnimation","_ThemeContext","_utils","_this","_jsxFileName","MessageActionListItemWithContext","props","action","actionType","icon","index","length","title","titleStyle","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","border","messageActions","overlay","_useMessageActionAnim","useMessageActionAnimation","animatedStyle","onTap","createElement","TapGestureHandler","onHandlerStateChange","__self","__source","fileName","lineNumber","columnNumber","View","style","styles","row","_extends2","bottomBorder","borderBottomColor","actionContainer","testID","Text","color","messageActionIsEqual","prevProps","nextProps","MemoizedMessageActionListItem","React","memo","exports","MessageActionListItem","StyleSheet","create","borderBottomWidth","container","borderRadius","marginTop","maxWidth","alignItems","flexDirection","justifyContent","minWidth","vw","paddingHorizontal","paddingVertical","paddingLeft"],"sources":["MessageActionListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, Text, TextStyle, View } from 'react-native';\nimport { TapGestureHandler } from 'react-native-gesture-handler';\nimport Animated from 'react-native-reanimated';\n\nimport { useMessageActionAnimation } from './hooks/useMessageActionAnimation';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\nimport type { MessageOverlayPropsWithContext } from '../MessageOverlay/MessageOverlay';\n\nexport type ActionType =\n | 'blockUser'\n | 'copyMessage'\n | 'deleteMessage'\n | 'editMessage'\n | 'flagMessage'\n | 'muteUser'\n | 'pinMessage'\n | 'selectReaction'\n | 'reply'\n | 'retry'\n | 'quotedReply'\n | 'threadReply'\n | 'unpinMessage';\n\nexport type MessageActionType = {\n action: () => void;\n actionType: ActionType;\n title: string;\n icon?: React.ReactElement;\n titleStyle?: StyleProp<TextStyle>;\n};\n\nexport type MessageActionListItemProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = MessageActionType &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'error' | 'isMyMessage' | 'isThreadMessage' | 'message' | 'messageReactions'\n > & {\n index: number;\n length: number;\n };\n\nconst MessageActionListItemWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListItemProps<StreamChatGenerics>,\n) => {\n const { action, actionType, icon, index, length, title, titleStyle } = props;\n\n const {\n theme: {\n colors: { black, border },\n overlay: { messageActions },\n },\n } = useTheme();\n\n const { animatedStyle, onTap } = useMessageActionAnimation({ action });\n\n return (\n <TapGestureHandler onHandlerStateChange={onTap}>\n <Animated.View\n style={[\n styles.row,\n index !== length - 1 ? { ...styles.bottomBorder, borderBottomColor: border } : {},\n animatedStyle,\n messageActions.actionContainer,\n ]}\n testID={`${actionType}-list-item`}\n >\n <View style={messageActions.icon}>{icon}</View>\n <Text style={[styles.titleStyle, messageActions.title, { color: black }, titleStyle]}>\n {title}\n </Text>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nconst messageActionIsEqual = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n prevProps: MessageActionListItemProps<StreamChatGenerics>,\n nextProps: MessageActionListItemProps<StreamChatGenerics>,\n) => prevProps.length === nextProps.length;\n\nexport const MemoizedMessageActionListItem = React.memo(\n MessageActionListItemWithContext,\n messageActionIsEqual,\n) as typeof MessageActionListItemWithContext;\n\n/**\n * MessageActionListItem - A high-level component that implements all the logic required for a `MessageAction` in a `MessageActionList`\n */\nexport const MessageActionListItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListItemProps<StreamChatGenerics>,\n) => <MemoizedMessageActionListItem {...props} />;\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n maxWidth: 275,\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
4
|
value: true
|
|
4
5
|
});
|
|
5
6
|
exports.ChannelPreviewMessenger = void 0;
|
|
6
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
|
-
var
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
10
|
var _reactNative = require("react-native");
|
|
9
11
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
12
|
var _ChannelAvatar = require("./ChannelAvatar");
|
|
@@ -15,10 +17,13 @@ var _ChannelPreviewTitle = require("./ChannelPreviewTitle");
|
|
|
15
17
|
var _ChannelPreviewUnreadCount = require("./ChannelPreviewUnreadCount");
|
|
16
18
|
var _useChannelPreviewDisplayName = require("./hooks/useChannelPreviewDisplayName");
|
|
17
19
|
var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
|
|
20
|
+
var _ChatContext = require("../../contexts/chatContext/ChatContext");
|
|
18
21
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
19
22
|
var _utils = require("../../utils/utils");
|
|
20
23
|
var _this = this,
|
|
21
24
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
|
|
25
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
27
|
var styles = _reactNative.StyleSheet.create({
|
|
23
28
|
container: {
|
|
24
29
|
borderBottomWidth: 1,
|
|
@@ -76,8 +81,24 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
76
81
|
_useTheme$theme$color = _useTheme$theme.colors,
|
|
77
82
|
border = _useTheme$theme$color.border,
|
|
78
83
|
white_snow = _useTheme$theme$color.white_snow;
|
|
84
|
+
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
85
|
+
client = _useChatContext.client;
|
|
79
86
|
var displayName = (0, _useChannelPreviewDisplayName.useChannelPreviewDisplayName)(channel, Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)));
|
|
80
|
-
var
|
|
87
|
+
var _useState = (0, _react.useState)(function () {
|
|
88
|
+
return channel.muteStatus().muted;
|
|
89
|
+
}),
|
|
90
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
91
|
+
isChannelMuted = _useState2[0],
|
|
92
|
+
setIsChannelMuted = _useState2[1];
|
|
93
|
+
(0, _react.useEffect)(function () {
|
|
94
|
+
var handleEvent = function handleEvent() {
|
|
95
|
+
return setIsChannelMuted(channel.muteStatus().muted);
|
|
96
|
+
};
|
|
97
|
+
client.on('notification.channel_mutes_updated', handleEvent);
|
|
98
|
+
return function () {
|
|
99
|
+
return client.off('notification.channel_mutes_updated', handleEvent);
|
|
100
|
+
};
|
|
101
|
+
}, []);
|
|
81
102
|
return _react["default"].createElement(_reactNativeGestureHandler.TouchableOpacity, {
|
|
82
103
|
onPress: function onPress() {
|
|
83
104
|
if (onSelect) {
|
|
@@ -92,7 +113,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
92
113
|
__self: _this,
|
|
93
114
|
__source: {
|
|
94
115
|
fileName: _jsxFileName,
|
|
95
|
-
lineNumber:
|
|
116
|
+
lineNumber: 148,
|
|
96
117
|
columnNumber: 5
|
|
97
118
|
}
|
|
98
119
|
}, _react["default"].createElement(PreviewAvatar, {
|
|
@@ -100,7 +121,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
100
121
|
__self: _this,
|
|
101
122
|
__source: {
|
|
102
123
|
fileName: _jsxFileName,
|
|
103
|
-
lineNumber:
|
|
124
|
+
lineNumber: 161,
|
|
104
125
|
columnNumber: 7
|
|
105
126
|
}
|
|
106
127
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -109,7 +130,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
109
130
|
__self: _this,
|
|
110
131
|
__source: {
|
|
111
132
|
fileName: _jsxFileName,
|
|
112
|
-
lineNumber:
|
|
133
|
+
lineNumber: 162,
|
|
113
134
|
columnNumber: 7
|
|
114
135
|
}
|
|
115
136
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -117,7 +138,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
117
138
|
__self: _this,
|
|
118
139
|
__source: {
|
|
119
140
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
141
|
+
lineNumber: 166,
|
|
121
142
|
columnNumber: 9
|
|
122
143
|
}
|
|
123
144
|
}, _react["default"].createElement(PreviewTitle, {
|
|
@@ -126,7 +147,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
126
147
|
__self: _this,
|
|
127
148
|
__source: {
|
|
128
149
|
fileName: _jsxFileName,
|
|
129
|
-
lineNumber:
|
|
150
|
+
lineNumber: 167,
|
|
130
151
|
columnNumber: 11
|
|
131
152
|
}
|
|
132
153
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -134,14 +155,14 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
134
155
|
__self: _this,
|
|
135
156
|
__source: {
|
|
136
157
|
fileName: _jsxFileName,
|
|
137
|
-
lineNumber:
|
|
158
|
+
lineNumber: 168,
|
|
138
159
|
columnNumber: 11
|
|
139
160
|
}
|
|
140
161
|
}, isChannelMuted && _react["default"].createElement(PreviewMutedStatus, {
|
|
141
162
|
__self: _this,
|
|
142
163
|
__source: {
|
|
143
164
|
fileName: _jsxFileName,
|
|
144
|
-
lineNumber:
|
|
165
|
+
lineNumber: 169,
|
|
145
166
|
columnNumber: 32
|
|
146
167
|
}
|
|
147
168
|
}), _react["default"].createElement(PreviewUnreadCount, {
|
|
@@ -151,7 +172,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
151
172
|
__self: _this,
|
|
152
173
|
__source: {
|
|
153
174
|
fileName: _jsxFileName,
|
|
154
|
-
lineNumber:
|
|
175
|
+
lineNumber: 170,
|
|
155
176
|
columnNumber: 13
|
|
156
177
|
}
|
|
157
178
|
}))), _react["default"].createElement(_reactNative.View, {
|
|
@@ -159,7 +180,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
159
180
|
__self: _this,
|
|
160
181
|
__source: {
|
|
161
182
|
fileName: _jsxFileName,
|
|
162
|
-
lineNumber:
|
|
183
|
+
lineNumber: 173,
|
|
163
184
|
columnNumber: 9
|
|
164
185
|
}
|
|
165
186
|
}, _react["default"].createElement(PreviewMessage, {
|
|
@@ -167,7 +188,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
167
188
|
__self: _this,
|
|
168
189
|
__source: {
|
|
169
190
|
fileName: _jsxFileName,
|
|
170
|
-
lineNumber:
|
|
191
|
+
lineNumber: 174,
|
|
171
192
|
columnNumber: 11
|
|
172
193
|
}
|
|
173
194
|
}), _react["default"].createElement(PreviewStatus, {
|
|
@@ -177,7 +198,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
177
198
|
__self: _this,
|
|
178
199
|
__source: {
|
|
179
200
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
201
|
+
lineNumber: 175,
|
|
181
202
|
columnNumber: 11
|
|
182
203
|
}
|
|
183
204
|
}))));
|
|
@@ -206,7 +227,7 @@ var ChannelPreviewMessenger = function ChannelPreviewMessenger(props) {
|
|
|
206
227
|
__self: _this,
|
|
207
228
|
__source: {
|
|
208
229
|
fileName: _jsxFileName,
|
|
209
|
-
lineNumber:
|
|
230
|
+
lineNumber: 223,
|
|
210
231
|
columnNumber: 5
|
|
211
232
|
}
|
|
212
233
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_ChannelAvatar","_ChannelPreviewMessage","_ChannelPreviewMutedStatus","_ChannelPreviewStatus","_ChannelPreviewTitle","_ChannelPreviewUnreadCount","_useChannelPreviewDisplayName","_ChannelsContext","_ThemeContext","_utils","_this","_jsxFileName","styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","maxWidth","vw","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","_props$PreviewAvatar","PreviewAvatar","ChannelAvatar","_props$PreviewMessage","PreviewMessage","ChannelPreviewMessage","_props$PreviewStatus","PreviewStatus","ChannelPreviewStatus","_props$PreviewTitle","PreviewTitle","ChannelPreviewTitle","_props$PreviewUnreadC","PreviewUnreadCount","ChannelPreviewUnreadCount","_props$PreviewMutedSt","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$chann","channelPreview","_useTheme$theme$color","colors","border","white_snow","displayName","useChannelPreviewDisplayName","Math","floor","isChannelMuted","muteStatus","muted","createElement","TouchableOpacity","onPress","style","backgroundColor","borderBottomColor","testID","__self","__source","fileName","lineNumber","columnNumber","View","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreviewMessenger.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of the latest message.\n * }\n * ```\n *\n * The read status is either of the following:\n *\n * 0: The message was not sent by the current user\n * 1: The message was sent by the current user and is unread\n * 2: The message was sent by the current user and is read\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const isChannelMuted = channel.muteStatus().muted;\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n {isChannelMuted && <PreviewMutedStatus />}\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_ChannelAvatar","_ChannelPreviewMessage","_ChannelPreviewMutedStatus","_ChannelPreviewStatus","_ChannelPreviewTitle","_ChannelPreviewUnreadCount","_useChannelPreviewDisplayName","_ChannelsContext","_ChatContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","maxWidth","vw","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","_props$PreviewAvatar","PreviewAvatar","ChannelAvatar","_props$PreviewMessage","PreviewMessage","ChannelPreviewMessage","_props$PreviewStatus","PreviewStatus","ChannelPreviewStatus","_props$PreviewTitle","PreviewTitle","ChannelPreviewTitle","_props$PreviewUnreadC","PreviewUnreadCount","ChannelPreviewUnreadCount","_props$PreviewMutedSt","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$chann","channelPreview","_useTheme$theme$color","colors","border","white_snow","_useChatContext","useChatContext","client","displayName","useChannelPreviewDisplayName","Math","floor","_useState","useState","muteStatus","muted","_useState2","_slicedToArray2","isChannelMuted","setIsChannelMuted","useEffect","handleEvent","on","off","createElement","TouchableOpacity","onPress","style","backgroundColor","borderBottomColor","testID","__self","__source","fileName","lineNumber","columnNumber","View","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreviewMessenger.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of the latest message.\n * }\n * ```\n *\n * The read status is either of the following:\n *\n * 0: The message was not sent by the current user\n * 1: The message was sent by the current user and is unread\n * 2: The message was sent by the current user and is read\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const { client } = useChatContext<StreamChatGenerics>();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const [isChannelMuted, setIsChannelMuted] = useState(() => channel.muteStatus().muted);\n\n useEffect(() => {\n const handleEvent = () => setIsChannelMuted(channel.muteStatus().muted);\n\n client.on('notification.channel_mutes_updated', handleEvent);\n return () => client.off('notification.channel_mutes_updated', handleEvent);\n }, []);\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n {isChannelMuted && <PreviewMutedStatus />}\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"],"mappings":"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"}
|
|
@@ -16,27 +16,6 @@ var _this = this,
|
|
|
16
16
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionList.tsx";
|
|
17
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
var styles = _reactNative.StyleSheet.create({
|
|
20
|
-
bottomBorder: {
|
|
21
|
-
borderBottomWidth: 1
|
|
22
|
-
},
|
|
23
|
-
container: {
|
|
24
|
-
borderRadius: 16,
|
|
25
|
-
marginTop: 8,
|
|
26
|
-
maxWidth: 275
|
|
27
|
-
},
|
|
28
|
-
row: {
|
|
29
|
-
alignItems: 'center',
|
|
30
|
-
flexDirection: 'row',
|
|
31
|
-
justifyContent: 'flex-start',
|
|
32
|
-
minWidth: (0, _utils.vw)(65),
|
|
33
|
-
paddingHorizontal: 20,
|
|
34
|
-
paddingVertical: 10
|
|
35
|
-
},
|
|
36
|
-
titleStyle: {
|
|
37
|
-
paddingLeft: 20
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
19
|
var MessageActionListWithContext = function MessageActionListWithContext(props) {
|
|
41
20
|
var alignment = props.alignment,
|
|
42
21
|
messageActions = props.messageActions,
|
|
@@ -83,7 +62,7 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
83
62
|
__self: _this,
|
|
84
63
|
__source: {
|
|
85
64
|
fileName: _jsxFileName,
|
|
86
|
-
lineNumber:
|
|
65
|
+
lineNumber: 87,
|
|
87
66
|
columnNumber: 5
|
|
88
67
|
}
|
|
89
68
|
}, messageActions == null ? void 0 : messageActions.map(function (messageAction, index) {
|
|
@@ -96,7 +75,7 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
96
75
|
__self: _this,
|
|
97
76
|
__source: {
|
|
98
77
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
78
|
+
lineNumber: 96,
|
|
100
79
|
columnNumber: 9
|
|
101
80
|
}
|
|
102
81
|
}));
|
|
@@ -127,10 +106,32 @@ var MessageActionList = function MessageActionList(props) {
|
|
|
127
106
|
__self: _this,
|
|
128
107
|
__source: {
|
|
129
108
|
fileName: _jsxFileName,
|
|
130
|
-
lineNumber:
|
|
109
|
+
lineNumber: 147,
|
|
131
110
|
columnNumber: 10
|
|
132
111
|
}
|
|
133
112
|
}));
|
|
134
113
|
};
|
|
135
114
|
exports.MessageActionList = MessageActionList;
|
|
115
|
+
var styles = _reactNative.StyleSheet.create({
|
|
116
|
+
bottomBorder: {
|
|
117
|
+
borderBottomWidth: 1
|
|
118
|
+
},
|
|
119
|
+
container: {
|
|
120
|
+
borderRadius: 16,
|
|
121
|
+
marginTop: 8,
|
|
122
|
+
minWidth: (0, _utils.vw)(65),
|
|
123
|
+
overflow: 'hidden'
|
|
124
|
+
},
|
|
125
|
+
row: {
|
|
126
|
+
alignItems: 'center',
|
|
127
|
+
flexDirection: 'row',
|
|
128
|
+
justifyContent: 'flex-start',
|
|
129
|
+
minWidth: (0, _utils.vw)(65),
|
|
130
|
+
paddingHorizontal: 20,
|
|
131
|
+
paddingVertical: 10
|
|
132
|
+
},
|
|
133
|
+
titleStyle: {
|
|
134
|
+
paddingLeft: 20
|
|
135
|
+
}
|
|
136
|
+
});
|
|
136
137
|
//# sourceMappingURL=MessageActionList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","bottomBorder","borderBottomWidth","container","borderRadius","marginTop","maxWidth","row","alignItems","flexDirection","justifyContent","minWidth","vw","paddingHorizontal","paddingVertical","titleStyle","paddingLeft","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n maxWidth: 275,\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","styles","container","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports","StyleSheet","create","bottomBorder","borderBottomWidth","borderRadius","marginTop","minWidth","vw","overflow","row","alignItems","flexDirection","justifyContent","paddingHorizontal","paddingVertical","titleStyle","paddingLeft"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n minWidth: vw(65),\n overflow: 'hidden',\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
@@ -13,27 +13,6 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
|
13
13
|
var _utils = require("../../utils/utils");
|
|
14
14
|
var _this = this,
|
|
15
15
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionListItem.tsx";
|
|
16
|
-
var styles = _reactNative.StyleSheet.create({
|
|
17
|
-
bottomBorder: {
|
|
18
|
-
borderBottomWidth: 1
|
|
19
|
-
},
|
|
20
|
-
container: {
|
|
21
|
-
borderRadius: 16,
|
|
22
|
-
marginTop: 8,
|
|
23
|
-
maxWidth: 275
|
|
24
|
-
},
|
|
25
|
-
row: {
|
|
26
|
-
alignItems: 'center',
|
|
27
|
-
flexDirection: 'row',
|
|
28
|
-
justifyContent: 'flex-start',
|
|
29
|
-
minWidth: (0, _utils.vw)(65),
|
|
30
|
-
paddingHorizontal: 20,
|
|
31
|
-
paddingVertical: 10
|
|
32
|
-
},
|
|
33
|
-
titleStyle: {
|
|
34
|
-
paddingLeft: 20
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
16
|
var MessageActionListItemWithContext = function MessageActionListItemWithContext(props) {
|
|
38
17
|
var action = props.action,
|
|
39
18
|
actionType = props.actionType,
|
|
@@ -58,7 +37,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
58
37
|
__self: _this,
|
|
59
38
|
__source: {
|
|
60
39
|
fileName: _jsxFileName,
|
|
61
|
-
lineNumber:
|
|
40
|
+
lineNumber: 64,
|
|
62
41
|
columnNumber: 5
|
|
63
42
|
}
|
|
64
43
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -69,7 +48,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
69
48
|
__self: _this,
|
|
70
49
|
__source: {
|
|
71
50
|
fileName: _jsxFileName,
|
|
72
|
-
lineNumber:
|
|
51
|
+
lineNumber: 65,
|
|
73
52
|
columnNumber: 7
|
|
74
53
|
}
|
|
75
54
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -77,7 +56,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
77
56
|
__self: _this,
|
|
78
57
|
__source: {
|
|
79
58
|
fileName: _jsxFileName,
|
|
80
|
-
lineNumber:
|
|
59
|
+
lineNumber: 74,
|
|
81
60
|
columnNumber: 9
|
|
82
61
|
}
|
|
83
62
|
}, icon), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -87,7 +66,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
87
66
|
__self: _this,
|
|
88
67
|
__source: {
|
|
89
68
|
fileName: _jsxFileName,
|
|
90
|
-
lineNumber:
|
|
69
|
+
lineNumber: 75,
|
|
91
70
|
columnNumber: 9
|
|
92
71
|
}
|
|
93
72
|
}, title)));
|
|
@@ -102,10 +81,31 @@ var MessageActionListItem = function MessageActionListItem(props) {
|
|
|
102
81
|
__self: _this,
|
|
103
82
|
__source: {
|
|
104
83
|
fileName: _jsxFileName,
|
|
105
|
-
lineNumber:
|
|
84
|
+
lineNumber: 102,
|
|
106
85
|
columnNumber: 6
|
|
107
86
|
}
|
|
108
87
|
}));
|
|
109
88
|
};
|
|
110
89
|
exports.MessageActionListItem = MessageActionListItem;
|
|
90
|
+
var styles = _reactNative.StyleSheet.create({
|
|
91
|
+
bottomBorder: {
|
|
92
|
+
borderBottomWidth: 1
|
|
93
|
+
},
|
|
94
|
+
container: {
|
|
95
|
+
borderRadius: 16,
|
|
96
|
+
marginTop: 8,
|
|
97
|
+
maxWidth: 275
|
|
98
|
+
},
|
|
99
|
+
row: {
|
|
100
|
+
alignItems: 'center',
|
|
101
|
+
flexDirection: 'row',
|
|
102
|
+
justifyContent: 'flex-start',
|
|
103
|
+
minWidth: (0, _utils.vw)(65),
|
|
104
|
+
paddingHorizontal: 20,
|
|
105
|
+
paddingVertical: 10
|
|
106
|
+
},
|
|
107
|
+
titleStyle: {
|
|
108
|
+
paddingLeft: 20
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
111
|
//# sourceMappingURL=MessageActionListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useMessageActionAnimation","_ThemeContext","_utils","_this","_jsxFileName","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useMessageActionAnimation","_ThemeContext","_utils","_this","_jsxFileName","MessageActionListItemWithContext","props","action","actionType","icon","index","length","title","titleStyle","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","border","messageActions","overlay","_useMessageActionAnim","useMessageActionAnimation","animatedStyle","onTap","createElement","TapGestureHandler","onHandlerStateChange","__self","__source","fileName","lineNumber","columnNumber","View","style","styles","row","_extends2","bottomBorder","borderBottomColor","actionContainer","testID","Text","color","messageActionIsEqual","prevProps","nextProps","MemoizedMessageActionListItem","React","memo","exports","MessageActionListItem","StyleSheet","create","borderBottomWidth","container","borderRadius","marginTop","maxWidth","alignItems","flexDirection","justifyContent","minWidth","vw","paddingHorizontal","paddingVertical","paddingLeft"],"sources":["MessageActionListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, Text, TextStyle, View } from 'react-native';\nimport { TapGestureHandler } from 'react-native-gesture-handler';\nimport Animated from 'react-native-reanimated';\n\nimport { useMessageActionAnimation } from './hooks/useMessageActionAnimation';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\nimport type { MessageOverlayPropsWithContext } from '../MessageOverlay/MessageOverlay';\n\nexport type ActionType =\n | 'blockUser'\n | 'copyMessage'\n | 'deleteMessage'\n | 'editMessage'\n | 'flagMessage'\n | 'muteUser'\n | 'pinMessage'\n | 'selectReaction'\n | 'reply'\n | 'retry'\n | 'quotedReply'\n | 'threadReply'\n | 'unpinMessage';\n\nexport type MessageActionType = {\n action: () => void;\n actionType: ActionType;\n title: string;\n icon?: React.ReactElement;\n titleStyle?: StyleProp<TextStyle>;\n};\n\nexport type MessageActionListItemProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = MessageActionType &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'error' | 'isMyMessage' | 'isThreadMessage' | 'message' | 'messageReactions'\n > & {\n index: number;\n length: number;\n };\n\nconst MessageActionListItemWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListItemProps<StreamChatGenerics>,\n) => {\n const { action, actionType, icon, index, length, title, titleStyle } = props;\n\n const {\n theme: {\n colors: { black, border },\n overlay: { messageActions },\n },\n } = useTheme();\n\n const { animatedStyle, onTap } = useMessageActionAnimation({ action });\n\n return (\n <TapGestureHandler onHandlerStateChange={onTap}>\n <Animated.View\n style={[\n styles.row,\n index !== length - 1 ? { ...styles.bottomBorder, borderBottomColor: border } : {},\n animatedStyle,\n messageActions.actionContainer,\n ]}\n testID={`${actionType}-list-item`}\n >\n <View style={messageActions.icon}>{icon}</View>\n <Text style={[styles.titleStyle, messageActions.title, { color: black }, titleStyle]}>\n {title}\n </Text>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nconst messageActionIsEqual = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n prevProps: MessageActionListItemProps<StreamChatGenerics>,\n nextProps: MessageActionListItemProps<StreamChatGenerics>,\n) => prevProps.length === nextProps.length;\n\nexport const MemoizedMessageActionListItem = React.memo(\n MessageActionListItemWithContext,\n messageActionIsEqual,\n) as typeof MessageActionListItemWithContext;\n\n/**\n * MessageActionListItem - A high-level component that implements all the logic required for a `MessageAction` in a `MessageActionList`\n */\nexport const MessageActionListItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListItemProps<StreamChatGenerics>,\n) => <MemoizedMessageActionListItem {...props} />;\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n maxWidth: 275,\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
package/lib/module/version.json
CHANGED
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.15.3-beta.
|
|
4
|
+
"version": "5.15.3-beta.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
3
|
import { TouchableOpacity } from 'react-native-gesture-handler';
|
|
4
4
|
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
ChannelsContextValue,
|
|
18
18
|
useChannelsContext,
|
|
19
19
|
} from '../../contexts/channelsContext/ChannelsContext';
|
|
20
|
+
import { useChatContext } from '../../contexts/chatContext/ChatContext';
|
|
20
21
|
import { useTheme } from '../../contexts/themeContext/ThemeContext';
|
|
21
22
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
22
23
|
import { vw } from '../../utils/utils';
|
|
@@ -127,12 +128,21 @@ const ChannelPreviewMessengerWithContext = <
|
|
|
127
128
|
},
|
|
128
129
|
} = useTheme();
|
|
129
130
|
|
|
131
|
+
const { client } = useChatContext<StreamChatGenerics>();
|
|
132
|
+
|
|
130
133
|
const displayName = useChannelPreviewDisplayName(
|
|
131
134
|
channel,
|
|
132
135
|
Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),
|
|
133
136
|
);
|
|
134
137
|
|
|
135
|
-
const isChannelMuted = channel.muteStatus().muted;
|
|
138
|
+
const [isChannelMuted, setIsChannelMuted] = useState(() => channel.muteStatus().muted);
|
|
139
|
+
|
|
140
|
+
useEffect(() => {
|
|
141
|
+
const handleEvent = () => setIsChannelMuted(channel.muteStatus().muted);
|
|
142
|
+
|
|
143
|
+
client.on('notification.channel_mutes_updated', handleEvent);
|
|
144
|
+
return () => client.off('notification.channel_mutes_updated', handleEvent);
|
|
145
|
+
}, []);
|
|
136
146
|
|
|
137
147
|
return (
|
|
138
148
|
<TouchableOpacity
|
|
@@ -13,28 +13,6 @@ import { useTheme } from '../../contexts/themeContext/ThemeContext';
|
|
|
13
13
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
14
14
|
import { vw } from '../../utils/utils';
|
|
15
15
|
|
|
16
|
-
const styles = StyleSheet.create({
|
|
17
|
-
bottomBorder: {
|
|
18
|
-
borderBottomWidth: 1,
|
|
19
|
-
},
|
|
20
|
-
container: {
|
|
21
|
-
borderRadius: 16,
|
|
22
|
-
marginTop: 8,
|
|
23
|
-
maxWidth: 275,
|
|
24
|
-
},
|
|
25
|
-
row: {
|
|
26
|
-
alignItems: 'center',
|
|
27
|
-
flexDirection: 'row',
|
|
28
|
-
justifyContent: 'flex-start',
|
|
29
|
-
minWidth: vw(65),
|
|
30
|
-
paddingHorizontal: 20,
|
|
31
|
-
paddingVertical: 10,
|
|
32
|
-
},
|
|
33
|
-
titleStyle: {
|
|
34
|
-
paddingLeft: 20,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
|
|
38
16
|
export type MessageActionListPropsWithContext<
|
|
39
17
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
40
18
|
> = Pick<
|
|
@@ -168,3 +146,26 @@ export const MessageActionList = <
|
|
|
168
146
|
|
|
169
147
|
return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;
|
|
170
148
|
};
|
|
149
|
+
|
|
150
|
+
const styles = StyleSheet.create({
|
|
151
|
+
bottomBorder: {
|
|
152
|
+
borderBottomWidth: 1,
|
|
153
|
+
},
|
|
154
|
+
container: {
|
|
155
|
+
borderRadius: 16,
|
|
156
|
+
marginTop: 8,
|
|
157
|
+
minWidth: vw(65),
|
|
158
|
+
overflow: 'hidden',
|
|
159
|
+
},
|
|
160
|
+
row: {
|
|
161
|
+
alignItems: 'center',
|
|
162
|
+
flexDirection: 'row',
|
|
163
|
+
justifyContent: 'flex-start',
|
|
164
|
+
minWidth: vw(65),
|
|
165
|
+
paddingHorizontal: 20,
|
|
166
|
+
paddingVertical: 10,
|
|
167
|
+
},
|
|
168
|
+
titleStyle: {
|
|
169
|
+
paddingLeft: 20,
|
|
170
|
+
},
|
|
171
|
+
});
|
|
@@ -10,28 +10,6 @@ import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
|
10
10
|
import { vw } from '../../utils/utils';
|
|
11
11
|
import type { MessageOverlayPropsWithContext } from '../MessageOverlay/MessageOverlay';
|
|
12
12
|
|
|
13
|
-
const styles = StyleSheet.create({
|
|
14
|
-
bottomBorder: {
|
|
15
|
-
borderBottomWidth: 1,
|
|
16
|
-
},
|
|
17
|
-
container: {
|
|
18
|
-
borderRadius: 16,
|
|
19
|
-
marginTop: 8,
|
|
20
|
-
maxWidth: 275,
|
|
21
|
-
},
|
|
22
|
-
row: {
|
|
23
|
-
alignItems: 'center',
|
|
24
|
-
flexDirection: 'row',
|
|
25
|
-
justifyContent: 'flex-start',
|
|
26
|
-
minWidth: vw(65),
|
|
27
|
-
paddingHorizontal: 20,
|
|
28
|
-
paddingVertical: 10,
|
|
29
|
-
},
|
|
30
|
-
titleStyle: {
|
|
31
|
-
paddingLeft: 20,
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
|
|
35
13
|
export type ActionType =
|
|
36
14
|
| 'blockUser'
|
|
37
15
|
| 'copyMessage'
|
|
@@ -122,3 +100,25 @@ export const MessageActionListItem = <
|
|
|
122
100
|
>(
|
|
123
101
|
props: MessageActionListItemProps<StreamChatGenerics>,
|
|
124
102
|
) => <MemoizedMessageActionListItem {...props} />;
|
|
103
|
+
|
|
104
|
+
const styles = StyleSheet.create({
|
|
105
|
+
bottomBorder: {
|
|
106
|
+
borderBottomWidth: 1,
|
|
107
|
+
},
|
|
108
|
+
container: {
|
|
109
|
+
borderRadius: 16,
|
|
110
|
+
marginTop: 8,
|
|
111
|
+
maxWidth: 275,
|
|
112
|
+
},
|
|
113
|
+
row: {
|
|
114
|
+
alignItems: 'center',
|
|
115
|
+
flexDirection: 'row',
|
|
116
|
+
justifyContent: 'flex-start',
|
|
117
|
+
minWidth: vw(65),
|
|
118
|
+
paddingHorizontal: 20,
|
|
119
|
+
paddingVertical: 10,
|
|
120
|
+
},
|
|
121
|
+
titleStyle: {
|
|
122
|
+
paddingLeft: 20,
|
|
123
|
+
},
|
|
124
|
+
});
|
package/src/version.json
CHANGED