stream-chat-react-native-core 4.6.0 → 4.7.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/Attachment.js +22 -13
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +72 -37
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +83 -0
- package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -0
- package/lib/commonjs/components/Attachment/hooks/useGoToURL.js +1 -1
- package/lib/commonjs/components/Attachment/hooks/useGoToURL.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +5 -5
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +19 -14
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -2
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +167 -345
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +31 -34
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +153 -0
- package/lib/commonjs/components/ImageGallery/components/ProgressControl.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
- package/lib/commonjs/components/Message/Message.js +23 -13
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +58 -33
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -2
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +25 -23
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +32 -12
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +12 -4
- package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
- package/lib/commonjs/components/index.js +26 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +10 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/icons/Pause.js +61 -0
- package/lib/commonjs/icons/Pause.js.map +1 -0
- package/lib/commonjs/icons/Play.js +42 -0
- package/lib/commonjs/icons/Play.js.map +1 -0
- package/lib/commonjs/icons/index.js +26 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js +98 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/commonjs/native.js +7 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +22 -13
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +72 -37
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +83 -0
- package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -0
- package/lib/module/components/Attachment/hooks/useGoToURL.js +1 -1
- package/lib/module/components/Attachment/hooks/useGoToURL.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js +5 -5
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +19 -14
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -2
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +167 -345
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
- package/lib/module/components/ImageGallery/components/ImageGrid.js +31 -34
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ProgressControl.js +153 -0
- package/lib/module/components/ImageGallery/components/ProgressControl.js.map +1 -0
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
- package/lib/module/components/Message/Message.js +23 -13
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +58 -33
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -2
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +25 -23
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +32 -12
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Spinner/Spinner.js +12 -4
- package/lib/module/components/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/index.js +26 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +10 -1
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/icons/Pause.js +61 -0
- package/lib/module/icons/Pause.js.map +1 -0
- package/lib/module/icons/Play.js +42 -0
- package/lib/module/icons/Play.js.map +1 -0
- package/lib/module/icons/index.js +26 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.js +98 -1
- package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/module/native.js +7 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +4 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -0
- package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +27 -0
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +18 -2
- package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts +3 -0
- package/lib/typescript/components/ImageGallery/components/ProgressControl.d.ts +5 -0
- package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +36 -0
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Spinner/Spinner.d.ts +7 -1
- package/lib/typescript/components/index.d.ts +2 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -1
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +1 -0
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +2 -0
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +9 -0
- package/lib/typescript/icons/Pause.d.ts +3 -0
- package/lib/typescript/icons/Play.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +2 -0
- package/lib/typescript/mock-builders/api/queryMembers.d.ts +161 -0
- package/lib/typescript/mock-builders/api/utils.d.ts +7 -0
- package/lib/typescript/mock-builders/generator/user.d.ts +30 -0
- package/lib/typescript/mock-builders/mock.d.ts +3 -0
- package/lib/typescript/native.d.ts +66 -1
- package/package.json +1 -1
- package/src/components/Attachment/Attachment.tsx +11 -7
- package/src/components/Attachment/Gallery.tsx +75 -36
- package/src/components/Attachment/VideoThumbnail.tsx +45 -0
- package/src/components/Attachment/hooks/useGoToURL.ts +1 -1
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
- package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
- package/src/components/Attachment/utils/getAspectRatio.ts +7 -5
- package/src/components/Channel/Channel.tsx +4 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +83 -0
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +43 -26
- package/src/components/ImageGallery/ImageGallery.tsx +145 -667
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +4 -4
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +224 -0
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +114 -19
- package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +103 -0
- package/src/components/ImageGallery/components/ImageGrid.tsx +12 -25
- package/src/components/ImageGallery/components/ProgressControl.tsx +107 -0
- package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +722 -0
- package/src/components/Message/Message.tsx +10 -3
- package/src/components/Message/MessageSimple/MessageContent.tsx +50 -16
- package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +2 -0
- package/src/components/Reply/Reply.tsx +36 -23
- package/src/components/Spinner/Spinner.tsx +11 -4
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +0 -12
- package/src/components/index.ts +2 -0
- package/src/contexts/messageContext/MessageContext.tsx +2 -0
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +1 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
- package/src/contexts/themeContext/utils/theme.ts +18 -0
- package/src/icons/Pause.tsx +14 -0
- package/src/icons/Play.tsx +17 -0
- package/src/icons/index.ts +2 -0
- package/src/mock-builders/api/queryMembers.js +98 -0
- package/src/native.ts +59 -1
- package/src/utils/getUrlOfImageAttachment.ts +1 -1
- package/src/version.json +1 -1
|
@@ -5,10 +5,12 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.ImageGalleryFooter = void 0;
|
|
8
|
+
exports.ImageGalleryFooterWithContext = exports.ImageGalleryFooter = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
12
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
15
|
|
|
14
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -19,6 +21,8 @@ var _reactNative = require("react-native");
|
|
|
19
21
|
|
|
20
22
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
21
23
|
|
|
24
|
+
var _ImageGalleryVideoControl = require("./ImageGalleryVideoControl");
|
|
25
|
+
|
|
22
26
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
23
27
|
|
|
24
28
|
var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
|
|
@@ -68,17 +72,23 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
68
72
|
}
|
|
69
73
|
});
|
|
70
74
|
|
|
71
|
-
var
|
|
75
|
+
var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props) {
|
|
72
76
|
var centerElement = props.centerElement,
|
|
77
|
+
duration = props.duration,
|
|
73
78
|
GridIcon = props.GridIcon,
|
|
74
79
|
leftElement = props.leftElement,
|
|
80
|
+
onPlayPause = props.onPlayPause,
|
|
81
|
+
onProgressDrag = props.onProgressDrag,
|
|
75
82
|
opacity = props.opacity,
|
|
76
83
|
openGridView = props.openGridView,
|
|
84
|
+
paused = props.paused,
|
|
77
85
|
photo = props.photo,
|
|
78
86
|
photoLength = props.photoLength,
|
|
87
|
+
progress = props.progress,
|
|
79
88
|
rightElement = props.rightElement,
|
|
80
89
|
selectedIndex = props.selectedIndex,
|
|
81
90
|
ShareIcon = props.ShareIcon,
|
|
91
|
+
videoControlElement = props.videoControlElement,
|
|
82
92
|
visible = props.visible;
|
|
83
93
|
|
|
84
94
|
var _useState = (0, _react.useState)(200),
|
|
@@ -93,9 +103,7 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
93
103
|
|
|
94
104
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
95
105
|
_useTheme$theme = _useTheme.theme,
|
|
96
|
-
|
|
97
|
-
black = _useTheme$theme$color.black,
|
|
98
|
-
white = _useTheme$theme$color.white,
|
|
106
|
+
black = _useTheme$theme.colors.black,
|
|
99
107
|
_useTheme$theme$image = _useTheme$theme.imageGallery.footer,
|
|
100
108
|
centerContainer = _useTheme$theme$image.centerContainer,
|
|
101
109
|
container = _useTheme$theme$image.container,
|
|
@@ -114,11 +122,11 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
114
122
|
translateY: (0, _reactNativeReanimated.interpolate)(visible.value, [0, 1], [height, 0], _reactNativeReanimated.Extrapolate.CLAMP)
|
|
115
123
|
}]
|
|
116
124
|
};
|
|
117
|
-
}, []);
|
|
125
|
+
}, [height]);
|
|
118
126
|
|
|
119
127
|
var share = function () {
|
|
120
128
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
121
|
-
var _photo$user,
|
|
129
|
+
var _photo$mime_type, _photo$user, extension, localFile;
|
|
122
130
|
|
|
123
131
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
124
132
|
while (1) {
|
|
@@ -126,44 +134,45 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
126
134
|
case 0:
|
|
127
135
|
setShareMenuOpen(true);
|
|
128
136
|
_context.prev = 1;
|
|
129
|
-
|
|
137
|
+
extension = ((_photo$mime_type = photo.mime_type) == null ? void 0 : _photo$mime_type.split('/')[1]) || 'jpg';
|
|
138
|
+
_context.next = 5;
|
|
130
139
|
return (0, _native.saveFile)({
|
|
131
|
-
fileName: (((_photo$user = photo.user) == null ? void 0 : _photo$user.id) || 'ChatPhoto') + "-" + photo.messageId + "-" + selectedIndex + ".
|
|
140
|
+
fileName: (((_photo$user = photo.user) == null ? void 0 : _photo$user.id) || 'ChatPhoto') + "-" + photo.messageId + "-" + selectedIndex + "." + extension,
|
|
132
141
|
fromUrl: photo.uri
|
|
133
142
|
});
|
|
134
143
|
|
|
135
|
-
case
|
|
136
|
-
|
|
137
|
-
_context.next =
|
|
144
|
+
case 5:
|
|
145
|
+
localFile = _context.sent;
|
|
146
|
+
_context.next = 8;
|
|
138
147
|
return (0, _native.shareImage)({
|
|
139
|
-
type:
|
|
140
|
-
url:
|
|
148
|
+
type: photo.mime_type,
|
|
149
|
+
url: localFile
|
|
141
150
|
});
|
|
142
151
|
|
|
143
|
-
case
|
|
144
|
-
_context.next =
|
|
152
|
+
case 8:
|
|
153
|
+
_context.next = 10;
|
|
145
154
|
return (0, _native.deleteFile)({
|
|
146
|
-
uri:
|
|
155
|
+
uri: localFile
|
|
147
156
|
});
|
|
148
157
|
|
|
149
|
-
case
|
|
150
|
-
_context.next =
|
|
158
|
+
case 10:
|
|
159
|
+
_context.next = 15;
|
|
151
160
|
break;
|
|
152
161
|
|
|
153
|
-
case
|
|
154
|
-
_context.prev =
|
|
162
|
+
case 12:
|
|
163
|
+
_context.prev = 12;
|
|
155
164
|
_context.t0 = _context["catch"](1);
|
|
156
165
|
console.log(_context.t0);
|
|
157
166
|
|
|
158
|
-
case
|
|
167
|
+
case 15:
|
|
159
168
|
setShareMenuOpen(false);
|
|
160
169
|
|
|
161
|
-
case
|
|
170
|
+
case 16:
|
|
162
171
|
case "end":
|
|
163
172
|
return _context.stop();
|
|
164
173
|
}
|
|
165
174
|
}
|
|
166
|
-
}, _callee, null, [[1,
|
|
175
|
+
}, _callee, null, [[1, 12]]);
|
|
167
176
|
}));
|
|
168
177
|
|
|
169
178
|
return function share() {
|
|
@@ -180,25 +189,43 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
180
189
|
__self: _this,
|
|
181
190
|
__source: {
|
|
182
191
|
fileName: _jsxFileName,
|
|
183
|
-
lineNumber:
|
|
192
|
+
lineNumber: 183,
|
|
184
193
|
columnNumber: 5
|
|
185
194
|
}
|
|
186
195
|
}, _react["default"].createElement(ReanimatedSafeAreaView, {
|
|
187
|
-
style: [
|
|
188
|
-
backgroundColor: white
|
|
189
|
-
}, container, footerStyle],
|
|
196
|
+
style: [container, footerStyle],
|
|
190
197
|
__self: _this,
|
|
191
198
|
__source: {
|
|
192
199
|
fileName: _jsxFileName,
|
|
193
|
-
lineNumber:
|
|
200
|
+
lineNumber: 188,
|
|
194
201
|
columnNumber: 7
|
|
195
202
|
}
|
|
196
|
-
},
|
|
197
|
-
|
|
203
|
+
}, photo.type === 'video' ? videoControlElement ? videoControlElement({
|
|
204
|
+
duration: duration,
|
|
205
|
+
onPlayPause: onPlayPause,
|
|
206
|
+
onProgressDrag: onProgressDrag,
|
|
207
|
+
paused: paused,
|
|
208
|
+
progress: progress
|
|
209
|
+
}) : _react["default"].createElement(_ImageGalleryVideoControl.ImageGalleryVideoControl, {
|
|
210
|
+
duration: duration,
|
|
211
|
+
onPlayPause: onPlayPause,
|
|
212
|
+
onProgressDrag: onProgressDrag,
|
|
213
|
+
paused: paused,
|
|
214
|
+
progress: progress,
|
|
215
|
+
__self: _this,
|
|
216
|
+
__source: {
|
|
217
|
+
fileName: _jsxFileName,
|
|
218
|
+
lineNumber: 193,
|
|
219
|
+
columnNumber: 13
|
|
220
|
+
}
|
|
221
|
+
}) : null, _react["default"].createElement(_reactNative.View, {
|
|
222
|
+
style: [styles.innerContainer, innerContainer, {
|
|
223
|
+
backgroundColor: 'white'
|
|
224
|
+
}],
|
|
198
225
|
__self: _this,
|
|
199
226
|
__source: {
|
|
200
227
|
fileName: _jsxFileName,
|
|
201
|
-
lineNumber:
|
|
228
|
+
lineNumber: 202,
|
|
202
229
|
columnNumber: 9
|
|
203
230
|
}
|
|
204
231
|
}, leftElement ? leftElement({
|
|
@@ -212,7 +239,7 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
212
239
|
__self: _this,
|
|
213
240
|
__source: {
|
|
214
241
|
fileName: _jsxFileName,
|
|
215
|
-
lineNumber:
|
|
242
|
+
lineNumber: 206,
|
|
216
243
|
columnNumber: 13
|
|
217
244
|
}
|
|
218
245
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -220,14 +247,14 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
220
247
|
__self: _this,
|
|
221
248
|
__source: {
|
|
222
249
|
fileName: _jsxFileName,
|
|
223
|
-
lineNumber:
|
|
250
|
+
lineNumber: 207,
|
|
224
251
|
columnNumber: 15
|
|
225
252
|
}
|
|
226
253
|
}, ShareIcon ? ShareIcon : _react["default"].createElement(_icons.Share, {
|
|
227
254
|
__self: _this,
|
|
228
255
|
__source: {
|
|
229
256
|
fileName: _jsxFileName,
|
|
230
|
-
lineNumber:
|
|
257
|
+
lineNumber: 208,
|
|
231
258
|
columnNumber: 42
|
|
232
259
|
}
|
|
233
260
|
}))), centerElement ? centerElement({
|
|
@@ -240,7 +267,7 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
240
267
|
__self: _this,
|
|
241
268
|
__source: {
|
|
242
269
|
fileName: _jsxFileName,
|
|
243
|
-
lineNumber:
|
|
270
|
+
lineNumber: 215,
|
|
244
271
|
columnNumber: 13
|
|
245
272
|
}
|
|
246
273
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -250,7 +277,7 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
250
277
|
__self: _this,
|
|
251
278
|
__source: {
|
|
252
279
|
fileName: _jsxFileName,
|
|
253
|
-
lineNumber:
|
|
280
|
+
lineNumber: 216,
|
|
254
281
|
columnNumber: 15
|
|
255
282
|
}
|
|
256
283
|
}, t('{{ index }} of {{ photoLength }}', {
|
|
@@ -266,7 +293,7 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
266
293
|
__self: _this,
|
|
267
294
|
__source: {
|
|
268
295
|
fileName: _jsxFileName,
|
|
269
|
-
lineNumber:
|
|
296
|
+
lineNumber: 227,
|
|
270
297
|
columnNumber: 13
|
|
271
298
|
}
|
|
272
299
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -274,19 +301,54 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
274
301
|
__self: _this,
|
|
275
302
|
__source: {
|
|
276
303
|
fileName: _jsxFileName,
|
|
277
|
-
lineNumber:
|
|
304
|
+
lineNumber: 228,
|
|
278
305
|
columnNumber: 15
|
|
279
306
|
}
|
|
280
307
|
}, GridIcon ? GridIcon : _react["default"].createElement(_icons.Grid, {
|
|
281
308
|
__self: _this,
|
|
282
309
|
__source: {
|
|
283
310
|
fileName: _jsxFileName,
|
|
284
|
-
lineNumber:
|
|
311
|
+
lineNumber: 229,
|
|
285
312
|
columnNumber: 40
|
|
286
313
|
}
|
|
287
314
|
}))))));
|
|
288
315
|
};
|
|
289
316
|
|
|
317
|
+
exports.ImageGalleryFooterWithContext = ImageGalleryFooterWithContext;
|
|
318
|
+
|
|
319
|
+
var areEqual = function areEqual(prevProps, nextProps) {
|
|
320
|
+
var prevDuration = prevProps.duration,
|
|
321
|
+
prevPaused = prevProps.paused,
|
|
322
|
+
prevProgress = prevProps.progress,
|
|
323
|
+
prevSelectedIndex = prevProps.selectedIndex;
|
|
324
|
+
var nextDuration = nextProps.duration,
|
|
325
|
+
nextPaused = nextProps.paused,
|
|
326
|
+
nextProgress = nextProps.progress,
|
|
327
|
+
nextSelectedIndex = nextProps.selectedIndex;
|
|
328
|
+
var isDurationEqual = prevDuration === nextDuration;
|
|
329
|
+
if (!isDurationEqual) return false;
|
|
330
|
+
var isPausedEqual = prevPaused === nextPaused;
|
|
331
|
+
if (!isPausedEqual) return false;
|
|
332
|
+
var isProgressEqual = prevProgress === nextProgress;
|
|
333
|
+
if (!isProgressEqual) return false;
|
|
334
|
+
var isSelectedIndexEqual = prevSelectedIndex === nextSelectedIndex;
|
|
335
|
+
if (!isSelectedIndexEqual) return false;
|
|
336
|
+
return true;
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
var MemoizedImageGalleryFooter = _react["default"].memo(ImageGalleryFooterWithContext, areEqual);
|
|
340
|
+
|
|
341
|
+
var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
342
|
+
return _react["default"].createElement(MemoizedImageGalleryFooter, (0, _extends2["default"])({}, props, {
|
|
343
|
+
__self: _this,
|
|
344
|
+
__source: {
|
|
345
|
+
fileName: _jsxFileName,
|
|
346
|
+
lineNumber: 284,
|
|
347
|
+
columnNumber: 6
|
|
348
|
+
}
|
|
349
|
+
}));
|
|
350
|
+
};
|
|
351
|
+
|
|
290
352
|
exports.ImageGalleryFooter = ImageGalleryFooter;
|
|
291
353
|
ImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';
|
|
292
354
|
//# sourceMappingURL=ImageGalleryFooter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ImageGalleryFooter.tsx"],"names":["ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","imageCountText","fontSize","fontWeight","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","wrapper","bottom","left","position","right","ImageGalleryFooter","props","centerElement","GridIcon","leftElement","opacity","openGridView","photo","photoLength","rightElement","selectedIndex","ShareIcon","visible","setHeight","shareMenuOpen","setShareMenuOpen","theme","colors","black","white","imageGallery","footer","container","t","footerStyle","value","transform","translateY","Extrapolate","CLAMP","share","fileName","user","id","messageId","fromUrl","uri","localImage","type","url","console","log","event","nativeEvent","layout","backgroundColor","color","index","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Grid as GridIconDefault, Share as ShareIconDefault } from '../../../icons';\nimport { deleteFile, saveFile, shareImage } from '../../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageCountText: {\n fontSize: 16,\n fontWeight: '600',\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n flex: 1,\n justifyContent: 'center',\n marginRight: 8,\n },\n wrapper: {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n },\n});\n\nexport type ImageGalleryFooterCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n openGridView,\n photo,\n share,\n shareMenuOpen,\n}: {\n openGridView: () => void;\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryFooterCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n GridIcon?: React.ReactElement;\n leftElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n ShareIcon?: React.ReactElement;\n};\n\ntype Props<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n ImageGalleryFooterCustomComponentProps<StreamChatGenerics> & {\n opacity: Animated.SharedValue<number>;\n openGridView: () => void;\n photo: Photo<StreamChatGenerics>;\n photoLength: number;\n selectedIndex: number;\n visible: Animated.SharedValue<number>;\n };\n\nexport const ImageGalleryFooter = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: Props<StreamChatGenerics>,\n) => {\n const {\n centerElement,\n GridIcon,\n leftElement,\n opacity,\n openGridView,\n photo,\n photoLength,\n rightElement,\n selectedIndex,\n ShareIcon,\n visible,\n } = props;\n const [height, setHeight] = useState(200);\n const [shareMenuOpen, setShareMenuOpen] = useState(false);\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n footer: {\n centerContainer,\n container,\n imageCountText,\n innerContainer,\n leftContainer,\n rightContainer,\n },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n const footerStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [height, 0], Extrapolate.CLAMP),\n },\n ],\n }),\n [],\n );\n\n const share = async () => {\n setShareMenuOpen(true);\n try {\n const localImage = await saveFile({\n fileName: `${photo.user?.id || 'ChatPhoto'}-${photo.messageId}-${selectedIndex}.jpg`,\n fromUrl: photo.uri,\n });\n await shareImage({ type: 'image/jpeg', url: localImage });\n await deleteFile({ uri: localImage });\n } catch (error) {\n console.log(error);\n }\n setShareMenuOpen(false);\n };\n\n return (\n <Animated.View\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n style={styles.wrapper}\n >\n <ReanimatedSafeAreaView style={[{ backgroundColor: white }, container, footerStyle]}>\n <View style={[styles.innerContainer, innerContainer]}>\n {leftElement ? (\n leftElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity disabled={shareMenuOpen} onPress={share}>\n <View style={[styles.leftContainer, leftContainer]}>\n {ShareIcon ? ShareIcon : <ShareIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n {centerElement ? (\n centerElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.imageCountText, { color: black }, imageCountText]}>\n {t('{{ index }} of {{ photoLength }}', {\n index: photoLength - selectedIndex,\n photoLength,\n })}\n </Text>\n </View>\n )}\n {rightElement ? (\n rightElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity onPress={openGridView}>\n <View style={[styles.rightContainer, rightContainer]}>\n {GridIcon ? GridIcon : <GridIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n </View>\n </ReanimatedSafeAreaView>\n </Animated.View>\n );\n};\n\nImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["ImageGalleryFooter.tsx"],"names":["ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","imageCountText","fontSize","fontWeight","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","wrapper","bottom","left","position","right","ImageGalleryFooterWithContext","props","centerElement","duration","GridIcon","leftElement","onPlayPause","onProgressDrag","opacity","openGridView","paused","photo","photoLength","progress","rightElement","selectedIndex","ShareIcon","videoControlElement","visible","setHeight","shareMenuOpen","setShareMenuOpen","theme","black","colors","imageGallery","footer","container","t","footerStyle","value","transform","translateY","Extrapolate","CLAMP","share","extension","mime_type","split","fileName","user","id","messageId","fromUrl","uri","localFile","type","url","console","log","event","nativeEvent","layout","backgroundColor","color","index","areEqual","prevProps","nextProps","prevDuration","prevPaused","prevProgress","prevSelectedIndex","nextDuration","nextPaused","nextProgress","nextSelectedIndex","isDurationEqual","isPausedEqual","isProgressEqual","isSelectedIndexEqual","MemoizedImageGalleryFooter","React","memo","ImageGalleryFooter","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { ImageGalleryVideoControl } from './ImageGalleryVideoControl';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Grid as GridIconDefault, Share as ShareIconDefault } from '../../../icons';\nimport { deleteFile, saveFile, shareImage } from '../../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageCountText: {\n fontSize: 16,\n fontWeight: '600',\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n flex: 1,\n justifyContent: 'center',\n marginRight: 8,\n },\n wrapper: {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n },\n});\n\nexport type ImageGalleryFooterCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n openGridView,\n photo,\n share,\n shareMenuOpen,\n}: {\n openGridView: () => void;\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryFooterVideoControlProps = {\n duration: number;\n onPlayPause: () => void;\n onProgressDrag: (progress: number) => void;\n paused: boolean;\n progress: number;\n};\n\nexport type ImageGalleryFooterVideoControlComponent = ({\n duration,\n onPlayPause,\n onProgressDrag,\n paused,\n progress,\n}: ImageGalleryFooterVideoControlProps) => React.ReactElement | null;\n\nexport type ImageGalleryFooterCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n GridIcon?: React.ReactElement;\n leftElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n ShareIcon?: React.ReactElement;\n videoControlElement?: ImageGalleryFooterVideoControlComponent;\n};\n\ntype ImageGalleryFooterPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterCustomComponentProps<StreamChatGenerics> & {\n duration: number;\n onPlayPause: () => void;\n onProgressDrag: (progress: number) => void;\n opacity: Animated.SharedValue<number>;\n openGridView: () => void;\n paused: boolean;\n photo: Photo<StreamChatGenerics>;\n photoLength: number;\n progress: number;\n selectedIndex: number;\n visible: Animated.SharedValue<number>;\n};\n\nexport const ImageGalleryFooterWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n centerElement,\n duration,\n GridIcon,\n leftElement,\n onPlayPause,\n onProgressDrag,\n opacity,\n openGridView,\n paused,\n photo,\n photoLength,\n progress,\n rightElement,\n selectedIndex,\n ShareIcon,\n videoControlElement,\n visible,\n } = props;\n\n const [height, setHeight] = useState(200);\n const [shareMenuOpen, setShareMenuOpen] = useState(false);\n const {\n theme: {\n colors: { black },\n imageGallery: {\n footer: {\n centerContainer,\n container,\n imageCountText,\n innerContainer,\n leftContainer,\n rightContainer,\n },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n const footerStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [height, 0], Extrapolate.CLAMP),\n },\n ],\n }),\n [height],\n );\n\n const share = async () => {\n setShareMenuOpen(true);\n try {\n const extension = photo.mime_type?.split('/')[1] || 'jpg';\n const localFile = await saveFile({\n fileName: `${photo.user?.id || 'ChatPhoto'}-${\n photo.messageId\n }-${selectedIndex}.${extension}`,\n fromUrl: photo.uri,\n });\n await shareImage({ type: photo.mime_type, url: localFile });\n await deleteFile({ uri: localFile });\n } catch (error) {\n console.log(error);\n }\n setShareMenuOpen(false);\n };\n\n return (\n <Animated.View\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n style={styles.wrapper}\n >\n <ReanimatedSafeAreaView style={[container, footerStyle]}>\n {photo.type === 'video' ? (\n videoControlElement ? (\n videoControlElement({ duration, onPlayPause, onProgressDrag, paused, progress })\n ) : (\n <ImageGalleryVideoControl\n duration={duration}\n onPlayPause={onPlayPause}\n onProgressDrag={onProgressDrag}\n paused={paused}\n progress={progress}\n />\n )\n ) : null}\n <View style={[styles.innerContainer, innerContainer, { backgroundColor: 'white' }]}>\n {leftElement ? (\n leftElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity disabled={shareMenuOpen} onPress={share}>\n <View style={[styles.leftContainer, leftContainer]}>\n {ShareIcon ? ShareIcon : <ShareIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n {centerElement ? (\n centerElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.imageCountText, { color: black }, imageCountText]}>\n {t('{{ index }} of {{ photoLength }}', {\n index: photoLength - selectedIndex,\n photoLength,\n })}\n </Text>\n </View>\n )}\n {rightElement ? (\n rightElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity onPress={openGridView}>\n <View style={[styles.rightContainer, rightContainer]}>\n {GridIcon ? GridIcon : <GridIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n </View>\n </ReanimatedSafeAreaView>\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n nextProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n duration: prevDuration,\n paused: prevPaused,\n progress: prevProgress,\n selectedIndex: prevSelectedIndex,\n } = prevProps;\n const {\n duration: nextDuration,\n paused: nextPaused,\n progress: nextProgress,\n selectedIndex: nextSelectedIndex,\n } = nextProps;\n\n const isDurationEqual = prevDuration === nextDuration;\n if (!isDurationEqual) return false;\n\n const isPausedEqual = prevPaused === nextPaused;\n if (!isPausedEqual) return false;\n\n const isProgressEqual = prevProgress === nextProgress;\n if (!isProgressEqual) return false;\n\n const isSelectedIndexEqual = prevSelectedIndex === nextSelectedIndex;\n if (!isSelectedIndexEqual) return false;\n\n return true;\n};\n\nconst MemoizedImageGalleryFooter = React.memo(\n ImageGalleryFooterWithContext,\n areEqual,\n) as typeof ImageGalleryFooterWithContext;\n\nexport type ImageGalleryFooterProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterPropsWithContext<StreamChatGenerics>;\n\nexport const ImageGalleryFooter = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterProps<StreamChatGenerics>,\n) => <MemoizedImageGalleryFooter {...props} />;\n\nImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ImageGalleryVideoControl = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
13
|
+
|
|
14
|
+
var _ProgressControl = require("./ProgressControl");
|
|
15
|
+
|
|
16
|
+
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
17
|
+
|
|
18
|
+
var _icons = require("../../../icons");
|
|
19
|
+
|
|
20
|
+
var _this = this,
|
|
21
|
+
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx";
|
|
22
|
+
|
|
23
|
+
var styles = _reactNative.StyleSheet.create({
|
|
24
|
+
durationTextStyle: {
|
|
25
|
+
color: '#fff',
|
|
26
|
+
fontWeight: 'bold'
|
|
27
|
+
},
|
|
28
|
+
roundedView: {
|
|
29
|
+
alignItems: 'center',
|
|
30
|
+
backgroundColor: '#fff',
|
|
31
|
+
borderRadius: 50,
|
|
32
|
+
display: 'flex',
|
|
33
|
+
elevation: 2,
|
|
34
|
+
height: 36,
|
|
35
|
+
justifyContent: 'center',
|
|
36
|
+
width: 36
|
|
37
|
+
},
|
|
38
|
+
videoContainer: {
|
|
39
|
+
alignItems: 'center',
|
|
40
|
+
backgroundColor: 'rgba(52, 52, 52, 0.1)',
|
|
41
|
+
display: 'flex',
|
|
42
|
+
flexDirection: 'row',
|
|
43
|
+
justifyContent: 'space-between',
|
|
44
|
+
padding: 10
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
49
|
+
var duration = props.duration,
|
|
50
|
+
onPlayPause = props.onPlayPause,
|
|
51
|
+
onProgressDrag = props.onProgressDrag,
|
|
52
|
+
paused = props.paused,
|
|
53
|
+
progress = props.progress;
|
|
54
|
+
var videoDuration = duration ? duration / 3600 >= 1 ? _dayjs["default"].duration(duration, 'second').format('HH:mm:ss') : _dayjs["default"].duration(duration, 'second').format('mm:ss') : null;
|
|
55
|
+
var progressValueInSeconds = progress * duration;
|
|
56
|
+
var progressDuration = progressValueInSeconds ? progressValueInSeconds / 3600 >= 1 ? _dayjs["default"].duration(progressValueInSeconds, 'second').format('HH:mm:ss') : _dayjs["default"].duration(progressValueInSeconds, 'second').format('mm:ss') : null;
|
|
57
|
+
|
|
58
|
+
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
59
|
+
_useTheme$theme$image = _useTheme.theme.imageGallery.videoControl,
|
|
60
|
+
durationTextStyle = _useTheme$theme$image.durationTextStyle,
|
|
61
|
+
roundedView = _useTheme$theme$image.roundedView,
|
|
62
|
+
videoContainer = _useTheme$theme$image.videoContainer;
|
|
63
|
+
|
|
64
|
+
return _react["default"].createElement(_reactNative.View, {
|
|
65
|
+
style: [styles.videoContainer, videoContainer],
|
|
66
|
+
__self: _this,
|
|
67
|
+
__source: {
|
|
68
|
+
fileName: _jsxFileName,
|
|
69
|
+
lineNumber: 65,
|
|
70
|
+
columnNumber: 7
|
|
71
|
+
}
|
|
72
|
+
}, _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
73
|
+
onPress: onPlayPause,
|
|
74
|
+
__self: _this,
|
|
75
|
+
__source: {
|
|
76
|
+
fileName: _jsxFileName,
|
|
77
|
+
lineNumber: 66,
|
|
78
|
+
columnNumber: 9
|
|
79
|
+
}
|
|
80
|
+
}, _react["default"].createElement(_reactNative.View, {
|
|
81
|
+
style: [styles.roundedView, roundedView],
|
|
82
|
+
__self: _this,
|
|
83
|
+
__source: {
|
|
84
|
+
fileName: _jsxFileName,
|
|
85
|
+
lineNumber: 67,
|
|
86
|
+
columnNumber: 11
|
|
87
|
+
}
|
|
88
|
+
}, paused ? _react["default"].createElement(_icons.Play, {
|
|
89
|
+
height: 24,
|
|
90
|
+
pathFill: '#000',
|
|
91
|
+
width: 24,
|
|
92
|
+
__self: _this,
|
|
93
|
+
__source: {
|
|
94
|
+
fileName: _jsxFileName,
|
|
95
|
+
lineNumber: 69,
|
|
96
|
+
columnNumber: 15
|
|
97
|
+
}
|
|
98
|
+
}) : _react["default"].createElement(_icons.Pause, {
|
|
99
|
+
height: 24,
|
|
100
|
+
width: 24,
|
|
101
|
+
__self: _this,
|
|
102
|
+
__source: {
|
|
103
|
+
fileName: _jsxFileName,
|
|
104
|
+
lineNumber: 71,
|
|
105
|
+
columnNumber: 15
|
|
106
|
+
}
|
|
107
|
+
}))), _react["default"].createElement(_reactNative.Text, {
|
|
108
|
+
style: [styles.durationTextStyle, durationTextStyle],
|
|
109
|
+
__self: _this,
|
|
110
|
+
__source: {
|
|
111
|
+
fileName: _jsxFileName,
|
|
112
|
+
lineNumber: 75,
|
|
113
|
+
columnNumber: 9
|
|
114
|
+
}
|
|
115
|
+
}, progressDuration ? progressDuration : '00:00'), _react["default"].createElement(_ProgressControl.ProgressControl, {
|
|
116
|
+
duration: duration,
|
|
117
|
+
onPlayPause: onPlayPause,
|
|
118
|
+
onProgressDrag: onProgressDrag,
|
|
119
|
+
progress: progress,
|
|
120
|
+
__self: _this,
|
|
121
|
+
__source: {
|
|
122
|
+
fileName: _jsxFileName,
|
|
123
|
+
lineNumber: 78,
|
|
124
|
+
columnNumber: 9
|
|
125
|
+
}
|
|
126
|
+
}), _react["default"].createElement(_reactNative.Text, {
|
|
127
|
+
style: [styles.durationTextStyle, durationTextStyle],
|
|
128
|
+
__self: _this,
|
|
129
|
+
__source: {
|
|
130
|
+
fileName: _jsxFileName,
|
|
131
|
+
lineNumber: 84,
|
|
132
|
+
columnNumber: 9
|
|
133
|
+
}
|
|
134
|
+
}, videoDuration ? videoDuration : '00:00'));
|
|
135
|
+
}, function (prevProps, nextProps) {
|
|
136
|
+
if (prevProps.duration === nextProps.duration && prevProps.paused === nextProps.paused && prevProps.progress === nextProps.progress) {
|
|
137
|
+
return true;
|
|
138
|
+
} else {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
exports.ImageGalleryVideoControl = ImageGalleryVideoControl;
|
|
144
|
+
ImageGalleryVideoControl.displayName = 'ImageGalleryVideoControl{imageGallery{videoControl}}';
|
|
145
|
+
//# sourceMappingURL=ImageGalleryVideoControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ImageGalleryVideoControl.tsx"],"names":["styles","StyleSheet","create","durationTextStyle","color","fontWeight","roundedView","alignItems","backgroundColor","borderRadius","display","elevation","height","justifyContent","width","videoContainer","flexDirection","padding","ImageGalleryVideoControl","React","memo","props","duration","onPlayPause","onProgressDrag","paused","progress","videoDuration","dayjs","format","progressValueInSeconds","progressDuration","theme","imageGallery","videoControl","prevProps","nextProps","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport type { ImageGalleryFooterVideoControlProps } from './ImageGalleryFooter';\nimport { ProgressControl } from './ProgressControl';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Pause, Play } from '../../../icons';\n\nconst styles = StyleSheet.create({\n durationTextStyle: {\n color: '#fff',\n fontWeight: 'bold',\n },\n roundedView: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderRadius: 50,\n display: 'flex',\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n videoContainer: {\n alignItems: 'center',\n backgroundColor: 'rgba(52, 52, 52, 0.1)',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n});\n\nexport const ImageGalleryVideoControl: React.FC<ImageGalleryFooterVideoControlProps> = React.memo(\n (props) => {\n const { duration, onPlayPause, onProgressDrag, paused, progress } = props;\n\n const videoDuration = duration\n ? duration / 3600 >= 1\n ? dayjs.duration(duration, 'second').format('HH:mm:ss')\n : dayjs.duration(duration, 'second').format('mm:ss')\n : null;\n\n const progressValueInSeconds = progress * duration;\n\n const progressDuration = progressValueInSeconds\n ? progressValueInSeconds / 3600 >= 1\n ? dayjs.duration(progressValueInSeconds, 'second').format('HH:mm:ss')\n : dayjs.duration(progressValueInSeconds, 'second').format('mm:ss')\n : null;\n\n const {\n theme: {\n imageGallery: {\n videoControl: { durationTextStyle, roundedView, videoContainer },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.videoContainer, videoContainer]}>\n <TouchableOpacity onPress={onPlayPause}>\n <View style={[styles.roundedView, roundedView]}>\n {paused ? (\n <Play height={24} pathFill={'#000'} width={24} />\n ) : (\n <Pause height={24} width={24} />\n )}\n </View>\n </TouchableOpacity>\n <Text style={[styles.durationTextStyle, durationTextStyle]}>\n {progressDuration ? progressDuration : '00:00'}\n </Text>\n <ProgressControl\n duration={duration}\n onPlayPause={onPlayPause}\n onProgressDrag={onProgressDrag}\n progress={progress}\n />\n <Text style={[styles.durationTextStyle, durationTextStyle]}>\n {videoDuration ? videoDuration : '00:00'}\n </Text>\n </View>\n );\n },\n (prevProps, nextProps) => {\n if (\n prevProps.duration === nextProps.duration &&\n prevProps.paused === nextProps.paused &&\n prevProps.progress === nextProps.progress\n ) {\n return true;\n } else {\n return false;\n }\n },\n);\n\nImageGalleryVideoControl.displayName = 'ImageGalleryVideoControl{imageGallery{videoControl}}';\n"]}
|
|
@@ -15,13 +15,13 @@ var _reactNative = require("react-native");
|
|
|
15
15
|
|
|
16
16
|
var _bottomSheet = require("@gorhom/bottom-sheet");
|
|
17
17
|
|
|
18
|
+
var _VideoThumbnail = require("../../../components/Attachment/VideoThumbnail");
|
|
19
|
+
|
|
18
20
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
19
21
|
|
|
20
22
|
var _utils = require("../../../utils/utils");
|
|
21
23
|
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _excluded = ["avatarComponent", "imageComponent"];
|
|
24
|
+
var _excluded = ["imageComponent"];
|
|
25
25
|
|
|
26
26
|
var _this = this,
|
|
27
27
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGrid.tsx";
|
|
@@ -51,20 +51,14 @@ var GridImage = function GridImage(_ref) {
|
|
|
51
51
|
var item = _ref.item;
|
|
52
52
|
|
|
53
53
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
gridAvatar = _useTheme$theme$image.gridAvatar,
|
|
58
|
-
gridAvatarWrapper = _useTheme$theme$image.gridAvatarWrapper,
|
|
59
|
-
gridImage = _useTheme$theme$image.gridImage;
|
|
60
|
-
|
|
61
|
-
var avatarComponent = item.avatarComponent,
|
|
62
|
-
imageComponent = item.imageComponent,
|
|
54
|
+
gridImage = _useTheme.theme.imageGallery.grid.gridImage;
|
|
55
|
+
|
|
56
|
+
var imageComponent = item.imageComponent,
|
|
63
57
|
restItem = (0, _objectWithoutProperties2["default"])(item, _excluded);
|
|
64
58
|
var numberOfImageGalleryGridColumns = restItem.numberOfImageGalleryGridColumns,
|
|
65
59
|
selectAndClose = restItem.selectAndClose,
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
type = restItem.type,
|
|
61
|
+
uri = restItem.uri;
|
|
68
62
|
var size = (0, _utils.vw)(100) / (numberOfImageGalleryGridColumns || 3) - 2;
|
|
69
63
|
|
|
70
64
|
if (imageComponent) {
|
|
@@ -78,13 +72,10 @@ var GridImage = function GridImage(_ref) {
|
|
|
78
72
|
__self: _this,
|
|
79
73
|
__source: {
|
|
80
74
|
fileName: _jsxFileName,
|
|
81
|
-
lineNumber:
|
|
75
|
+
lineNumber: 85,
|
|
82
76
|
columnNumber: 5
|
|
83
77
|
}
|
|
84
|
-
}, _react["default"].createElement(_reactNative.
|
|
85
|
-
source: {
|
|
86
|
-
uri: uri
|
|
87
|
-
},
|
|
78
|
+
}, type === 'video' ? _react["default"].createElement(_reactNative.View, {
|
|
88
79
|
style: [styles.image, {
|
|
89
80
|
height: size,
|
|
90
81
|
width: size
|
|
@@ -93,24 +84,30 @@ var GridImage = function GridImage(_ref) {
|
|
|
93
84
|
__source: {
|
|
94
85
|
fileName: _jsxFileName,
|
|
95
86
|
lineNumber: 87,
|
|
96
|
-
columnNumber:
|
|
87
|
+
columnNumber: 9
|
|
97
88
|
}
|
|
98
|
-
},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
89
|
+
}, _react["default"].createElement(_VideoThumbnail.VideoThumbnail, {
|
|
90
|
+
__self: _this,
|
|
91
|
+
__source: {
|
|
92
|
+
fileName: _jsxFileName,
|
|
93
|
+
lineNumber: 88,
|
|
94
|
+
columnNumber: 11
|
|
95
|
+
}
|
|
96
|
+
})) : _react["default"].createElement(_reactNative.Image, {
|
|
97
|
+
source: {
|
|
98
|
+
uri: uri
|
|
99
|
+
},
|
|
100
|
+
style: [styles.image, {
|
|
101
|
+
height: size,
|
|
102
|
+
width: size
|
|
103
|
+
}],
|
|
107
104
|
__self: _this,
|
|
108
105
|
__source: {
|
|
109
106
|
fileName: _jsxFileName,
|
|
110
|
-
lineNumber:
|
|
111
|
-
columnNumber:
|
|
107
|
+
lineNumber: 91,
|
|
108
|
+
columnNumber: 9
|
|
112
109
|
}
|
|
113
|
-
}))
|
|
110
|
+
}));
|
|
114
111
|
};
|
|
115
112
|
|
|
116
113
|
var renderItem = function renderItem(_ref2) {
|
|
@@ -120,7 +117,7 @@ var renderItem = function renderItem(_ref2) {
|
|
|
120
117
|
__self: _this,
|
|
121
118
|
__source: {
|
|
122
119
|
fileName: _jsxFileName,
|
|
123
|
-
lineNumber:
|
|
120
|
+
lineNumber: 103,
|
|
124
121
|
columnNumber: 7
|
|
125
122
|
}
|
|
126
123
|
});
|
|
@@ -166,7 +163,7 @@ var ImageGrid = function ImageGrid(props) {
|
|
|
166
163
|
__self: _this,
|
|
167
164
|
__source: {
|
|
168
165
|
fileName: _jsxFileName,
|
|
169
|
-
lineNumber:
|
|
166
|
+
lineNumber: 156,
|
|
170
167
|
columnNumber: 5
|
|
171
168
|
}
|
|
172
169
|
});
|