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
|
@@ -25,6 +25,8 @@ var _bottomSheet = require("@gorhom/bottom-sheet");
|
|
|
25
25
|
|
|
26
26
|
var _AnimatedGalleryImage = require("./components/AnimatedGalleryImage");
|
|
27
27
|
|
|
28
|
+
var _AnimatedGalleryVideo = require("./components/AnimatedGalleryVideo");
|
|
29
|
+
|
|
28
30
|
var _ImageGalleryFooter = require("./components/ImageGalleryFooter");
|
|
29
31
|
|
|
30
32
|
var _ImageGalleryHeader = require("./components/ImageGalleryHeader");
|
|
@@ -35,14 +37,14 @@ var _ImageGrid = require("./components/ImageGrid");
|
|
|
35
37
|
|
|
36
38
|
var _ImageGridHandle = require("./components/ImageGridHandle");
|
|
37
39
|
|
|
40
|
+
var _useImageGalleryGestures = require("./hooks/useImageGalleryGestures");
|
|
41
|
+
|
|
38
42
|
var _ImageGalleryContext = require("../../contexts/imageGalleryContext/ImageGalleryContext");
|
|
39
43
|
|
|
40
44
|
var _OverlayContext = require("../../contexts/overlayContext/OverlayContext");
|
|
41
45
|
|
|
42
46
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
43
47
|
|
|
44
|
-
var _native = require("../../native");
|
|
45
|
-
|
|
46
48
|
var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
|
|
47
49
|
|
|
48
50
|
var _getUrlOfImageAttachment = require("../../utils/getUrlOfImageAttachment");
|
|
@@ -92,6 +94,21 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
92
94
|
numberOfImageGalleryGridColumns = props.numberOfImageGalleryGridColumns,
|
|
93
95
|
overlayOpacity = props.overlayOpacity;
|
|
94
96
|
|
|
97
|
+
var _useState = (0, _react.useState)(false),
|
|
98
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
99
|
+
paused = _useState2[0],
|
|
100
|
+
setPaused = _useState2[1];
|
|
101
|
+
|
|
102
|
+
var _useState3 = (0, _react.useState)(0),
|
|
103
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
104
|
+
progress = _useState4[0],
|
|
105
|
+
setProgress = _useState4[1];
|
|
106
|
+
|
|
107
|
+
var _useState5 = (0, _react.useState)(0),
|
|
108
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
109
|
+
duration = _useState6[0],
|
|
110
|
+
setDuration = _useState6[1];
|
|
111
|
+
|
|
95
112
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
96
113
|
_useTheme$theme = _useTheme.theme,
|
|
97
114
|
white_snow = _useTheme$theme.colors.white_snow,
|
|
@@ -100,14 +117,13 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
100
117
|
pager = _useTheme$theme$image.pager,
|
|
101
118
|
slide = _useTheme$theme$image.slide;
|
|
102
119
|
|
|
103
|
-
var
|
|
104
|
-
|
|
105
|
-
gridPhotos =
|
|
106
|
-
setGridPhotos =
|
|
120
|
+
var _useState7 = (0, _react.useState)([]),
|
|
121
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
122
|
+
gridPhotos = _useState8[0],
|
|
123
|
+
setGridPhotos = _useState8[1];
|
|
107
124
|
|
|
108
125
|
var _useOverlayContext = (0, _OverlayContext.useOverlayContext)(),
|
|
109
126
|
overlay = _useOverlayContext.overlay,
|
|
110
|
-
setOverlay = _useOverlayContext.setOverlay,
|
|
111
127
|
translucentStatusBar = _useOverlayContext.translucentStatusBar;
|
|
112
128
|
|
|
113
129
|
var _useImageGalleryConte = (0, _ImageGalleryContext.useImageGalleryContext)(),
|
|
@@ -123,15 +139,15 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
123
139
|
var quarterScreenHeight = screenHeight / 4;
|
|
124
140
|
|
|
125
141
|
var snapPoints = _react["default"].useMemo(function () {
|
|
126
|
-
return [screenHeight *
|
|
142
|
+
return [screenHeight * 3 / 4, screenHeight - (imageGalleryGridHandleHeight != null ? imageGalleryGridHandleHeight : 40)];
|
|
127
143
|
}, []);
|
|
128
144
|
|
|
129
145
|
var bottomSheetModalRef = (0, _react.useRef)(null);
|
|
130
146
|
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
currentBottomSheetIndex =
|
|
134
|
-
setCurrentBottomSheetIndex =
|
|
147
|
+
var _useState9 = (0, _react.useState)(0),
|
|
148
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
149
|
+
currentBottomSheetIndex = _useState10[0],
|
|
150
|
+
setCurrentBottomSheetIndex = _useState10[1];
|
|
135
151
|
|
|
136
152
|
var animatedBottomSheetIndex = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
137
153
|
var screenTranslateY = (0, _reactNativeReanimated.useSharedValue)(screenHeight);
|
|
@@ -151,80 +167,35 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
151
167
|
showScreen();
|
|
152
168
|
}, []);
|
|
153
169
|
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
currentImageHeight =
|
|
157
|
-
setCurrentImageHeight =
|
|
170
|
+
var _useState11 = (0, _react.useState)(screenHeight),
|
|
171
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
172
|
+
currentImageHeight = _useState12[0],
|
|
173
|
+
setCurrentImageHeight = _useState12[1];
|
|
158
174
|
|
|
159
|
-
var
|
|
160
|
-
|
|
161
|
-
selectedIndex =
|
|
162
|
-
setSelectedIndex =
|
|
175
|
+
var _useState13 = (0, _react.useState)(0),
|
|
176
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
177
|
+
selectedIndex = _useState14[0],
|
|
178
|
+
setSelectedIndex = _useState14[1];
|
|
163
179
|
|
|
164
180
|
var index = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
165
181
|
var headerFooterVisible = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
166
|
-
var hasHitBottomScale = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
167
|
-
var hasHitTopScale = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
168
182
|
var doubleTapRef = (0, _react.useRef)(null);
|
|
169
183
|
var panRef = (0, _react.useRef)(null);
|
|
170
184
|
var pinchRef = (0, _react.useRef)(null);
|
|
171
185
|
var singleTapRef = (0, _react.useRef)(null);
|
|
172
|
-
var offsetX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
173
|
-
var offsetY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
174
186
|
var translateX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
175
187
|
var translateY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
176
188
|
var offsetScale = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
177
189
|
var scale = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
178
190
|
var translationX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
179
|
-
var originX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
180
|
-
var originY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
181
|
-
var focalX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
182
|
-
var focalY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
183
|
-
var oldFocalX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
184
|
-
var oldFocalY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
185
|
-
var focalOffsetX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
186
|
-
var focalOffsetY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
187
|
-
var adjustedFocalX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
188
|
-
var adjustedFocalY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
189
|
-
var tapX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
190
|
-
var tapY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
191
|
-
var numberOfPinchFingers = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
192
|
-
var isSwiping = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
193
|
-
var isPinch = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
194
|
-
var hasPinched = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
195
|
-
|
|
196
|
-
var resetTouchValues = function resetTouchValues() {
|
|
197
|
-
'worklet';
|
|
198
|
-
|
|
199
|
-
focalX.value = 0;
|
|
200
|
-
focalY.value = 0;
|
|
201
|
-
oldFocalX.value = 0;
|
|
202
|
-
oldFocalY.value = 0;
|
|
203
|
-
originX.value = 0;
|
|
204
|
-
originY.value = 0;
|
|
205
|
-
focalOffsetX.value = 0;
|
|
206
|
-
focalOffsetY.value = 0;
|
|
207
|
-
numberOfPinchFingers.value = 0;
|
|
208
|
-
isPinch.value = false;
|
|
209
|
-
isSwiping.value = IsSwiping.UNDETERMINED;
|
|
210
|
-
};
|
|
211
|
-
|
|
212
|
-
var resetMovementValues = function resetMovementValues() {
|
|
213
|
-
'worklet';
|
|
214
|
-
|
|
215
|
-
translateX.value = 0;
|
|
216
|
-
translateY.value = 0;
|
|
217
|
-
scale.value = 1;
|
|
218
|
-
offsetScale.value = 1;
|
|
219
|
-
};
|
|
220
|
-
|
|
221
191
|
var photos = images.reduce(function (acc, cur) {
|
|
222
192
|
var _cur$attachments;
|
|
223
193
|
|
|
194
|
+
console.log(cur);
|
|
224
195
|
var attachmentImages = ((_cur$attachments = cur.attachments) == null ? void 0 : _cur$attachments.filter(function (attachment) {
|
|
225
196
|
var _attachment$giphy, _attachment$giphy$gip;
|
|
226
197
|
|
|
227
|
-
return attachment.type === 'giphy' && (((_attachment$giphy = attachment.giphy) == null ? void 0 : (_attachment$giphy$gip = _attachment$giphy[giphyVersion]) == null ? void 0 : _attachment$giphy$gip.url) || attachment.thumb_url || attachment.image_url) || attachment.type === 'image' && !attachment.title_link && !attachment.og_scrape_url && (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(attachment);
|
|
198
|
+
return attachment.type === 'giphy' && (((_attachment$giphy = attachment.giphy) == null ? void 0 : (_attachment$giphy$gip = _attachment$giphy[giphyVersion]) == null ? void 0 : _attachment$giphy$gip.url) || attachment.thumb_url || attachment.image_url) || attachment.type === 'image' && !attachment.title_link && !attachment.og_scrape_url && (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(attachment) || attachment.type === 'video';
|
|
228
199
|
})) || [];
|
|
229
200
|
var attachmentPhotos = attachmentImages.map(function (a) {
|
|
230
201
|
var imageUrl = (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(a);
|
|
@@ -233,8 +204,10 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
233
204
|
created_at: cur.created_at,
|
|
234
205
|
id: "photoId-" + cur.id + "-" + imageUrl,
|
|
235
206
|
messageId: cur.id,
|
|
207
|
+
mime_type: a.mime_type,
|
|
236
208
|
original_height: a.original_height,
|
|
237
209
|
original_width: a.original_width,
|
|
210
|
+
type: a.type,
|
|
238
211
|
uri: (0, _getResizedImageUrl.getResizedImageUrl)({
|
|
239
212
|
height: screenHeight,
|
|
240
213
|
url: imageUrl,
|
|
@@ -261,6 +234,11 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
261
234
|
var newIndex = photos.findIndex(function (photo) {
|
|
262
235
|
return photo.messageId === (image == null ? void 0 : image.messageId) && photo.uri === (image == null ? void 0 : image.url);
|
|
263
236
|
});
|
|
237
|
+
|
|
238
|
+
if (photoLength > 1) {
|
|
239
|
+
setPaused(true);
|
|
240
|
+
}
|
|
241
|
+
|
|
264
242
|
(0, _reactNativeReanimated.runOnUI)(updatePosition)(newIndex);
|
|
265
243
|
}, [image, photoLength]);
|
|
266
244
|
var uriForCurrentImage = (_photos$selectedIndex = photos[selectedIndex]) == null ? void 0 : _photos$selectedIndex.uri;
|
|
@@ -274,268 +252,36 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
274
252
|
var imageHeight = Math.floor(height * (screenWidth / width));
|
|
275
253
|
setCurrentImageHeight(imageHeight > screenHeight ? screenHeight : imageHeight);
|
|
276
254
|
} else if (photo != null && photo.uri) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
}, [uriForCurrentImage]);
|
|
283
|
-
var onPan = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
|
|
284
|
-
onActive: function onActive(evt) {
|
|
285
|
-
if (evt.numberOfPointers === 1 && !isPinch.value) {
|
|
286
|
-
if (isAndroid && hasPinched.value === HasPinched.TRUE) {
|
|
287
|
-
hasPinched.value = HasPinched.FALSE;
|
|
288
|
-
isSwiping.value = IsSwiping.FALSE;
|
|
289
|
-
offsetX.value = translateX.value + evt.translationX;
|
|
290
|
-
offsetY.value = translateY.value - evt.translationY;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
if (isSwiping.value === IsSwiping.UNDETERMINED) {
|
|
294
|
-
var maxXYRatio = isAndroid ? 1 : 0.25;
|
|
295
|
-
|
|
296
|
-
if (Math.abs(evt.translationX / evt.translationY) > maxXYRatio && (Math.abs(-halfScreenWidth * (scale.value - 1) - offsetX.value) < 3 || Math.abs(halfScreenWidth * (scale.value - 1) - offsetX.value) < 3)) {
|
|
297
|
-
isSwiping.value = IsSwiping.TRUE;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
if (Math.abs(evt.translationY) > 25) {
|
|
301
|
-
isSwiping.value = IsSwiping.FALSE;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
var localEvtScale = scale.value / offsetScale.value;
|
|
306
|
-
translateX.value = scale.value !== offsetScale.value ? offsetX.value * localEvtScale - evt.translationX : offsetX.value - evt.translationX;
|
|
307
|
-
translateY.value = isSwiping.value !== IsSwiping.TRUE ? scale.value !== offsetScale.value ? offsetY.value * localEvtScale + evt.translationY : offsetY.value + evt.translationY : translateY.value;
|
|
308
|
-
scale.value = currentImageHeight * offsetScale.value < screenHeight && translateY.value > 0 ? offsetScale.value * (1 - 1 / 3 * (translateY.value / screenHeight)) : currentImageHeight * offsetScale.value > screenHeight && translateY.value > currentImageHeight / 2 * offsetScale.value - halfScreenHeight ? offsetScale.value * (1 - 1 / 3 * ((translateY.value - (currentImageHeight / 2 * offsetScale.value - halfScreenHeight)) / screenHeight)) : scale.value;
|
|
309
|
-
overlayOpacity.value = localEvtScale;
|
|
310
|
-
}
|
|
311
|
-
},
|
|
312
|
-
onFinish: function onFinish(evt) {
|
|
313
|
-
if (!isPinch.value && evt.numberOfPointers < 2) {
|
|
314
|
-
var finalXPosition = evt.translationX - evt.velocityX * 0.3;
|
|
315
|
-
var finalYPosition = evt.translationY + evt.velocityY * 0.1;
|
|
316
|
-
|
|
317
|
-
if (index.value < photoLength - 1 && Math.abs(halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 && translateX.value < 0 && finalXPosition < -halfScreenWidth && isSwiping.value === IsSwiping.TRUE) {
|
|
318
|
-
(0, _reactNativeReanimated.cancelAnimation)(translationX);
|
|
319
|
-
translationX.value = (0, _reactNativeReanimated.withTiming)(-(screenWidth + MARGIN) * (index.value + 1), {
|
|
320
|
-
duration: 200,
|
|
321
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
322
|
-
}, function () {
|
|
323
|
-
resetMovementValues();
|
|
324
|
-
index.value = index.value + 1;
|
|
325
|
-
(0, _reactNativeReanimated.runOnJS)(setSelectedIndex)(index.value);
|
|
326
|
-
});
|
|
327
|
-
} else if (index.value > 0 && Math.abs(-halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 && translateX.value > 0 && finalXPosition > halfScreenWidth && isSwiping.value === IsSwiping.TRUE) {
|
|
328
|
-
(0, _reactNativeReanimated.cancelAnimation)(translationX);
|
|
329
|
-
translationX.value = (0, _reactNativeReanimated.withTiming)(-(screenWidth + MARGIN) * (index.value - 1), {
|
|
330
|
-
duration: 200,
|
|
331
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
332
|
-
}, function () {
|
|
333
|
-
resetMovementValues();
|
|
334
|
-
index.value = index.value - 1;
|
|
335
|
-
(0, _reactNativeReanimated.runOnJS)(setSelectedIndex)(index.value);
|
|
336
|
-
});
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
translateX.value = scale.value < 1 ? (0, _reactNativeReanimated.withTiming)(0) : translateX.value > halfScreenWidth * (scale.value - 1) ? (0, _reactNativeReanimated.withTiming)(halfScreenWidth * (scale.value - 1), {
|
|
340
|
-
duration: 200
|
|
341
|
-
}) : translateX.value < -halfScreenWidth * (scale.value - 1) ? (0, _reactNativeReanimated.withTiming)(-halfScreenWidth * (scale.value - 1), {
|
|
342
|
-
duration: 200
|
|
343
|
-
}) : (0, _reactNativeReanimated.withDecay)({
|
|
344
|
-
clamp: [-halfScreenWidth * (scale.value - 1), halfScreenWidth * (scale.value - 1)],
|
|
345
|
-
deceleration: 0.99,
|
|
346
|
-
velocity: -evt.velocityX
|
|
347
|
-
});
|
|
348
|
-
translateY.value = currentImageHeight * scale.value < screenHeight ? (0, _reactNativeReanimated.withTiming)(0) : translateY.value > currentImageHeight / 2 * scale.value - halfScreenHeight ? (0, _reactNativeReanimated.withTiming)(currentImageHeight / 2 * scale.value - halfScreenHeight) : translateY.value < -currentImageHeight / 2 * scale.value + halfScreenHeight ? (0, _reactNativeReanimated.withTiming)(-currentImageHeight / 2 * scale.value + halfScreenHeight) : (0, _reactNativeReanimated.withDecay)({
|
|
349
|
-
clamp: [-currentImageHeight / 2 * scale.value + halfScreenHeight, currentImageHeight / 2 * scale.value - halfScreenHeight],
|
|
350
|
-
deceleration: 0.99,
|
|
351
|
-
velocity: evt.velocityY
|
|
255
|
+
if (photo.type === 'image') {
|
|
256
|
+
_reactNative.Image.getSize(photo.uri, function (width, height) {
|
|
257
|
+
var imageHeight = Math.floor(height * (screenWidth / width));
|
|
258
|
+
setCurrentImageHeight(imageHeight > screenHeight ? screenHeight : imageHeight);
|
|
352
259
|
});
|
|
353
|
-
resetTouchValues();
|
|
354
|
-
scale.value = scale.value !== offsetScale.value ? (0, _reactNativeReanimated.withTiming)(offsetScale.value) : offsetScale.value;
|
|
355
|
-
|
|
356
|
-
if (finalYPosition > halfScreenHeight && offsetY.value + 8 >= currentImageHeight / 2 * scale.value - halfScreenHeight && isSwiping.value !== IsSwiping.TRUE && translateY.value !== 0 && !(Math.abs(halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 && translateX.value < 0 && finalXPosition < -halfScreenWidth) && !(Math.abs(-halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 && translateX.value > 0 && finalXPosition > halfScreenWidth)) {
|
|
357
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateX);
|
|
358
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateY);
|
|
359
|
-
(0, _reactNativeReanimated.cancelAnimation)(scale);
|
|
360
|
-
overlayOpacity.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
361
|
-
duration: 200,
|
|
362
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
363
|
-
}, function () {
|
|
364
|
-
(0, _reactNativeReanimated.runOnJS)(setOverlay)('none');
|
|
365
|
-
});
|
|
366
|
-
scale.value = (0, _reactNativeReanimated.withTiming)(0.6, {
|
|
367
|
-
duration: 200,
|
|
368
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
369
|
-
});
|
|
370
|
-
translateY.value = evt.velocityY > 1000 ? (0, _reactNativeReanimated.withDecay)({
|
|
371
|
-
velocity: evt.velocityY
|
|
372
|
-
}) : (0, _reactNativeReanimated.withTiming)(halfScreenHeight + currentImageHeight / 2 * scale.value, {
|
|
373
|
-
duration: 200,
|
|
374
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
375
|
-
});
|
|
376
|
-
translateX.value = (0, _reactNativeReanimated.withDecay)({
|
|
377
|
-
velocity: -evt.velocityX
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
onStart: function onStart() {
|
|
383
|
-
if (!isPinch.value) {
|
|
384
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateX);
|
|
385
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateY);
|
|
386
|
-
(0, _reactNativeReanimated.cancelAnimation)(scale);
|
|
387
|
-
offsetX.value = translateX.value;
|
|
388
|
-
offsetY.value = translateY.value;
|
|
389
260
|
}
|
|
390
|
-
|
|
391
|
-
hasPinched.value = HasPinched.FALSE;
|
|
392
261
|
}
|
|
393
|
-
}, [
|
|
394
|
-
var onPinch = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
|
|
395
|
-
onActive: function onActive(evt) {
|
|
396
|
-
if (!isPinch.value && isAndroid) {
|
|
397
|
-
hasPinched.value = HasPinched.TRUE;
|
|
398
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateX);
|
|
399
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateY);
|
|
400
|
-
(0, _reactNativeReanimated.cancelAnimation)(scale);
|
|
401
|
-
isSwiping.value = IsSwiping.UNDETERMINED;
|
|
402
|
-
numberOfPinchFingers.value = evt.numberOfPointers;
|
|
403
|
-
offsetX.value = translateX.value;
|
|
404
|
-
offsetY.value = translateY.value;
|
|
405
|
-
adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);
|
|
406
|
-
adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);
|
|
407
|
-
originX.value = adjustedFocalX.value;
|
|
408
|
-
originY.value = adjustedFocalY.value;
|
|
409
|
-
offsetScale.value = scale.value;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
isPinch.value = true;
|
|
413
|
-
scale.value = clamp(offsetScale.value * evt.scale, 1, 8);
|
|
414
|
-
var localEvtScale = scale.value / offsetScale.value;
|
|
415
|
-
|
|
416
|
-
if (scale.value !== 8 && scale.value !== 1) {
|
|
417
|
-
hasHitTopScale.value = 0;
|
|
418
|
-
hasHitBottomScale.value = 0;
|
|
419
|
-
} else if (scale.value === 8 && hasHitTopScale.value === 0) {
|
|
420
|
-
hasHitTopScale.value = 1;
|
|
421
|
-
(0, _reactNativeReanimated.runOnJS)(_native.triggerHaptic)('impactLight');
|
|
422
|
-
} else if (scale.value === 1 && hasHitBottomScale.value === 0) {
|
|
423
|
-
hasHitBottomScale.value = 1;
|
|
424
|
-
(0, _reactNativeReanimated.runOnJS)(_native.triggerHaptic)('impactLight');
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);
|
|
428
|
-
adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);
|
|
429
|
-
|
|
430
|
-
if (numberOfPinchFingers.value !== evt.numberOfPointers) {
|
|
431
|
-
numberOfPinchFingers.value = evt.numberOfPointers;
|
|
432
|
-
|
|
433
|
-
if (evt.numberOfPointers === 1) {
|
|
434
|
-
focalOffsetX.value = oldFocalX.value - adjustedFocalX.value;
|
|
435
|
-
focalOffsetY.value = oldFocalY.value - adjustedFocalY.value;
|
|
436
|
-
} else if (numberOfPinchFingers.value > 1) {
|
|
437
|
-
originX.value = originX.value - (oldFocalX.value / localEvtScale - adjustedFocalX.value / localEvtScale);
|
|
438
|
-
originY.value = originY.value - (oldFocalY.value / localEvtScale - adjustedFocalY.value / localEvtScale);
|
|
439
|
-
}
|
|
440
|
-
}
|
|
262
|
+
}, [uriForCurrentImage]);
|
|
441
263
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
},
|
|
463
|
-
onStart: function onStart(evt) {
|
|
464
|
-
if (!isAndroid) {
|
|
465
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateX);
|
|
466
|
-
(0, _reactNativeReanimated.cancelAnimation)(translateY);
|
|
467
|
-
(0, _reactNativeReanimated.cancelAnimation)(scale);
|
|
468
|
-
isPinch.value = true;
|
|
469
|
-
isSwiping.value = IsSwiping.UNDETERMINED;
|
|
470
|
-
numberOfPinchFingers.value = evt.numberOfPointers;
|
|
471
|
-
offsetX.value = translateX.value;
|
|
472
|
-
offsetY.value = translateY.value;
|
|
473
|
-
adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);
|
|
474
|
-
adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);
|
|
475
|
-
originX.value = adjustedFocalX.value;
|
|
476
|
-
originY.value = adjustedFocalY.value;
|
|
477
|
-
offsetScale.value = scale.value;
|
|
478
|
-
}
|
|
264
|
+
var _useImageGalleryGestu = (0, _useImageGalleryGestures.useImageGalleryGestures)({
|
|
265
|
+
currentImageHeight: currentImageHeight,
|
|
266
|
+
halfScreenHeight: halfScreenHeight,
|
|
267
|
+
halfScreenWidth: halfScreenWidth,
|
|
268
|
+
headerFooterVisible: headerFooterVisible,
|
|
269
|
+
offsetScale: offsetScale,
|
|
270
|
+
overlayOpacity: overlayOpacity,
|
|
271
|
+
photoLength: photoLength,
|
|
272
|
+
scale: scale,
|
|
273
|
+
screenHeight: screenHeight,
|
|
274
|
+
screenWidth: screenWidth,
|
|
275
|
+
setSelectedIndex: setSelectedIndex,
|
|
276
|
+
translateX: translateX,
|
|
277
|
+
translateY: translateY,
|
|
278
|
+
translationX: translationX
|
|
279
|
+
}),
|
|
280
|
+
onDoubleTap = _useImageGalleryGestu.onDoubleTap,
|
|
281
|
+
onPan = _useImageGalleryGestu.onPan,
|
|
282
|
+
onPinch = _useImageGalleryGestu.onPinch,
|
|
283
|
+
onSingleTap = _useImageGalleryGestu.onSingleTap;
|
|
479
284
|
|
|
480
|
-
hasPinched.value = HasPinched.FALSE;
|
|
481
|
-
}
|
|
482
|
-
}, [currentImageHeight]);
|
|
483
|
-
var onSingleTap = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
|
|
484
|
-
onActive: function onActive() {
|
|
485
|
-
(0, _reactNativeReanimated.cancelAnimation)(headerFooterVisible);
|
|
486
|
-
headerFooterVisible.value = headerFooterVisible.value > 0 ? (0, _reactNativeReanimated.withTiming)(0) : (0, _reactNativeReanimated.withTiming)(1);
|
|
487
|
-
}
|
|
488
|
-
});
|
|
489
|
-
var onDoubleTap = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
|
|
490
|
-
onActive: function onActive(evt) {
|
|
491
|
-
if (Math.abs(tapX.value - evt.absoluteX) < 64 && Math.abs(tapY.value - evt.absoluteY) < 64) {
|
|
492
|
-
if (offsetScale.value === 1 && offsetX.value === 0 && offsetY.value === 0) {
|
|
493
|
-
offsetScale.value = 2;
|
|
494
|
-
scale.value = (0, _reactNativeReanimated.withTiming)(2, {
|
|
495
|
-
duration: 200,
|
|
496
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
497
|
-
});
|
|
498
|
-
translateX.value = (0, _reactNativeReanimated.withTiming)(evt.absoluteX - halfScreenWidth, {
|
|
499
|
-
duration: 200,
|
|
500
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
501
|
-
});
|
|
502
|
-
|
|
503
|
-
if (currentImageHeight * 2 > screenHeight) {
|
|
504
|
-
var translateYTopBottom = evt.absoluteY > halfScreenHeight ? -(currentImageHeight * 2 - screenHeight) / 2 : (currentImageHeight * 2 - screenHeight) / 2;
|
|
505
|
-
translateY.value = (0, _reactNativeReanimated.withTiming)(translateYTopBottom, {
|
|
506
|
-
duration: 200,
|
|
507
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
508
|
-
});
|
|
509
|
-
}
|
|
510
|
-
} else {
|
|
511
|
-
offsetScale.value = 1;
|
|
512
|
-
scale.value = (0, _reactNativeReanimated.withTiming)(1, {
|
|
513
|
-
duration: 200,
|
|
514
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
515
|
-
});
|
|
516
|
-
offsetX.value = 0;
|
|
517
|
-
offsetY.value = 0;
|
|
518
|
-
translateX.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
519
|
-
duration: 200,
|
|
520
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
521
|
-
});
|
|
522
|
-
translateY.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
523
|
-
duration: 200,
|
|
524
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
525
|
-
});
|
|
526
|
-
|
|
527
|
-
if (headerFooterVisible.value !== 0) {
|
|
528
|
-
(0, _reactNativeReanimated.cancelAnimation)(headerFooterVisible);
|
|
529
|
-
headerFooterVisible.value = (0, _reactNativeReanimated.withTiming)(0);
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
},
|
|
534
|
-
onStart: function onStart(evt) {
|
|
535
|
-
tapX.value = evt.absoluteX;
|
|
536
|
-
tapY.value = evt.absoluteY;
|
|
537
|
-
}
|
|
538
|
-
});
|
|
539
285
|
var headerFooterOpacity = (0, _reactNativeReanimated.useDerivedValue)(function () {
|
|
540
286
|
return currentImageHeight * scale.value < screenHeight && translateY.value > 0 ? 1 - translateY.value / quarterScreenHeight : currentImageHeight * scale.value > screenHeight && translateY.value > currentImageHeight / 2 * scale.value - halfScreenHeight ? 1 - (translateY.value - (currentImageHeight / 2 * scale.value - halfScreenHeight)) / quarterScreenHeight : 1;
|
|
541
287
|
}, [currentImageHeight]);
|
|
@@ -580,13 +326,54 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
580
326
|
}
|
|
581
327
|
};
|
|
582
328
|
|
|
329
|
+
var videoRef = (0, _react.useRef)(null);
|
|
330
|
+
|
|
331
|
+
var handleEnd = function handleEnd() {
|
|
332
|
+
setPaused(true);
|
|
333
|
+
setProgress(1);
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
var handleLoad = function handleLoad(payload) {
|
|
337
|
+
if (payload.duration) setDuration(payload.duration);
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
var handleProgress = function handleProgress(data) {
|
|
341
|
+
if (data.currentTime && data.seekableDuration) {
|
|
342
|
+
setProgress(data.currentTime / data.seekableDuration);
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
var handlePlayPause = function handlePlayPause() {
|
|
347
|
+
if (progress === 1 && videoRef.current && videoRef.current.seek) {
|
|
348
|
+
videoRef.current.seek(0);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
if (progress === 1 && videoRef.current && videoRef.current.replayAsync) {
|
|
352
|
+
videoRef.current.replayAsync();
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
setPaused(function (state) {
|
|
356
|
+
return !state;
|
|
357
|
+
});
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
var onProgressDrag = function onProgressDrag(progress) {
|
|
361
|
+
if (videoRef.current && videoRef.current.seek) {
|
|
362
|
+
videoRef.current.seek(progress);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
if (videoRef.current && videoRef.current.setPositionAsync) {
|
|
366
|
+
videoRef.current.setPositionAsync(progress * 1000);
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
|
|
583
370
|
return _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
584
371
|
pointerEvents: 'auto',
|
|
585
372
|
style: [_reactNative.StyleSheet.absoluteFillObject, showScreenStyle],
|
|
586
373
|
__self: _this,
|
|
587
374
|
__source: {
|
|
588
375
|
fileName: _jsxFileName,
|
|
589
|
-
lineNumber:
|
|
376
|
+
lineNumber: 492,
|
|
590
377
|
columnNumber: 5
|
|
591
378
|
}
|
|
592
379
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -594,7 +381,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
594
381
|
__self: _this,
|
|
595
382
|
__source: {
|
|
596
383
|
fileName: _jsxFileName,
|
|
597
|
-
lineNumber:
|
|
384
|
+
lineNumber: 493,
|
|
598
385
|
columnNumber: 7
|
|
599
386
|
}
|
|
600
387
|
}), _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
|
|
@@ -606,7 +393,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
606
393
|
__self: _this,
|
|
607
394
|
__source: {
|
|
608
395
|
fileName: _jsxFileName,
|
|
609
|
-
lineNumber:
|
|
396
|
+
lineNumber: 494,
|
|
610
397
|
columnNumber: 7
|
|
611
398
|
}
|
|
612
399
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -614,7 +401,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
614
401
|
__self: _this,
|
|
615
402
|
__source: {
|
|
616
403
|
fileName: _jsxFileName,
|
|
617
|
-
lineNumber:
|
|
404
|
+
lineNumber: 501,
|
|
618
405
|
columnNumber: 9
|
|
619
406
|
}
|
|
620
407
|
}, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
|
|
@@ -628,7 +415,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
628
415
|
__self: _this,
|
|
629
416
|
__source: {
|
|
630
417
|
fileName: _jsxFileName,
|
|
631
|
-
lineNumber:
|
|
418
|
+
lineNumber: 502,
|
|
632
419
|
columnNumber: 11
|
|
633
420
|
}
|
|
634
421
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -636,7 +423,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
636
423
|
__self: _this,
|
|
637
424
|
__source: {
|
|
638
425
|
fileName: _jsxFileName,
|
|
639
|
-
lineNumber:
|
|
426
|
+
lineNumber: 511,
|
|
640
427
|
columnNumber: 13
|
|
641
428
|
}
|
|
642
429
|
}, _react["default"].createElement(_reactNativeGestureHandler.PinchGestureHandler, {
|
|
@@ -646,7 +433,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
646
433
|
__self: _this,
|
|
647
434
|
__source: {
|
|
648
435
|
fileName: _jsxFileName,
|
|
649
|
-
lineNumber:
|
|
436
|
+
lineNumber: 512,
|
|
650
437
|
columnNumber: 15
|
|
651
438
|
}
|
|
652
439
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -654,7 +441,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
654
441
|
__self: _this,
|
|
655
442
|
__source: {
|
|
656
443
|
fileName: _jsxFileName,
|
|
657
|
-
lineNumber:
|
|
444
|
+
lineNumber: 517,
|
|
658
445
|
columnNumber: 17
|
|
659
446
|
}
|
|
660
447
|
}, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
|
|
@@ -667,7 +454,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
667
454
|
__self: _this,
|
|
668
455
|
__source: {
|
|
669
456
|
fileName: _jsxFileName,
|
|
670
|
-
lineNumber:
|
|
457
|
+
lineNumber: 518,
|
|
671
458
|
columnNumber: 19
|
|
672
459
|
}
|
|
673
460
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -675,7 +462,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
675
462
|
__self: _this,
|
|
676
463
|
__source: {
|
|
677
464
|
fileName: _jsxFileName,
|
|
678
|
-
lineNumber:
|
|
465
|
+
lineNumber: 526,
|
|
679
466
|
columnNumber: 21
|
|
680
467
|
}
|
|
681
468
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -689,11 +476,41 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
689
476
|
__self: _this,
|
|
690
477
|
__source: {
|
|
691
478
|
fileName: _jsxFileName,
|
|
692
|
-
lineNumber:
|
|
479
|
+
lineNumber: 527,
|
|
693
480
|
columnNumber: 23
|
|
694
481
|
}
|
|
695
482
|
}, photos.map(function (photo, i) {
|
|
696
|
-
return _react["default"].createElement(
|
|
483
|
+
return photo.type === 'video' ? _react["default"].createElement(_AnimatedGalleryVideo.AnimatedGalleryVideo, {
|
|
484
|
+
handleEnd: handleEnd,
|
|
485
|
+
handleLoad: handleLoad,
|
|
486
|
+
handleProgress: handleProgress,
|
|
487
|
+
index: i,
|
|
488
|
+
key: photo.uri + "-" + i,
|
|
489
|
+
offsetScale: offsetScale,
|
|
490
|
+
paused: paused,
|
|
491
|
+
previous: selectedIndex > i,
|
|
492
|
+
scale: scale,
|
|
493
|
+
screenHeight: screenHeight,
|
|
494
|
+
selected: selectedIndex === i,
|
|
495
|
+
shouldRender: Math.abs(selectedIndex - i) < 4,
|
|
496
|
+
source: {
|
|
497
|
+
uri: photo.uri
|
|
498
|
+
},
|
|
499
|
+
style: [{
|
|
500
|
+
height: screenHeight * 8,
|
|
501
|
+
marginRight: MARGIN,
|
|
502
|
+
width: screenWidth * 8
|
|
503
|
+
}, slide],
|
|
504
|
+
translateX: translateX,
|
|
505
|
+
translateY: translateY,
|
|
506
|
+
videoRef: videoRef,
|
|
507
|
+
__self: _this,
|
|
508
|
+
__source: {
|
|
509
|
+
fileName: _jsxFileName,
|
|
510
|
+
lineNumber: 544,
|
|
511
|
+
columnNumber: 29
|
|
512
|
+
}
|
|
513
|
+
}) : _react["default"].createElement(_AnimatedGalleryImage.AnimatedGalleryImage, {
|
|
697
514
|
index: i,
|
|
698
515
|
key: photo.uri + "-" + i,
|
|
699
516
|
offsetScale: offsetScale,
|
|
@@ -713,8 +530,8 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
713
530
|
__self: _this,
|
|
714
531
|
__source: {
|
|
715
532
|
fileName: _jsxFileName,
|
|
716
|
-
lineNumber:
|
|
717
|
-
columnNumber:
|
|
533
|
+
lineNumber: 571,
|
|
534
|
+
columnNumber: 29
|
|
718
535
|
}
|
|
719
536
|
});
|
|
720
537
|
})))))))))), _react["default"].createElement(_ImageGalleryHeader.ImageGalleryHeader, (0, _extends2["default"])({
|
|
@@ -725,21 +542,26 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
725
542
|
__self: _this,
|
|
726
543
|
__source: {
|
|
727
544
|
fileName: _jsxFileName,
|
|
728
|
-
lineNumber:
|
|
545
|
+
lineNumber: 603,
|
|
729
546
|
columnNumber: 7
|
|
730
547
|
}
|
|
731
548
|
})), _react["default"].createElement(_ImageGalleryFooter.ImageGalleryFooter, (0, _extends2["default"])({
|
|
549
|
+
duration: duration,
|
|
550
|
+
onPlayPause: handlePlayPause,
|
|
551
|
+
onProgressDrag: onProgressDrag,
|
|
732
552
|
opacity: headerFooterOpacity,
|
|
733
553
|
openGridView: openGridView,
|
|
554
|
+
paused: paused,
|
|
734
555
|
photo: photos[selectedIndex],
|
|
735
556
|
photoLength: photoLength,
|
|
557
|
+
progress: progress,
|
|
736
558
|
selectedIndex: selectedIndex,
|
|
737
559
|
visible: headerFooterVisible
|
|
738
560
|
}, imageGalleryCustomComponents == null ? void 0 : imageGalleryCustomComponents.footer, {
|
|
739
561
|
__self: _this,
|
|
740
562
|
__source: {
|
|
741
563
|
fileName: _jsxFileName,
|
|
742
|
-
lineNumber:
|
|
564
|
+
lineNumber: 609,
|
|
743
565
|
columnNumber: 7
|
|
744
566
|
}
|
|
745
567
|
})), _react["default"].createElement(_ImageGalleryOverlay.ImageGalleryOverlay, {
|
|
@@ -749,14 +571,14 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
749
571
|
__self: _this,
|
|
750
572
|
__source: {
|
|
751
573
|
fileName: _jsxFileName,
|
|
752
|
-
lineNumber:
|
|
574
|
+
lineNumber: 624,
|
|
753
575
|
columnNumber: 7
|
|
754
576
|
}
|
|
755
577
|
}), _react["default"].createElement(_bottomSheet.BottomSheetModalProvider, {
|
|
756
578
|
__self: _this,
|
|
757
579
|
__source: {
|
|
758
580
|
fileName: _jsxFileName,
|
|
759
|
-
lineNumber:
|
|
581
|
+
lineNumber: 629,
|
|
760
582
|
columnNumber: 7
|
|
761
583
|
}
|
|
762
584
|
}, _react["default"].createElement(_bottomSheet.BottomSheetModal, {
|
|
@@ -769,7 +591,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
769
591
|
__self: _this,
|
|
770
592
|
__source: {
|
|
771
593
|
fileName: _jsxFileName,
|
|
772
|
-
lineNumber:
|
|
594
|
+
lineNumber: 634,
|
|
773
595
|
columnNumber: 13
|
|
774
596
|
}
|
|
775
597
|
}));
|
|
@@ -784,7 +606,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
784
606
|
__self: _this,
|
|
785
607
|
__source: {
|
|
786
608
|
fileName: _jsxFileName,
|
|
787
|
-
lineNumber:
|
|
609
|
+
lineNumber: 630,
|
|
788
610
|
columnNumber: 9
|
|
789
611
|
}
|
|
790
612
|
}, _react["default"].createElement(_ImageGrid.ImageGrid, (0, _extends2["default"])({
|
|
@@ -796,7 +618,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
796
618
|
__self: _this,
|
|
797
619
|
__source: {
|
|
798
620
|
fileName: _jsxFileName,
|
|
799
|
-
lineNumber:
|
|
621
|
+
lineNumber: 645,
|
|
800
622
|
columnNumber: 11
|
|
801
623
|
}
|
|
802
624
|
})))));
|