@amityco/react-native-social-uikit 4.1.0 → 4.1.1-11cdc854.0

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.
Files changed (156) hide show
  1. package/lib/commonjs/core/assets/icons/xml.js +55 -1
  2. package/lib/commonjs/core/assets/icons/xml.js.map +1 -1
  3. package/lib/commonjs/core/hooks/usePostByIds.js +38 -0
  4. package/lib/commonjs/core/hooks/usePostByIds.js.map +1 -0
  5. package/lib/commonjs/social/components/LoadingImage/index.js +4 -3
  6. package/lib/commonjs/social/components/LoadingImage/index.js.map +1 -1
  7. package/lib/commonjs/social/components/LoadingImage/styles.js +4 -0
  8. package/lib/commonjs/social/components/LoadingImage/styles.js.map +1 -1
  9. package/lib/commonjs/social/components/LoadingVideo/index.js +12 -6
  10. package/lib/commonjs/social/components/LoadingVideo/index.js.map +1 -1
  11. package/lib/commonjs/social/components/LoadingVideo/styles.js +4 -0
  12. package/lib/commonjs/social/components/LoadingVideo/styles.js.map +1 -1
  13. package/lib/commonjs/social/components/MediaViewer/MediaViewer.js +266 -0
  14. package/lib/commonjs/social/components/MediaViewer/MediaViewer.js.map +1 -0
  15. package/lib/commonjs/social/components/MediaViewer/index.js +13 -0
  16. package/lib/commonjs/social/components/MediaViewer/index.js.map +1 -0
  17. package/lib/commonjs/social/components/MediaViewer/styles.js +116 -0
  18. package/lib/commonjs/social/components/MediaViewer/styles.js.map +1 -0
  19. package/lib/commonjs/social/components/PostContent/index.js +75 -120
  20. package/lib/commonjs/social/components/PostContent/index.js.map +1 -1
  21. package/lib/commonjs/social/components/SelectedMediaComponent/SelectedMediaComponent.js +180 -0
  22. package/lib/commonjs/social/components/SelectedMediaComponent/SelectedMediaComponent.js.map +1 -0
  23. package/lib/commonjs/social/components/SelectedMediaComponent/index.js +13 -0
  24. package/lib/commonjs/social/components/SelectedMediaComponent/index.js.map +1 -0
  25. package/lib/commonjs/social/components/SelectedMediaComponent/styles.js +43 -0
  26. package/lib/commonjs/social/components/SelectedMediaComponent/styles.js.map +1 -0
  27. package/lib/commonjs/social/constants/index.js +11 -0
  28. package/lib/commonjs/social/constants/index.js.map +1 -0
  29. package/lib/commonjs/social/elements/PostMediaElement/PostMediaElement.js +280 -0
  30. package/lib/commonjs/social/elements/PostMediaElement/PostMediaElement.js.map +1 -0
  31. package/lib/commonjs/social/elements/PostMediaElement/index.js +13 -0
  32. package/lib/commonjs/social/elements/PostMediaElement/index.js.map +1 -0
  33. package/lib/commonjs/social/elements/PostMediaElement/styles.js +117 -0
  34. package/lib/commonjs/social/elements/PostMediaElement/styles.js.map +1 -0
  35. package/lib/commonjs/social/features/post/Composer/PostComposer.js +91 -106
  36. package/lib/commonjs/social/features/post/Composer/PostComposer.js.map +1 -1
  37. package/lib/commonjs/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.js +17 -7
  38. package/lib/commonjs/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.js.map +1 -1
  39. package/lib/commonjs/social/features/post/components/MediaAttachment/MediaAttachment.js +17 -7
  40. package/lib/commonjs/social/features/post/components/MediaAttachment/MediaAttachment.js.map +1 -1
  41. package/lib/commonjs/social/utils/getFrameRatio.js +52 -0
  42. package/lib/commonjs/social/utils/getFrameRatio.js.map +1 -0
  43. package/lib/commonjs/social/utils/getIndicatorConfig.js +59 -0
  44. package/lib/commonjs/social/utils/getIndicatorConfig.js.map +1 -0
  45. package/lib/module/core/assets/icons/xml.js +48 -0
  46. package/lib/module/core/assets/icons/xml.js.map +1 -1
  47. package/lib/module/core/hooks/usePostByIds.js +32 -0
  48. package/lib/module/core/hooks/usePostByIds.js.map +1 -0
  49. package/lib/module/social/components/LoadingImage/index.js +4 -3
  50. package/lib/module/social/components/LoadingImage/index.js.map +1 -1
  51. package/lib/module/social/components/LoadingImage/styles.js +4 -0
  52. package/lib/module/social/components/LoadingImage/styles.js.map +1 -1
  53. package/lib/module/social/components/LoadingVideo/index.js +13 -7
  54. package/lib/module/social/components/LoadingVideo/index.js.map +1 -1
  55. package/lib/module/social/components/LoadingVideo/styles.js +4 -0
  56. package/lib/module/social/components/LoadingVideo/styles.js.map +1 -1
  57. package/lib/module/social/components/MediaViewer/MediaViewer.js +259 -0
  58. package/lib/module/social/components/MediaViewer/MediaViewer.js.map +1 -0
  59. package/lib/module/social/components/MediaViewer/index.js +2 -0
  60. package/lib/module/social/components/MediaViewer/index.js.map +1 -0
  61. package/lib/module/social/components/MediaViewer/styles.js +109 -0
  62. package/lib/module/social/components/MediaViewer/styles.js.map +1 -0
  63. package/lib/module/social/components/PostContent/index.js +77 -122
  64. package/lib/module/social/components/PostContent/index.js.map +1 -1
  65. package/lib/module/social/components/SelectedMediaComponent/SelectedMediaComponent.js +174 -0
  66. package/lib/module/social/components/SelectedMediaComponent/SelectedMediaComponent.js.map +1 -0
  67. package/lib/module/social/components/SelectedMediaComponent/index.js +2 -0
  68. package/lib/module/social/components/SelectedMediaComponent/index.js.map +1 -0
  69. package/lib/module/social/components/SelectedMediaComponent/styles.js +36 -0
  70. package/lib/module/social/components/SelectedMediaComponent/styles.js.map +1 -0
  71. package/lib/module/social/constants/index.js +5 -0
  72. package/lib/module/social/constants/index.js.map +1 -0
  73. package/lib/module/social/elements/PostMediaElement/PostMediaElement.js +273 -0
  74. package/lib/module/social/elements/PostMediaElement/PostMediaElement.js.map +1 -0
  75. package/lib/module/social/elements/PostMediaElement/index.js +2 -0
  76. package/lib/module/social/elements/PostMediaElement/index.js.map +1 -0
  77. package/lib/module/social/elements/PostMediaElement/styles.js +110 -0
  78. package/lib/module/social/elements/PostMediaElement/styles.js.map +1 -0
  79. package/lib/module/social/features/post/Composer/PostComposer.js +94 -109
  80. package/lib/module/social/features/post/Composer/PostComposer.js.map +1 -1
  81. package/lib/module/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.js +17 -7
  82. package/lib/module/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.js.map +1 -1
  83. package/lib/module/social/features/post/components/MediaAttachment/MediaAttachment.js +17 -7
  84. package/lib/module/social/features/post/components/MediaAttachment/MediaAttachment.js.map +1 -1
  85. package/lib/module/social/utils/getFrameRatio.js +44 -0
  86. package/lib/module/social/utils/getFrameRatio.js.map +1 -0
  87. package/lib/module/social/utils/getIndicatorConfig.js +53 -0
  88. package/lib/module/social/utils/getIndicatorConfig.js.map +1 -0
  89. package/lib/typescript/core/assets/icons/xml.d.ts +7 -0
  90. package/lib/typescript/core/assets/icons/xml.d.ts.map +1 -1
  91. package/lib/typescript/core/hooks/usePostByIds.d.ts +8 -0
  92. package/lib/typescript/core/hooks/usePostByIds.d.ts.map +1 -0
  93. package/lib/typescript/core/types/mention.d.ts +6 -0
  94. package/lib/typescript/core/types/mention.d.ts.map +1 -1
  95. package/lib/typescript/social/components/LoadingImage/index.d.ts +2 -1
  96. package/lib/typescript/social/components/LoadingImage/index.d.ts.map +1 -1
  97. package/lib/typescript/social/components/LoadingImage/styles.d.ts +4 -0
  98. package/lib/typescript/social/components/LoadingImage/styles.d.ts.map +1 -1
  99. package/lib/typescript/social/components/LoadingVideo/index.d.ts +2 -1
  100. package/lib/typescript/social/components/LoadingVideo/index.d.ts.map +1 -1
  101. package/lib/typescript/social/components/LoadingVideo/styles.d.ts +4 -0
  102. package/lib/typescript/social/components/LoadingVideo/styles.d.ts.map +1 -1
  103. package/lib/typescript/social/components/MediaViewer/MediaViewer.d.ts +17 -0
  104. package/lib/typescript/social/components/MediaViewer/MediaViewer.d.ts.map +1 -0
  105. package/lib/typescript/social/components/MediaViewer/index.d.ts +3 -0
  106. package/lib/typescript/social/components/MediaViewer/index.d.ts.map +1 -0
  107. package/lib/typescript/social/components/MediaViewer/styles.d.ts +99 -0
  108. package/lib/typescript/social/components/MediaViewer/styles.d.ts.map +1 -0
  109. package/lib/typescript/social/components/PostContent/index.d.ts.map +1 -1
  110. package/lib/typescript/social/components/SelectedMediaComponent/SelectedMediaComponent.d.ts +12 -0
  111. package/lib/typescript/social/components/SelectedMediaComponent/SelectedMediaComponent.d.ts.map +1 -0
  112. package/lib/typescript/social/components/SelectedMediaComponent/index.d.ts +3 -0
  113. package/lib/typescript/social/components/SelectedMediaComponent/index.d.ts.map +1 -0
  114. package/lib/typescript/social/components/SelectedMediaComponent/styles.d.ts +25 -0
  115. package/lib/typescript/social/components/SelectedMediaComponent/styles.d.ts.map +1 -0
  116. package/lib/typescript/social/constants/index.d.ts +4 -0
  117. package/lib/typescript/social/constants/index.d.ts.map +1 -0
  118. package/lib/typescript/social/elements/PostMediaElement/PostMediaElement.d.ts +15 -0
  119. package/lib/typescript/social/elements/PostMediaElement/PostMediaElement.d.ts.map +1 -0
  120. package/lib/typescript/social/elements/PostMediaElement/index.d.ts +3 -0
  121. package/lib/typescript/social/elements/PostMediaElement/index.d.ts.map +1 -0
  122. package/lib/typescript/social/elements/PostMediaElement/styles.d.ts +88 -0
  123. package/lib/typescript/social/elements/PostMediaElement/styles.d.ts.map +1 -0
  124. package/lib/typescript/social/features/post/Composer/PostComposer.d.ts.map +1 -1
  125. package/lib/typescript/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.d.ts +3 -0
  126. package/lib/typescript/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.d.ts.map +1 -1
  127. package/lib/typescript/social/features/post/components/MediaAttachment/MediaAttachment.d.ts +3 -0
  128. package/lib/typescript/social/features/post/components/MediaAttachment/MediaAttachment.d.ts.map +1 -1
  129. package/lib/typescript/social/utils/getFrameRatio.d.ts +21 -0
  130. package/lib/typescript/social/utils/getFrameRatio.d.ts.map +1 -0
  131. package/lib/typescript/social/utils/getIndicatorConfig.d.ts +11 -0
  132. package/lib/typescript/social/utils/getIndicatorConfig.d.ts.map +1 -0
  133. package/package.json +3 -3
  134. package/src/core/assets/icons/xml.ts +60 -0
  135. package/src/core/hooks/usePostByIds.ts +33 -0
  136. package/src/core/types/mention.ts +6 -0
  137. package/src/social/components/LoadingImage/index.tsx +12 -2
  138. package/src/social/components/LoadingImage/styles.ts +4 -0
  139. package/src/social/components/LoadingVideo/index.tsx +28 -4
  140. package/src/social/components/LoadingVideo/styles.ts +4 -0
  141. package/src/social/components/MediaViewer/MediaViewer.tsx +384 -0
  142. package/src/social/components/MediaViewer/index.tsx +2 -0
  143. package/src/social/components/MediaViewer/styles.ts +109 -0
  144. package/src/social/components/PostContent/index.tsx +86 -159
  145. package/src/social/components/SelectedMediaComponent/SelectedMediaComponent.tsx +236 -0
  146. package/src/social/components/SelectedMediaComponent/index.ts +2 -0
  147. package/src/social/components/SelectedMediaComponent/styles.ts +38 -0
  148. package/src/social/constants/index.ts +4 -0
  149. package/src/social/elements/PostMediaElement/PostMediaElement.tsx +362 -0
  150. package/src/social/elements/PostMediaElement/index.tsx +5 -0
  151. package/src/social/elements/PostMediaElement/styles.ts +99 -0
  152. package/src/social/features/post/Composer/PostComposer.tsx +107 -123
  153. package/src/social/features/post/components/DetailedMediaAttachment/DetailedMediaAttachment.tsx +10 -3
  154. package/src/social/features/post/components/MediaAttachment/MediaAttachment.tsx +14 -3
  155. package/src/social/utils/getFrameRatio.ts +42 -0
  156. package/src/social/utils/getIndicatorConfig.ts +62 -0
@@ -6,17 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeSvg = require("react-native-svg");
10
9
  var _styles = require("./styles");
11
10
  var _useAuth = _interopRequireDefault(require("../../../core/hooks/useAuth"));
12
11
  var _feed = require("../../../core/legacy/feed");
13
12
  var _dist = _interopRequireDefault(require("../legacy/react-native-image-viewing/dist"));
14
- var _store = require("../../../core/stores/store");
13
+ var _reactNativeSvg = require("react-native-svg");
15
14
  var _xml = require("../../../core/assets/icons/xml");
15
+ var _store = require("../../../core/stores/store");
16
+ var _PostMediaElement = require("../../elements/PostMediaElement");
16
17
  var _LivestreamContent = _interopRequireDefault(require("../LivestreamContent"));
17
18
  var _PreviewLink = require("../PreviewLink");
18
19
  var _RenderTextWithMention = _interopRequireDefault(require("../RenderTextWithMention/RenderTextWithMention"));
19
20
  var _PollContent = _interopRequireDefault(require("../PollContent"));
21
+ var _MediaViewer = require("../MediaViewer");
20
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
23
  const PostContent = ({
22
24
  post,
@@ -38,9 +40,12 @@ const PostContent = ({
38
40
  const [videoPostsFullSize, setVideoPostsFullSize] = (0, _react.useState)([]);
39
41
  const [visibleFullImage, setIsVisibleFullImage] = (0, _react.useState)(false);
40
42
  const [imageIndex, setImageIndex] = (0, _react.useState)(0);
43
+ const [videoViewerIndex, setVideoViewerIndex] = (0, _react.useState)(null);
44
+ const [mediaLoading, setMediaLoading] = (0, _react.useState)(((childrenPosts === null || childrenPosts === void 0 ? void 0 : childrenPosts.length) ?? 0) > 0);
45
+ const [mediaChildPosts, setMediaChildPosts] = (0, _react.useState)([]);
46
+ const mediaControlsRef = (0, _react.useRef)(null);
47
+ const viewerIndexRef = (0, _react.useRef)(0);
41
48
  const styles = (0, _styles.useStyles)();
42
- let imageStyle = styles.imageLargePost;
43
- let colStyle = styles.col2;
44
49
  const {
45
50
  currentPostdetail
46
51
  } = (0, _store.useUIKitSelector)(state => state.postDetail);
@@ -71,12 +76,14 @@ const PostContent = ({
71
76
  }
72
77
  }, [imagePosts, videoPosts, apiRegion]);
73
78
  const getPostInfo = (0, _react.useCallback)(async () => {
79
+ setMediaLoading(((childrenPosts === null || childrenPosts === void 0 ? void 0 : childrenPosts.length) ?? 0) > 0);
74
80
  try {
75
81
  const response = await Promise.all(childrenPosts.map(async id => {
76
82
  const {
77
83
  data: childrenPost
78
84
  } = await (0, _feed.getPostById)(id);
79
85
  return {
86
+ post: childrenPost,
80
87
  dataType: childrenPost === null || childrenPost === void 0 ? void 0 : childrenPost.dataType,
81
88
  data: childrenPost === null || childrenPost === void 0 ? void 0 : childrenPost.data
82
89
  };
@@ -85,17 +92,20 @@ const PostContent = ({
85
92
  const videos = [];
86
93
  const polls = [];
87
94
  const livestreams = [];
95
+ const media = [];
88
96
  response.forEach(item => {
89
97
  var _item$data, _item$data2;
90
98
  if ((item === null || item === void 0 ? void 0 : item.dataType) === 'image' && item !== null && item !== void 0 && (_item$data = item.data) !== null && _item$data !== void 0 && _item$data.fileId) {
91
99
  const url = `https://api.${apiRegion}.amity.co/api/v3/files/${item === null || item === void 0 ? void 0 : item.data.fileId}/download?size=medium`;
92
100
  if (!images.includes(url)) {
93
101
  images.push(url);
102
+ if (item.post) media.push(item.post);
94
103
  }
95
104
  } else if ((item === null || item === void 0 ? void 0 : item.dataType) === 'video' && item !== null && item !== void 0 && (_item$data2 = item.data) !== null && _item$data2 !== void 0 && _item$data2.videoFileId.original) {
96
105
  const isExisted = videos.some(video => video.videoFileId.original === item.data.videoFileId.original);
97
106
  if (!isExisted) {
98
107
  videos.push(item.data);
108
+ if (item.post) media.push(item.post);
99
109
  }
100
110
  } else if ((item === null || item === void 0 ? void 0 : item.dataType) === 'poll') {
101
111
  if (!polls.some(poll => poll.pollId === item.data.pollId)) {
@@ -107,12 +117,12 @@ const PostContent = ({
107
117
  }
108
118
  }
109
119
  });
110
- if (images.length > 0) {
111
- setImagePosts(images);
112
- }
113
- if (videos.length > 0) {
114
- setVideoPosts(videos);
115
- }
120
+
121
+ // Set unconditionally so navigating to a post without media clears the
122
+ // previous media (see the effect below which no longer eagerly resets).
123
+ setMediaChildPosts(media);
124
+ setImagePosts(images);
125
+ setVideoPosts(videos);
116
126
  if (polls.length > 0) {
117
127
  setPollIds(polls);
118
128
  }
@@ -121,121 +131,50 @@ const PostContent = ({
121
131
  }
122
132
  } catch (error) {
123
133
  console.log('error: ', error);
134
+ } finally {
135
+ setMediaLoading(false);
124
136
  }
125
137
  }, [apiRegion, childrenPosts]);
126
138
  (0, _react.useEffect)(() => {
127
- setVideoPosts([]);
128
- setImagePosts([]);
139
+ // Don't clear media here: getPostInfo resolves images/videos/media to their
140
+ // fresh values, so the existing media stays on screen until the new data
141
+ // arrives. Eagerly resetting caused a blank flash whenever the feed
142
+ // re-rendered (e.g. realtime updates), then the content popped back in.
129
143
  getPostInfo();
130
144
  }, [childrenPosts, currentPostdetail, postList, postListGlobal, getPostInfo]);
131
145
  function onClickImage(index) {
146
+ viewerIndexRef.current = index;
132
147
  setIsVisibleFullImage(true);
133
148
  setImageIndex(index);
134
149
  }
135
- function renderMediaPosts() {
136
- const thumbnailFileIds = videoPosts.length > 0 ? videoPosts.map(item => {
137
- return `https://api.${apiRegion}.amity.co/api/v3/files/${item === null || item === void 0 ? void 0 : item.thumbnailFileId}/download?size=medium`;
138
- }) : [];
139
- const mediaPosts = [...imagePosts].length > 0 ? [...imagePosts] : [...thumbnailFileIds];
140
- const imageElement = mediaPosts.map((item, index) => {
141
- if (mediaPosts.length === 1) {
142
- imageStyle = styles.imageLargePost;
143
- colStyle = styles.col6;
144
- } else if (mediaPosts.length === 2) {
145
- colStyle = styles.col3;
146
- if (index === 0) {
147
- imageStyle = [styles.imageLargePost, styles.imageMarginRight];
148
- } else {
149
- imageStyle = [styles.imageLargePost, styles.imageMarginLeft];
150
- }
151
- } else if (mediaPosts.length === 3) {
152
- switch (index) {
153
- case 0:
154
- colStyle = styles.col6;
155
- imageStyle = [styles.imageMediumPost, styles.imageMarginBottom];
156
- break;
157
- case 1:
158
- colStyle = styles.col3;
159
- imageStyle = [styles.imageMediumPost, styles.imageMarginTop, styles.imageMarginRight];
160
- break;
161
- case 2:
162
- colStyle = styles.col3;
163
- imageStyle = [styles.imageMediumPost, styles.imageMarginTop, styles.imageMarginLeft];
164
- break;
165
- default:
166
- break;
167
- }
168
- } else {
169
- switch (index) {
170
- case 0:
171
- colStyle = styles.col6;
172
- imageStyle = [styles.imageMediumLargePost, styles.imageMarginBottom];
173
- break;
174
- case 1:
175
- colStyle = styles.col2;
176
- imageStyle = [styles.imageSmallPost, styles.imageMarginTop, styles.imageMarginRight];
177
- break;
178
- case 2:
179
- colStyle = styles.col2;
180
- imageStyle = [styles.imageSmallPost, styles.imageMarginTop, styles.imageMarginLeft, styles.imageMarginRight];
181
- break;
182
- case 3:
183
- colStyle = styles.col2;
184
- imageStyle = [styles.imageSmallPost, styles.imageMarginTop, styles.imageMarginLeft];
185
- break;
186
- default:
187
- break;
188
- }
189
- }
190
- return /*#__PURE__*/React.createElement(_reactNative.View, {
191
- style: colStyle,
192
- key: item
193
- }, /*#__PURE__*/React.createElement(_reactNative.TouchableWithoutFeedback, {
194
- onPress: () => onClickImage(index)
195
- }, /*#__PURE__*/React.createElement(_reactNative.View, null, videoPosts.length > 0 && renderPlayButton(), /*#__PURE__*/React.createElement(_reactNative.Image, {
196
- style: imageStyle,
197
- source: {
198
- uri: item
199
- }
200
- }), index === 3 && imagePosts.length > 4 && /*#__PURE__*/React.createElement(_reactNative.View, {
201
- style: styles.overlay
202
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
203
- style: styles.overlayText
204
- }, `+ ${imagePosts.length - 3}`)))));
205
- });
206
- if (imageElement.length < 3) {
207
- return /*#__PURE__*/React.createElement(_reactNative.View, {
208
- style: styles.imagesWrap
209
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
210
- style: styles.row
211
- }, imageElement));
212
- } else if (imageElement.length === 3) {
213
- return /*#__PURE__*/React.createElement(_reactNative.View, {
214
- style: [styles.imagesWrap]
215
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
216
- style: styles.row
217
- }, imageElement.slice(0, 1)), /*#__PURE__*/React.createElement(_reactNative.View, {
218
- style: styles.row
219
- }, imageElement.slice(1, 3)));
220
- } else {
221
- return /*#__PURE__*/React.createElement(_reactNative.View, {
222
- style: styles.imagesWrap
223
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
224
- style: styles.row
225
- }, imageElement.slice(0, 1)), /*#__PURE__*/React.createElement(_reactNative.View, {
226
- style: styles.row
227
- }, imageElement.slice(1, 4)));
228
- }
150
+ function closeFullScreen() {
151
+ var _mediaControlsRef$cur;
152
+ setIsVisibleFullImage(false);
153
+ (_mediaControlsRef$cur = mediaControlsRef.current) === null || _mediaControlsRef$cur === void 0 || _mediaControlsRef$cur.slideTo(viewerIndexRef.current);
229
154
  }
230
- function renderPlayButton() {
231
- return /*#__PURE__*/React.createElement(_reactNative.View, {
232
- style: styles.playButton
233
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.SvgXml, {
234
- xml: _xml.playBtn,
235
- width: "50",
236
- height: "50"
237
- }));
155
+
156
+ // UC2 (PDT-4309): video carousel opens the swipeable full-screen player
157
+ // (autoplay + mute-carry) instead of the single-video route.
158
+ function openVideoViewer(index) {
159
+ viewerIndexRef.current = index;
160
+ setVideoViewerIndex(index);
161
+ }
162
+ function closeVideoViewer(lastIndex) {
163
+ var _mediaControlsRef$cur2;
164
+ setVideoViewerIndex(null);
165
+ // Published post: return to the last-viewed frame.
166
+ (_mediaControlsRef$cur2 = mediaControlsRef.current) === null || _mediaControlsRef$cur2 === void 0 || _mediaControlsRef$cur2.slideTo(lastIndex);
238
167
  }
168
+ const videoViewerItems = videoPosts.map(item => {
169
+ var _item$videoFileId;
170
+ return {
171
+ type: 'video',
172
+ // The /files/{original}/download endpoint returns the original video
173
+ // file (mp4), not an HLS playlist — no m3u8 type hint (let the player
174
+ // detect the container).
175
+ uri: `https://api.${apiRegion}.amity.co/api/v3/files/${item === null || item === void 0 || (_item$videoFileId = item.videoFileId) === null || _item$videoFileId === void 0 ? void 0 : _item$videoFileId.original}/download`
176
+ };
177
+ });
239
178
  function renderImageHeader({
240
179
  imageIndex: imgIndex
241
180
  }) {
@@ -245,10 +184,12 @@ const PostContent = ({
245
184
  style: styles.flexWidth
246
185
  }, /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
247
186
  style: styles.closebtnIcon,
248
- onPress: () => setIsVisibleFullImage(false)
249
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
250
- style: styles.closeBtn
251
- }, "X"))), /*#__PURE__*/React.createElement(_reactNative.View, {
187
+ onPress: closeFullScreen
188
+ }, /*#__PURE__*/React.createElement(_reactNativeSvg.SvgXml, {
189
+ xml: (0, _xml.clearIcon)('white'),
190
+ width: 28,
191
+ height: 28
192
+ }))), /*#__PURE__*/React.createElement(_reactNative.View, {
252
193
  style: styles.flexWidth
253
194
  }, /*#__PURE__*/React.createElement(_reactNative.Text, {
254
195
  style: styles.header
@@ -273,14 +214,28 @@ const PostContent = ({
273
214
  post: post,
274
215
  onPressPost: onPressPost,
275
216
  roomId: livestreamId[0]
276
- }) : renderMediaPosts(), /*#__PURE__*/React.createElement(_dist.default, {
217
+ }) : /*#__PURE__*/React.createElement(_PostMediaElement.PostMediaElement, {
218
+ posts: mediaChildPosts,
219
+ onImageClick: onClickImage,
220
+ onVideoClick: openVideoViewer,
221
+ controlsRef: mediaControlsRef,
222
+ loading: mediaLoading
223
+ }), /*#__PURE__*/React.createElement(_dist.default, {
277
224
  images: imagePostsFullSize.length > 0 ? imagePostsFullSize : videoPostsFullSize,
278
225
  imageIndex: imageIndex,
279
226
  visible: visibleFullImage,
280
- onRequestClose: () => setIsVisibleFullImage(false),
227
+ onRequestClose: closeFullScreen,
228
+ onImageIndexChange: idx => {
229
+ viewerIndexRef.current = idx;
230
+ },
281
231
  isVideoButton: videoPosts.length > 0 ? true : false,
282
232
  videoPosts: videoPosts,
283
233
  HeaderComponent: renderImageHeader
234
+ }), /*#__PURE__*/React.createElement(_MediaViewer.MediaViewer, {
235
+ visible: videoViewerIndex !== null,
236
+ items: videoViewerItems,
237
+ initialIndex: videoViewerIndex ?? 0,
238
+ onClose: closeVideoViewer
284
239
  }));
285
240
  };
286
241
  var _default = exports.default = /*#__PURE__*/(0, _react.memo)(PostContent);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeSvg","_styles","_useAuth","_interopRequireDefault","_feed","_dist","_store","_xml","_LivestreamContent","_PreviewLink","_RenderTextWithMention","_PollContent","e","__esModule","default","PostContent","post","textPost","onPressPost","disabledPoll","childrenPosts","showedAllOptions","mentionPositionArr","apiRegion","useAuth","imagePosts","setImagePosts","useState","videoPosts","setVideoPosts","pollIds","setPollIds","livestreamId","setLivestreamId","imagePostsFullSize","setImagePostsFullSize","videoPostsFullSize","setVideoPostsFullSize","visibleFullImage","setIsVisibleFullImage","imageIndex","setImageIndex","styles","useStyles","imageStyle","imageLargePost","colStyle","col2","currentPostdetail","useUIKitSelector","state","postDetail","postList","postListGlobal","globalFeed","feed","useEffect","length","updatedUrls","map","url","uri","replace","item","thumbnailFileId","getPostInfo","useCallback","response","Promise","all","id","data","childrenPost","getPostById","dataType","images","videos","polls","livestreams","forEach","_item$data","_item$data2","fileId","includes","push","videoFileId","original","isExisted","some","video","poll","pollId","roomId","error","console","log","onClickImage","index","renderMediaPosts","thumbnailFileIds","mediaPosts","imageElement","col6","col3","imageMarginRight","imageMarginLeft","imageMediumPost","imageMarginBottom","imageMarginTop","imageMediumLargePost","imageSmallPost","React","createElement","View","style","key","TouchableWithoutFeedback","onPress","renderPlayButton","Image","source","overlay","Text","overlayText","imagesWrap","row","slice","playButton","SvgXml","xml","playBtn","width","height","renderImageHeader","imgIndex","headerContainer","flexWidth","TouchableOpacity","closebtnIcon","closeBtn","header","Fragment","Pressable","LinkPreview","text","visible","onRequestClose","isVideoButton","HeaderComponent","_default","exports","memo"],"sourceRoot":"../../../../../src","sources":["social/components/PostContent/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_styles","_useAuth","_interopRequireDefault","_feed","_dist","_reactNativeSvg","_xml","_store","_PostMediaElement","_LivestreamContent","_PreviewLink","_RenderTextWithMention","_PollContent","_MediaViewer","e","__esModule","default","PostContent","post","textPost","onPressPost","disabledPoll","childrenPosts","showedAllOptions","mentionPositionArr","apiRegion","useAuth","imagePosts","setImagePosts","useState","videoPosts","setVideoPosts","pollIds","setPollIds","livestreamId","setLivestreamId","imagePostsFullSize","setImagePostsFullSize","videoPostsFullSize","setVideoPostsFullSize","visibleFullImage","setIsVisibleFullImage","imageIndex","setImageIndex","videoViewerIndex","setVideoViewerIndex","mediaLoading","setMediaLoading","length","mediaChildPosts","setMediaChildPosts","mediaControlsRef","useRef","viewerIndexRef","styles","useStyles","currentPostdetail","useUIKitSelector","state","postDetail","postList","postListGlobal","globalFeed","feed","useEffect","updatedUrls","map","url","uri","replace","item","thumbnailFileId","getPostInfo","useCallback","response","Promise","all","id","data","childrenPost","getPostById","dataType","images","videos","polls","livestreams","media","forEach","_item$data","_item$data2","fileId","includes","push","videoFileId","original","isExisted","some","video","poll","pollId","roomId","error","console","log","onClickImage","index","current","closeFullScreen","_mediaControlsRef$cur","slideTo","openVideoViewer","closeVideoViewer","lastIndex","_mediaControlsRef$cur2","videoViewerItems","_item$videoFileId","type","renderImageHeader","imgIndex","React","createElement","View","style","headerContainer","flexWidth","TouchableOpacity","closebtnIcon","onPress","SvgXml","xml","clearIcon","width","height","Text","header","Fragment","Pressable","LinkPreview","text","PostMediaElement","posts","onImageClick","onVideoClick","controlsRef","loading","visible","onRequestClose","onImageIndexChange","idx","isVideoButton","HeaderComponent","MediaViewer","items","initialIndex","onClose","_default","exports","memo"],"sourceRoot":"../../../../../src","sources":["social/components/PostContent/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,IAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,iBAAA,GAAAV,OAAA;AAIA,IAAAW,kBAAA,GAAAP,sBAAA,CAAAJ,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,sBAAA,GAAAT,sBAAA,CAAAJ,OAAA;AAEA,IAAAc,YAAA,GAAAV,sBAAA,CAAAJ,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AAAmE,SAAAI,uBAAAY,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAWnE,MAAMG,WAAmC,GAAGA,CAAC;EAC3CC,IAAI;EACJC,QAAQ;EACRC,WAAW;EACXC,YAAY;EACZC,aAAa;EACbC,gBAAgB;EAChBC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAC/B,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAW,EAAE,CAAC;EAC1D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAF,eAAQ,EAAe,EAAE,CAAC;EAC9D,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAJ,eAAQ,EAAuB,EAAE,CAAC;EAChE,MAAM,CAACK,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAN,eAAQ,EAAyB,EAAE,CAAC;EAE5E,MAAM,CAACO,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAR,eAAQ,EAAa,EAAE,CAAC;EAC5E,MAAM,CAACS,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAV,eAAQ,EAAa,EAAE,CAAC;EAC5E,MAAM,CAACW,gBAAgB,EAAEC,qBAAqB,CAAC,GAAG,IAAAZ,eAAQ,EAAU,KAAK,CAAC;EAC1E,MAAM,CAACa,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAd,eAAQ,EAAS,CAAC,CAAC;EACvD,MAAM,CAACe,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAhB,eAAQ,EAAgB,IAAI,CAAC;EAC7E,MAAM,CAACiB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAlB,eAAQ,EAC9C,CAAC,CAAAP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0B,MAAM,KAAI,CAAC,IAAI,CACjC,CAAC;EACD,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAArB,eAAQ,EAAe,EAAE,CAAC;EAExE,MAAMsB,gBAAgB,GAAG,IAAAC,aAAM,EAA2B,IAAI,CAAC;EAC/D,MAAMC,cAAc,GAAG,IAAAD,aAAM,EAAS,CAAC,CAAC;EAExC,MAAME,MAAM,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC1B,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,uBAAgB,EAC3CC,KAAgB,IAAKA,KAAK,CAACC,UAC9B,CAAC;EACD,MAAM;IAAEC,QAAQ,EAAEC;EAAe,CAAC,GAAG,IAAAJ,uBAAgB,EAClDC,KAAgB,IAAKA,KAAK,CAACI,UAC9B,CAAC;EACD,MAAM;IAAEF;EAAS,CAAC,GAAG,IAAAH,uBAAgB,EAAEC,KAAgB,IAAKA,KAAK,CAACK,IAAI,CAAC;EAEvE,IAAAC,gBAAS,EAAC,MAAM;IACd3B,qBAAqB,CAAC,EAAE,CAAC;IACzBE,qBAAqB,CAAC,EAAE,CAAC;IACzB,IAAIZ,UAAU,CAACqB,MAAM,GAAG,CAAC,EAAE;MACzB,MAAMiB,WAAuB,GAAGtC,UAAU,CAACuC,GAAG,CAAEC,GAAW,IAAK;QAC9D,OAAO;UACLC,GAAG,EAAED,GAAG,CAACE,OAAO,CAAC,aAAa,EAAE,YAAY;QAC9C,CAAC;MACH,CAAC,CAAC;MACFhC,qBAAqB,CAAC4B,WAAW,CAAC;IACpC;IACA,IAAInC,UAAU,CAACkB,MAAM,GAAG,CAAC,EAAE;MACzB,MAAMiB,WAAuB,GAAGnC,UAAU,CAACoC,GAAG,CAAEI,IAAgB,IAAK;QACnE,OAAO;UACLF,GAAG,EAAE,eAAe3C,SAAS,0BAA0B6C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,eAAe;QAC9E,CAAC;MACH,CAAC,CAAC;MACFhC,qBAAqB,CAAC0B,WAAW,CAAC;IACpC;EACF,CAAC,EAAE,CAACtC,UAAU,EAAEG,UAAU,EAAEL,SAAS,CAAC,CAAC;EAEvC,MAAM+C,WAAW,GAAG,IAAAC,kBAAW,EAAC,YAAY;IAC1C1B,eAAe,CAAC,CAAC,CAAAzB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0B,MAAM,KAAI,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI;MACF,MAAM0B,QAAQ,GAAG,MAAMC,OAAO,CAACC,GAAG,CAChCtD,aAAa,CAAC4C,GAAG,CAAC,MAAOW,EAAE,IAAK;QAC9B,MAAM;UAAEC,IAAI,EAAEC;QAAa,CAAC,GAAG,MAAM,IAAAC,iBAAW,EAACH,EAAE,CAAC;QACpD,OAAO;UACL3D,IAAI,EAAE6D,YAAY;UAClBE,QAAQ,EAAEF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,QAAQ;UAChCH,IAAI,EAAEC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAED;QACtB,CAAC;MACH,CAAC,CACH,CAAC;MAED,MAAMI,MAAgB,GAAG,EAAE;MAC3B,MAAMC,MAAoB,GAAG,EAAE;MAC/B,MAAMC,KAA2B,GAAG,EAAE;MACtC,MAAMC,WAAmC,GAAG,EAAE;MAC9C,MAAMC,KAAmB,GAAG,EAAE;MAE9BZ,QAAQ,CAACa,OAAO,CAAEjB,IAAI,IAAK;QAAA,IAAAkB,UAAA,EAAAC,WAAA;QACzB,IAAI,CAAAnB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEW,QAAQ,MAAK,OAAO,IAAIX,IAAI,aAAJA,IAAI,gBAAAkB,UAAA,GAAJlB,IAAI,CAAEQ,IAAI,cAAAU,UAAA,eAAVA,UAAA,CAAYE,MAAM,EAAE;UACpD,MAAMvB,GAAW,GAAG,eAAe1C,SAAS,0BAA0B6C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ,IAAI,CAACY,MAAM,uBAAuB;UAC9G,IAAI,CAACR,MAAM,CAACS,QAAQ,CAACxB,GAAG,CAAC,EAAE;YACzBe,MAAM,CAACU,IAAI,CAACzB,GAAG,CAAC;YAChB,IAAIG,IAAI,CAACpD,IAAI,EAAEoE,KAAK,CAACM,IAAI,CAACtB,IAAI,CAACpD,IAAI,CAAC;UACtC;QACF,CAAC,MAAM,IACL,CAAAoD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEW,QAAQ,MAAK,OAAO,IAC1BX,IAAI,aAAJA,IAAI,gBAAAmB,WAAA,GAAJnB,IAAI,CAAEQ,IAAI,cAAAW,WAAA,eAAVA,WAAA,CAAYI,WAAW,CAACC,QAAQ,EAChC;UACA,MAAMC,SAAS,GAAGZ,MAAM,CAACa,IAAI,CAC1BC,KAAK,IACJA,KAAK,CAACJ,WAAW,CAACC,QAAQ,KAAKxB,IAAI,CAACQ,IAAI,CAACe,WAAW,CAACC,QACzD,CAAC;UACD,IAAI,CAACC,SAAS,EAAE;YACdZ,MAAM,CAACS,IAAI,CAACtB,IAAI,CAACQ,IAAI,CAAC;YACtB,IAAIR,IAAI,CAACpD,IAAI,EAAEoE,KAAK,CAACM,IAAI,CAACtB,IAAI,CAACpD,IAAI,CAAC;UACtC;QACF,CAAC,MAAM,IAAI,CAAAoD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEW,QAAQ,MAAK,MAAM,EAAE;UACpC,IAAI,CAACG,KAAK,CAACY,IAAI,CAAEE,IAAI,IAAKA,IAAI,CAACC,MAAM,KAAK7B,IAAI,CAACQ,IAAI,CAACqB,MAAM,CAAC,EAAE;YAC3Df,KAAK,CAACQ,IAAI,CAACtB,IAAI,CAACQ,IAAI,CAAC;UACvB;QACF,CAAC,MAAM,IAAI,CAAAR,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEW,QAAQ,MAAK,MAAM,EAAE;UACpC,IAAI,CAACI,WAAW,CAACM,QAAQ,CAACrB,IAAI,CAACQ,IAAI,CAACsB,MAAM,CAAC,EAAE;YAC3Cf,WAAW,CAACO,IAAI,CAACtB,IAAI,CAACQ,IAAI,CAACsB,MAAM,CAAC;UACpC;QACF;MACF,CAAC,CAAC;;MAEF;MACA;MACAlD,kBAAkB,CAACoC,KAAK,CAAC;MACzB1D,aAAa,CAACsD,MAAM,CAAC;MACrBnD,aAAa,CAACoD,MAAM,CAAC;MACrB,IAAIC,KAAK,CAACpC,MAAM,GAAG,CAAC,EAAE;QACpBf,UAAU,CAACmD,KAAK,CAAC;MACnB;MACA,IAAIC,WAAW,CAACrC,MAAM,GAAG,CAAC,EAAE;QAC1Bb,eAAe,CAACkD,WAAW,CAAC;MAC9B;IACF,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEF,KAAK,CAAC;IAC/B,CAAC,SAAS;MACRtD,eAAe,CAAC,KAAK,CAAC;IACxB;EACF,CAAC,EAAE,CAACtB,SAAS,EAAEH,aAAa,CAAC,CAAC;EAE9B,IAAA0C,gBAAS,EAAC,MAAM;IACd;IACA;IACA;IACA;IACAQ,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,CAAClD,aAAa,EAAEkC,iBAAiB,EAAEI,QAAQ,EAAEC,cAAc,EAAEW,WAAW,CAAC,CAAC;EAE7E,SAASgC,YAAYA,CAACC,KAAa,EAAQ;IACzCpD,cAAc,CAACqD,OAAO,GAAGD,KAAK;IAC9BhE,qBAAqB,CAAC,IAAI,CAAC;IAC3BE,aAAa,CAAC8D,KAAK,CAAC;EACtB;EAEA,SAASE,eAAeA,CAAA,EAAS;IAAA,IAAAC,qBAAA;IAC/BnE,qBAAqB,CAAC,KAAK,CAAC;IAC5B,CAAAmE,qBAAA,GAAAzD,gBAAgB,CAACuD,OAAO,cAAAE,qBAAA,eAAxBA,qBAAA,CAA0BC,OAAO,CAACxD,cAAc,CAACqD,OAAO,CAAC;EAC3D;;EAEA;EACA;EACA,SAASI,eAAeA,CAACL,KAAa,EAAQ;IAC5CpD,cAAc,CAACqD,OAAO,GAAGD,KAAK;IAC9B5D,mBAAmB,CAAC4D,KAAK,CAAC;EAC5B;EAEA,SAASM,gBAAgBA,CAACC,SAAiB,EAAQ;IAAA,IAAAC,sBAAA;IACjDpE,mBAAmB,CAAC,IAAI,CAAC;IACzB;IACA,CAAAoE,sBAAA,GAAA9D,gBAAgB,CAACuD,OAAO,cAAAO,sBAAA,eAAxBA,sBAAA,CAA0BJ,OAAO,CAACG,SAAS,CAAC;EAC9C;EAEA,MAAME,gBAAmC,GAAGpF,UAAU,CAACoC,GAAG,CACvDI,IAAgB;IAAA,IAAA6C,iBAAA;IAAA,OAAM;MACrBC,IAAI,EAAE,OAAO;MACb;MACA;MACA;MACAhD,GAAG,EAAE,eAAe3C,SAAS,0BAA0B6C,IAAI,aAAJA,IAAI,gBAAA6C,iBAAA,GAAJ7C,IAAI,CAAEuB,WAAW,cAAAsB,iBAAA,uBAAjBA,iBAAA,CAAmBrB,QAAQ;IACpF,CAAC;EAAA,CACH,CAAC;EAED,SAASuB,iBAAiBA,CAAC;IAAE3E,UAAU,EAAE4E;EAAS,CAAC,EAAE;IACnD,oBACEC,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAA0H,IAAI;MAACC,KAAK,EAAEpE,MAAM,CAACqE;IAAgB,gBAClCJ,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAA0H,IAAI;MAACC,KAAK,EAAEpE,MAAM,CAACsE;IAAU,gBAC5BL,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAA8H,gBAAgB;MACfH,KAAK,EAAEpE,MAAM,CAACwE,YAAa;MAC3BC,OAAO,EAAEpB;IAAgB,gBAEzBY,KAAA,CAAAC,aAAA,CAACnH,eAAA,CAAA2H,MAAM;MAACC,GAAG,EAAE,IAAAC,cAAS,EAAC,OAAO,CAAE;MAACC,KAAK,EAAE,EAAG;MAACC,MAAM,EAAE;IAAG,CAAE,CACzC,CACd,CAAC,eACPb,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAA0H,IAAI;MAACC,KAAK,EAAEpE,MAAM,CAACsE;IAAU,gBAC5BL,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAAsI,IAAI;MAACX,KAAK,EAAEpE,MAAM,CAACgF;IAAO,GACxBhB,QAAQ,GAAG,CAAC,EAAC,GACd,EAAClF,kBAAkB,CAACY,MAAM,IAAIV,kBAAkB,CAACU,MAC7C,CACF,CAAC,eACPuE,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAA0H,IAAI;MAACC,KAAK,EAAEpE,MAAM,CAACsE;IAAU,CAAE,CAC5B,CAAC;EAEX;EAEA,oBACEL,KAAA,CAAAC,aAAA,CAAC3H,MAAA,CAAA0I,QAAQ,QACNrG,YAAY,CAACc,MAAM,IAAI,CAAC,iBACvBuE,KAAA,CAAAC,aAAA,CAACzH,YAAA,CAAAyI,SAAS;IAACT,OAAO,EAAE3G;EAAY,GAC7BD,QAAQ,IAAI,CAAAG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0B,MAAM,MAAK,CAAC,iBACtCuE,KAAA,CAAAC,aAAA,CAAC9G,YAAA,CAAA+H,WAAW;IACVC,IAAI,EAAEvH,QAAS;IACfK,kBAAkB,EAAE,CAAC,GAAGA,kBAAkB;EAAE,CAC7C,CACF,EACAL,QAAQ,IAAI,CAAAG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0B,MAAM,IAAG,CAAC,iBACpCuE,KAAA,CAAAC,aAAA,CAAC7G,sBAAA,CAAAK,OAAqB;IACpBG,QAAQ,EAAEA,QAAS;IACnBK,kBAAkB,EAAE,CAAC,GAAGA,kBAAkB;EAAE,CAC7C,CAEM,CACZ,EACAQ,OAAO,CAACgB,MAAM,GAAG,CAAC,gBACjBuE,KAAA,CAAAC,aAAA,CAAC5G,YAAA,CAAAI,OAAW;IACVE,IAAI,EAAEA,IAAK;IACXiF,MAAM,EAAEnE,OAAO,CAAC,CAAC,CAAC,CAACmE,MAAO;IAC1B9E,YAAY,EAAEA,YAAa;IAC3BE,gBAAgB,EAAEA;EAAiB,CACpC,CAAC,GACAW,YAAY,CAACc,MAAM,GAAG,CAAC,gBACzBuE,KAAA,CAAAC,aAAA,CAAC/G,kBAAA,CAAAO,OAAiB;IAChBE,IAAI,EAAEA,IAAK;IACXE,WAAW,EAAEA,WAAY;IACzBgF,MAAM,EAAElE,YAAY,CAAC,CAAC;EAAE,CACzB,CAAC,gBAEFqF,KAAA,CAAAC,aAAA,CAAChH,iBAAA,CAAAmI,gBAAgB;IACfC,KAAK,EAAE3F,eAAgB;IACvB4F,YAAY,EAAErC,YAAa;IAC3BsC,YAAY,EAAEhC,eAAgB;IAC9BiC,WAAW,EAAE5F,gBAAiB;IAC9B6F,OAAO,EAAElG;EAAa,CACvB,CACF,eACDyE,KAAA,CAAAC,aAAA,CAACpH,KAAA,CAAAY,OAAS;IACRkE,MAAM,EACJ9C,kBAAkB,CAACY,MAAM,GAAG,CAAC,GACzBZ,kBAAkB,GAClBE,kBACL;IACDI,UAAU,EAAEA,UAAW;IACvBuG,OAAO,EAAEzG,gBAAiB;IAC1B0G,cAAc,EAAEvC,eAAgB;IAChCwC,kBAAkB,EAAGC,GAAW,IAAK;MACnC/F,cAAc,CAACqD,OAAO,GAAG0C,GAAG;IAC9B,CAAE;IACFC,aAAa,EAAEvH,UAAU,CAACkB,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAM;IACpDlB,UAAU,EAAEA,UAAW;IACvBwH,eAAe,EAAEjC;EAAkB,CACpC,CAAC,eACFE,KAAA,CAAAC,aAAA,CAAC3G,YAAA,CAAA0I,WAAW;IACVN,OAAO,EAAErG,gBAAgB,KAAK,IAAK;IACnC4G,KAAK,EAAEtC,gBAAiB;IACxBuC,YAAY,EAAE7G,gBAAgB,IAAI,CAAE;IACpC8G,OAAO,EAAE3C;EAAiB,CAC3B,CACO,CAAC;AAEf,CAAC;AAAC,IAAA4C,QAAA,GAAAC,OAAA,CAAA5I,OAAA,gBAEa,IAAA6I,WAAI,EAAC5I,WAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SelectedMediaComponent = SelectedMediaComponent;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _LoadingImage = _interopRequireDefault(require("../LoadingImage"));
10
+ var _LoadingVideo = _interopRequireDefault(require("../LoadingVideo"));
11
+ var _MediaViewer = require("../MediaViewer");
12
+ var _getFrameRatio = require("../../utils/getFrameRatio");
13
+ var _styles = require("./styles");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ // Peek scroll: next slide peeks by (PEEK_INSET − SPACE_BETWEEN). The composer
16
+ // body (PostComposer `inputWrapper`) already insets everything 12px
17
+ // horizontally, so this component adds NO side padding of its own — it only
18
+ // sizes the slide so the peek lands at the spec's 31px (SelectedMediaComponent
19
+ // REQ-003a). slideWidth = trackWidth − PEEK_INSET; peek = PEEK_INSET − 8 = 31.
20
+ const PEEK_INSET = 39;
21
+ const SPACE_BETWEEN = 8;
22
+ function SelectedMediaComponent({
23
+ mediaType,
24
+ media,
25
+ onClose,
26
+ onLoadFinish,
27
+ onUploadError,
28
+ isEditMode = false,
29
+ setIsUploading
30
+ }) {
31
+ const styles = (0, _styles.useStyles)();
32
+ const scrollRef = (0, _react.useRef)(null);
33
+ const [trackWidth, setTrackWidth] = (0, _react.useState)(0);
34
+ const [ratio, setRatio] = (0, _react.useState)(_getFrameRatio.DEFAULT_FRAME_RATIO);
35
+ // Index of the frame the full-screen viewer was opened from (null = closed).
36
+ const [viewerIndex, setViewerIndex] = (0, _react.useState)(null);
37
+ const total = media.length;
38
+ const isCarousel = total > 1;
39
+ const aspectRatio = _getFrameRatio.FRAME_RATIO_VALUE[ratio];
40
+ const slideWidth = trackWidth > 0 ? trackWidth - PEEK_INSET : 0;
41
+
42
+ // Frames follow the aspect ratio classified from the item currently in first
43
+ // position (REQ-003d/003e); recalculated when the first item changes.
44
+ const first = media[0];
45
+ const firstUrl = first === null || first === void 0 ? void 0 : first.url;
46
+ const firstWidth = first === null || first === void 0 ? void 0 : first.width;
47
+ const firstHeight = first === null || first === void 0 ? void 0 : first.height;
48
+ const firstRotation = first === null || first === void 0 ? void 0 : first.rotation;
49
+ (0, _react.useEffect)(() => {
50
+ if (!firstUrl) {
51
+ setRatio(_getFrameRatio.DEFAULT_FRAME_RATIO);
52
+ return undefined;
53
+ }
54
+ // Video: classify from the record/extractor dims, applying rotation
55
+ // (REQ-003d1 — MUST NOT silently fall back to 1:1 for video). Shares the
56
+ // one rotation derivation with the published carousel (REQ-SDK-002b).
57
+ if (mediaType === 'video') {
58
+ if (firstWidth && firstHeight) {
59
+ const {
60
+ width,
61
+ height
62
+ } = (0, _getFrameRatio.getVideoDisplayDims)({
63
+ width: firstWidth,
64
+ height: firstHeight,
65
+ rotation: firstRotation
66
+ });
67
+ setRatio((0, _getFrameRatio.getFrameRatio)(width, height));
68
+ } else {
69
+ // Log the fallback so a square frame is never silently ambiguous
70
+ // (REQ-003d2).
71
+ console.log('[SelectedMediaComponent] video has no dimensions; defaulting ratio');
72
+ setRatio(_getFrameRatio.DEFAULT_FRAME_RATIO);
73
+ }
74
+ return undefined;
75
+ }
76
+ // Image: prefer carried dims, else measure the source.
77
+ if (firstWidth && firstHeight) {
78
+ setRatio((0, _getFrameRatio.getFrameRatio)(firstWidth, firstHeight));
79
+ return undefined;
80
+ }
81
+ let active = true;
82
+ _reactNative.Image.getSize(firstUrl, (width, height) => {
83
+ if (active) setRatio((0, _getFrameRatio.getFrameRatio)(width, height));
84
+ }, () => {
85
+ if (active) setRatio(_getFrameRatio.DEFAULT_FRAME_RATIO);
86
+ });
87
+ return () => {
88
+ active = false;
89
+ };
90
+ }, [firstUrl, firstWidth, firstHeight, firstRotation, mediaType]);
91
+ const onLayout = event => {
92
+ const width = event.nativeEvent.layout.width;
93
+ if (width && width !== trackWidth) setTrackWidth(width);
94
+ };
95
+ const viewerItems = media.map(m => ({
96
+ type: mediaType,
97
+ uri: m.url
98
+ }));
99
+
100
+ // PDT-4310/4312: on close, return to the frame originally tapped from — not
101
+ // the last frame viewed in full screen.
102
+ const handleCloseViewer = () => {
103
+ const tapped = viewerIndex ?? 0;
104
+ setViewerIndex(null);
105
+ if (isCarousel && slideWidth > 0) {
106
+ var _scrollRef$current;
107
+ (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || _scrollRef$current.scrollTo({
108
+ x: tapped * (slideWidth + SPACE_BETWEEN),
109
+ animated: false
110
+ });
111
+ }
112
+ };
113
+ const renderFrame = (item, index) => /*#__PURE__*/React.createElement(_reactNative.View, {
114
+ style: [styles.selectedMedia__frame, {
115
+ aspectRatio
116
+ }]
117
+ }, mediaType === 'video' ? /*#__PURE__*/React.createElement(_LoadingVideo.default, {
118
+ carousel: true,
119
+ source: item.url,
120
+ onClose: onClose,
121
+ index: index,
122
+ onLoadFinish: onLoadFinish,
123
+ onUploadError: onUploadError,
124
+ isUploaded: item.isUploaded,
125
+ fileId: item.fileId,
126
+ thumbNail: item.thumbNail,
127
+ fileCount: total,
128
+ isEditMode: isEditMode,
129
+ postId: item.postId,
130
+ setIsUploading: setIsUploading,
131
+ onPlay: () => setViewerIndex(index)
132
+ }) : /*#__PURE__*/React.createElement(_reactNative.Pressable, {
133
+ style: styles.selectedMedia__mediaButton,
134
+ onPress: () => setViewerIndex(index)
135
+ }, /*#__PURE__*/React.createElement(_LoadingImage.default, {
136
+ carousel: true,
137
+ source: item.url,
138
+ onClose: onClose,
139
+ index: index,
140
+ onLoadFinish: onLoadFinish,
141
+ onUploadError: onUploadError,
142
+ isUploaded: item.isUploaded,
143
+ fileId: item.fileId,
144
+ fileCount: total,
145
+ isEditMode: isEditMode,
146
+ postId: item.postId,
147
+ setIsUploading: setIsUploading
148
+ })));
149
+ if (total === 0) return null;
150
+ return /*#__PURE__*/React.createElement(_react.Fragment, null, !isCarousel ? /*#__PURE__*/React.createElement(_reactNative.View, {
151
+ style: styles.selectedMedia
152
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
153
+ style: styles.selectedMedia__track,
154
+ onLayout: onLayout
155
+ }, renderFrame(media[0], 0))) : /*#__PURE__*/React.createElement(_reactNative.View, {
156
+ style: styles.selectedMedia
157
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
158
+ style: styles.selectedMedia__track,
159
+ onLayout: onLayout
160
+ }, slideWidth > 0 && /*#__PURE__*/React.createElement(_reactNative.ScrollView, {
161
+ ref: scrollRef,
162
+ horizontal: true,
163
+ showsHorizontalScrollIndicator: false,
164
+ decelerationRate: "fast",
165
+ snapToInterval: slideWidth + SPACE_BETWEEN,
166
+ snapToAlignment: "start"
167
+ }, media.map((item, index) => /*#__PURE__*/React.createElement(_reactNative.View, {
168
+ key: `${item.url}-${index}`,
169
+ style: [styles.selectedMedia__slide, {
170
+ width: slideWidth,
171
+ marginRight: index < total - 1 ? SPACE_BETWEEN : 0
172
+ }]
173
+ }, renderFrame(item, index)))))), /*#__PURE__*/React.createElement(_MediaViewer.MediaViewer, {
174
+ visible: viewerIndex !== null,
175
+ items: viewerItems,
176
+ initialIndex: viewerIndex ?? 0,
177
+ onClose: handleCloseViewer
178
+ }));
179
+ }
180
+ //# sourceMappingURL=SelectedMediaComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_LoadingImage","_interopRequireDefault","_LoadingVideo","_MediaViewer","_getFrameRatio","_styles","e","__esModule","default","PEEK_INSET","SPACE_BETWEEN","SelectedMediaComponent","mediaType","media","onClose","onLoadFinish","onUploadError","isEditMode","setIsUploading","styles","useStyles","scrollRef","useRef","trackWidth","setTrackWidth","useState","ratio","setRatio","DEFAULT_FRAME_RATIO","viewerIndex","setViewerIndex","total","length","isCarousel","aspectRatio","FRAME_RATIO_VALUE","slideWidth","first","firstUrl","url","firstWidth","width","firstHeight","height","firstRotation","rotation","useEffect","undefined","getVideoDisplayDims","getFrameRatio","console","log","active","Image","getSize","onLayout","event","nativeEvent","layout","viewerItems","map","m","type","uri","handleCloseViewer","tapped","_scrollRef$current","current","scrollTo","x","animated","renderFrame","item","index","React","createElement","View","style","selectedMedia__frame","carousel","source","isUploaded","fileId","thumbNail","fileCount","postId","onPlay","Pressable","selectedMedia__mediaButton","onPress","Fragment","selectedMedia","selectedMedia__track","ScrollView","ref","horizontal","showsHorizontalScrollIndicator","decelerationRate","snapToInterval","snapToAlignment","key","selectedMedia__slide","marginRight","MediaViewer","visible","items","initialIndex"],"sourceRoot":"../../../../../src","sources":["social/components/SelectedMediaComponent/SelectedMediaComponent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SelectedMediaComponent", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SelectedMediaComponent.SelectedMediaComponent;
10
+ }
11
+ });
12
+ var _SelectedMediaComponent = require("./SelectedMediaComponent");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_SelectedMediaComponent","require"],"sourceRoot":"../../../../../src","sources":["social/components/SelectedMediaComponent/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useStyles = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _reactNativePaper = require("react-native-paper");
9
+ // Values map 1:1 from web PR #1830 SelectedMediaComponent.module.css (1rem = 16dp).
10
+ // Web composer preview: peek scroll row (slidesPerView=auto, spaceBetween 8,
11
+ // slide width = calc(100% - 3.4375rem) = track - 55). NO counter, NO dots.
12
+ const useStyles = () => {
13
+ const theme = (0, _reactNativePaper.useTheme)();
14
+ return _reactNative.StyleSheet.create({
15
+ selectedMedia: {
16
+ width: '100%',
17
+ paddingVertical: 12 // web: padding 0.75rem 0
18
+ },
19
+ selectedMedia__track: {
20
+ position: 'relative',
21
+ width: '100%'
22
+ },
23
+ selectedMedia__slide: {
24
+ // width + marginRight (spaceBetween 8) set inline from measured track width
25
+ },
26
+ selectedMedia__frame: {
27
+ width: '100%',
28
+ overflow: 'hidden',
29
+ // web: no border-radius; background var(--asc-color-base-shade4)
30
+ backgroundColor: theme.colors.baseShade4
31
+ },
32
+ selectedMedia__media: {
33
+ width: '100%',
34
+ height: '100%'
35
+ },
36
+ selectedMedia__mediaButton: {
37
+ width: '100%',
38
+ height: '100%'
39
+ }
40
+ });
41
+ };
42
+ exports.useStyles = useStyles;
43
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativePaper","useStyles","theme","useTheme","StyleSheet","create","selectedMedia","width","paddingVertical","selectedMedia__track","position","selectedMedia__slide","selectedMedia__frame","overflow","backgroundColor","colors","baseShade4","selectedMedia__media","height","selectedMedia__mediaButton","exports"],"sourceRoot":"../../../../../src","sources":["social/components/SelectedMediaComponent/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACO,MAAME,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAMC,KAAK,GAAG,IAAAC,0BAAQ,EAAa,CAAC;EAEpC,OAAOC,uBAAU,CAACC,MAAM,CAAC;IACvBC,aAAa,EAAE;MACbC,KAAK,EAAE,MAAM;MACbC,eAAe,EAAE,EAAE,CAAE;IACvB,CAAC;IACDC,oBAAoB,EAAE;MACpBC,QAAQ,EAAE,UAAU;MACpBH,KAAK,EAAE;IACT,CAAC;IACDI,oBAAoB,EAAE;MACpB;IAAA,CACD;IACDC,oBAAoB,EAAE;MACpBL,KAAK,EAAE,MAAM;MACbM,QAAQ,EAAE,QAAQ;MAClB;MACAC,eAAe,EAAEZ,KAAK,CAACa,MAAM,CAACC;IAChC,CAAC;IACDC,oBAAoB,EAAE;MACpBV,KAAK,EAAE,MAAM;MACbW,MAAM,EAAE;IACV,CAAC;IACDC,0BAA0B,EAAE;MAC1BZ,KAAK,EAAE,MAAM;MACbW,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAnB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SWIPE_COMMIT_PX = exports.MEDIA_ATTACHMENT_CAP = exports.MAX_INDICATOR_DOTS = void 0;
7
+ // Carousel media post (PDT-3424)
8
+ const MAX_INDICATOR_DOTS = exports.MAX_INDICATOR_DOTS = 6;
9
+ const MEDIA_ATTACHMENT_CAP = exports.MEDIA_ATTACHMENT_CAP = 10;
10
+ const SWIPE_COMMIT_PX = exports.SWIPE_COMMIT_PX = 40;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MAX_INDICATOR_DOTS","exports","MEDIA_ATTACHMENT_CAP","SWIPE_COMMIT_PX"],"sourceRoot":"../../../../src","sources":["social/constants/index.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAAC;AAC5B,MAAME,oBAAoB,GAAAD,OAAA,CAAAC,oBAAA,GAAG,EAAE;AAC/B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,EAAE","ignoreList":[]}