@amityco/react-native-social-uikit 4.1.1-fe2678f6.0 → 4.2.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 (205) hide show
  1. package/README.md +7 -0
  2. package/lib/commonjs/core/assets/icons/post.js +1 -1
  3. package/lib/commonjs/core/assets/icons/post.js.map +1 -1
  4. package/lib/commonjs/core/assets/icons/story.js +1 -1
  5. package/lib/commonjs/core/assets/icons/story.js.map +1 -1
  6. package/lib/commonjs/core/assets/icons/xml.js +16 -2
  7. package/lib/commonjs/core/assets/icons/xml.js.map +1 -1
  8. package/lib/commonjs/core/legacy/file.js +145 -62
  9. package/lib/commonjs/core/legacy/file.js.map +1 -1
  10. package/lib/commonjs/core/stores/slices/feedSlice.js +3 -0
  11. package/lib/commonjs/core/stores/slices/feedSlice.js.map +1 -1
  12. package/lib/commonjs/core/stores/slices/globalfeedSlice.js +5 -0
  13. package/lib/commonjs/core/stores/slices/globalfeedSlice.js.map +1 -1
  14. package/lib/commonjs/core/stores/slices/localVideoThumbnailSlice.js +46 -0
  15. package/lib/commonjs/core/stores/slices/localVideoThumbnailSlice.js.map +1 -0
  16. package/lib/commonjs/core/stores/slices/uiSlice.js +5 -1
  17. package/lib/commonjs/core/stores/slices/uiSlice.js.map +1 -1
  18. package/lib/commonjs/core/stores/store/index.js +3 -1
  19. package/lib/commonjs/core/stores/store/index.js.map +1 -1
  20. package/lib/commonjs/social/components/LoadingImage/index.js +73 -12
  21. package/lib/commonjs/social/components/LoadingImage/index.js.map +1 -1
  22. package/lib/commonjs/social/components/LoadingImage/styles.js +8 -3
  23. package/lib/commonjs/social/components/LoadingImage/styles.js.map +1 -1
  24. package/lib/commonjs/social/components/LoadingVideo/index.js +90 -16
  25. package/lib/commonjs/social/components/LoadingVideo/index.js.map +1 -1
  26. package/lib/commonjs/social/components/LoadingVideo/styles.js +14 -5
  27. package/lib/commonjs/social/components/LoadingVideo/styles.js.map +1 -1
  28. package/lib/commonjs/social/components/MediaViewer/MediaViewer.js +13 -13
  29. package/lib/commonjs/social/components/MediaViewer/MediaViewer.js.map +1 -1
  30. package/lib/commonjs/social/components/MediaViewer/styles.js +11 -1
  31. package/lib/commonjs/social/components/MediaViewer/styles.js.map +1 -1
  32. package/lib/commonjs/social/components/PostContent/index.js +8 -29
  33. package/lib/commonjs/social/components/PostContent/index.js.map +1 -1
  34. package/lib/commonjs/social/components/SelectedMediaComponent/SelectedMediaComponent.js +109 -17
  35. package/lib/commonjs/social/components/SelectedMediaComponent/SelectedMediaComponent.js.map +1 -1
  36. package/lib/commonjs/social/components/legacy/LoadingVideo/index.js +17 -6
  37. package/lib/commonjs/social/components/legacy/LoadingVideo/index.js.map +1 -1
  38. package/lib/commonjs/social/elements/PostMediaElement/PostMediaElement.js +121 -23
  39. package/lib/commonjs/social/elements/PostMediaElement/PostMediaElement.js.map +1 -1
  40. package/lib/commonjs/social/elements/PostMediaElement/styles.js +7 -0
  41. package/lib/commonjs/social/elements/PostMediaElement/styles.js.map +1 -1
  42. package/lib/commonjs/social/features/community/PendingRequest/components/PendingPostList/PendingPostList.js +11 -5
  43. package/lib/commonjs/social/features/community/PendingRequest/components/PendingPostList/PendingPostList.js.map +1 -1
  44. package/lib/commonjs/social/features/feed/components/NewsFeed/NewsFeed.js +14 -0
  45. package/lib/commonjs/social/features/feed/components/NewsFeed/NewsFeed.js.map +1 -1
  46. package/lib/commonjs/social/features/post/Composer/PostComposer.js +234 -86
  47. package/lib/commonjs/social/features/post/Composer/PostComposer.js.map +1 -1
  48. package/lib/commonjs/social/hooks/index.js +11 -0
  49. package/lib/commonjs/social/hooks/index.js.map +1 -1
  50. package/lib/commonjs/social/hooks/useCommunities.js +5 -3
  51. package/lib/commonjs/social/hooks/useCommunities.js.map +1 -1
  52. package/lib/commonjs/social/hooks/useCommunityPermission.js +43 -0
  53. package/lib/commonjs/social/hooks/useCommunityPermission.js.map +1 -0
  54. package/lib/commonjs/social/hooks/useCustomRankingGlobalFeed.js +10 -1
  55. package/lib/commonjs/social/hooks/useCustomRankingGlobalFeed.js.map +1 -1
  56. package/lib/commonjs/social/hooks/useFile.js +11 -0
  57. package/lib/commonjs/social/hooks/useFile.js.map +1 -1
  58. package/lib/commonjs/social/screens/CommunityProfile/components/Header/Header.js +18 -7
  59. package/lib/commonjs/social/screens/CommunityProfile/components/Header/Header.js.map +1 -1
  60. package/lib/commonjs/social/utils/mediaAttachments.js +150 -0
  61. package/lib/commonjs/social/utils/mediaAttachments.js.map +1 -0
  62. package/lib/commonjs/social/utils/postChildren.js +72 -0
  63. package/lib/commonjs/social/utils/postChildren.js.map +1 -0
  64. package/lib/module/core/assets/icons/post.js +1 -1
  65. package/lib/module/core/assets/icons/post.js.map +1 -1
  66. package/lib/module/core/assets/icons/story.js +1 -1
  67. package/lib/module/core/assets/icons/story.js.map +1 -1
  68. package/lib/module/core/assets/icons/xml.js +13 -0
  69. package/lib/module/core/assets/icons/xml.js.map +1 -1
  70. package/lib/module/core/legacy/file.js +145 -62
  71. package/lib/module/core/legacy/file.js.map +1 -1
  72. package/lib/module/core/stores/slices/feedSlice.js +3 -0
  73. package/lib/module/core/stores/slices/feedSlice.js.map +1 -1
  74. package/lib/module/core/stores/slices/globalfeedSlice.js +5 -0
  75. package/lib/module/core/stores/slices/globalfeedSlice.js.map +1 -1
  76. package/lib/module/core/stores/slices/localVideoThumbnailSlice.js +41 -0
  77. package/lib/module/core/stores/slices/localVideoThumbnailSlice.js.map +1 -0
  78. package/lib/module/core/stores/slices/uiSlice.js +5 -1
  79. package/lib/module/core/stores/slices/uiSlice.js.map +1 -1
  80. package/lib/module/core/stores/store/index.js +3 -1
  81. package/lib/module/core/stores/store/index.js.map +1 -1
  82. package/lib/module/social/components/LoadingImage/index.js +74 -14
  83. package/lib/module/social/components/LoadingImage/index.js.map +1 -1
  84. package/lib/module/social/components/LoadingImage/styles.js +8 -3
  85. package/lib/module/social/components/LoadingImage/styles.js.map +1 -1
  86. package/lib/module/social/components/LoadingVideo/index.js +91 -17
  87. package/lib/module/social/components/LoadingVideo/index.js.map +1 -1
  88. package/lib/module/social/components/LoadingVideo/styles.js +14 -5
  89. package/lib/module/social/components/LoadingVideo/styles.js.map +1 -1
  90. package/lib/module/social/components/MediaViewer/MediaViewer.js +13 -13
  91. package/lib/module/social/components/MediaViewer/MediaViewer.js.map +1 -1
  92. package/lib/module/social/components/MediaViewer/styles.js +11 -1
  93. package/lib/module/social/components/MediaViewer/styles.js.map +1 -1
  94. package/lib/module/social/components/PostContent/index.js +8 -29
  95. package/lib/module/social/components/PostContent/index.js.map +1 -1
  96. package/lib/module/social/components/SelectedMediaComponent/SelectedMediaComponent.js +110 -18
  97. package/lib/module/social/components/SelectedMediaComponent/SelectedMediaComponent.js.map +1 -1
  98. package/lib/module/social/components/legacy/LoadingVideo/index.js +17 -6
  99. package/lib/module/social/components/legacy/LoadingVideo/index.js.map +1 -1
  100. package/lib/module/social/elements/PostMediaElement/PostMediaElement.js +123 -25
  101. package/lib/module/social/elements/PostMediaElement/PostMediaElement.js.map +1 -1
  102. package/lib/module/social/elements/PostMediaElement/styles.js +7 -0
  103. package/lib/module/social/elements/PostMediaElement/styles.js.map +1 -1
  104. package/lib/module/social/features/community/PendingRequest/components/PendingPostList/PendingPostList.js +12 -6
  105. package/lib/module/social/features/community/PendingRequest/components/PendingPostList/PendingPostList.js.map +1 -1
  106. package/lib/module/social/features/feed/components/NewsFeed/NewsFeed.js +15 -1
  107. package/lib/module/social/features/feed/components/NewsFeed/NewsFeed.js.map +1 -1
  108. package/lib/module/social/features/post/Composer/PostComposer.js +236 -89
  109. package/lib/module/social/features/post/Composer/PostComposer.js.map +1 -1
  110. package/lib/module/social/hooks/index.js +1 -0
  111. package/lib/module/social/hooks/index.js.map +1 -1
  112. package/lib/module/social/hooks/useCommunities.js +5 -3
  113. package/lib/module/social/hooks/useCommunities.js.map +1 -1
  114. package/lib/module/social/hooks/useCommunityPermission.js +37 -0
  115. package/lib/module/social/hooks/useCommunityPermission.js.map +1 -0
  116. package/lib/module/social/hooks/useCustomRankingGlobalFeed.js +10 -1
  117. package/lib/module/social/hooks/useCustomRankingGlobalFeed.js.map +1 -1
  118. package/lib/module/social/hooks/useFile.js +11 -0
  119. package/lib/module/social/hooks/useFile.js.map +1 -1
  120. package/lib/module/social/screens/CommunityProfile/components/Header/Header.js +19 -8
  121. package/lib/module/social/screens/CommunityProfile/components/Header/Header.js.map +1 -1
  122. package/lib/module/social/utils/mediaAttachments.js +139 -0
  123. package/lib/module/social/utils/mediaAttachments.js.map +1 -0
  124. package/lib/module/social/utils/postChildren.js +66 -0
  125. package/lib/module/social/utils/postChildren.js.map +1 -0
  126. package/lib/typescript/core/assets/icons/xml.d.ts +1 -0
  127. package/lib/typescript/core/assets/icons/xml.d.ts.map +1 -1
  128. package/lib/typescript/core/legacy/file.d.ts +32 -0
  129. package/lib/typescript/core/legacy/file.d.ts.map +1 -1
  130. package/lib/typescript/core/stores/slices/feedSlice.d.ts.map +1 -1
  131. package/lib/typescript/core/stores/slices/globalfeedSlice.d.ts.map +1 -1
  132. package/lib/typescript/core/stores/slices/localVideoThumbnailSlice.d.ts +35 -0
  133. package/lib/typescript/core/stores/slices/localVideoThumbnailSlice.d.ts.map +1 -0
  134. package/lib/typescript/core/stores/slices/uiSlice.d.ts +5 -0
  135. package/lib/typescript/core/stores/slices/uiSlice.d.ts.map +1 -1
  136. package/lib/typescript/core/stores/store/index.d.ts.map +1 -1
  137. package/lib/typescript/core/types/mention.d.ts +34 -0
  138. package/lib/typescript/core/types/mention.d.ts.map +1 -1
  139. package/lib/typescript/social/components/LoadingImage/index.d.ts +8 -2
  140. package/lib/typescript/social/components/LoadingImage/index.d.ts.map +1 -1
  141. package/lib/typescript/social/components/LoadingImage/styles.d.ts.map +1 -1
  142. package/lib/typescript/social/components/LoadingVideo/index.d.ts +9 -2
  143. package/lib/typescript/social/components/LoadingVideo/index.d.ts.map +1 -1
  144. package/lib/typescript/social/components/LoadingVideo/styles.d.ts +1 -0
  145. package/lib/typescript/social/components/LoadingVideo/styles.d.ts.map +1 -1
  146. package/lib/typescript/social/components/MediaViewer/MediaViewer.d.ts.map +1 -1
  147. package/lib/typescript/social/components/MediaViewer/styles.d.ts +1 -0
  148. package/lib/typescript/social/components/MediaViewer/styles.d.ts.map +1 -1
  149. package/lib/typescript/social/components/PostContent/index.d.ts.map +1 -1
  150. package/lib/typescript/social/components/SelectedMediaComponent/SelectedMediaComponent.d.ts +2 -2
  151. package/lib/typescript/social/components/SelectedMediaComponent/SelectedMediaComponent.d.ts.map +1 -1
  152. package/lib/typescript/social/components/legacy/LoadingVideo/index.d.ts.map +1 -1
  153. package/lib/typescript/social/elements/PostMediaElement/PostMediaElement.d.ts.map +1 -1
  154. package/lib/typescript/social/elements/PostMediaElement/styles.d.ts +4 -0
  155. package/lib/typescript/social/elements/PostMediaElement/styles.d.ts.map +1 -1
  156. package/lib/typescript/social/features/community/PendingRequest/components/PendingPostList/PendingPostList.d.ts.map +1 -1
  157. package/lib/typescript/social/features/feed/components/NewsFeed/NewsFeed.d.ts.map +1 -1
  158. package/lib/typescript/social/features/post/Composer/PostComposer.d.ts.map +1 -1
  159. package/lib/typescript/social/hooks/index.d.ts +1 -0
  160. package/lib/typescript/social/hooks/index.d.ts.map +1 -1
  161. package/lib/typescript/social/hooks/useCommunities.d.ts +2 -1
  162. package/lib/typescript/social/hooks/useCommunities.d.ts.map +1 -1
  163. package/lib/typescript/social/hooks/useCommunityPermission.d.ts +14 -0
  164. package/lib/typescript/social/hooks/useCommunityPermission.d.ts.map +1 -0
  165. package/lib/typescript/social/hooks/useCustomRankingGlobalFeed.d.ts.map +1 -1
  166. package/lib/typescript/social/hooks/useFile.d.ts +11 -0
  167. package/lib/typescript/social/hooks/useFile.d.ts.map +1 -1
  168. package/lib/typescript/social/screens/CommunityProfile/components/Header/Header.d.ts.map +1 -1
  169. package/lib/typescript/social/utils/mediaAttachments.d.ts +91 -0
  170. package/lib/typescript/social/utils/mediaAttachments.d.ts.map +1 -0
  171. package/lib/typescript/social/utils/postChildren.d.ts +38 -0
  172. package/lib/typescript/social/utils/postChildren.d.ts.map +1 -0
  173. package/package.json +3 -3
  174. package/src/core/assets/icons/post.tsx +1 -1
  175. package/src/core/assets/icons/story.tsx +1 -1
  176. package/src/core/assets/icons/xml.ts +15 -0
  177. package/src/core/legacy/file.tsx +169 -84
  178. package/src/core/stores/slices/feedSlice.ts +3 -0
  179. package/src/core/stores/slices/globalfeedSlice.ts +5 -0
  180. package/src/core/stores/slices/localVideoThumbnailSlice.ts +58 -0
  181. package/src/core/stores/slices/uiSlice.ts +8 -0
  182. package/src/core/stores/store/index.ts +2 -0
  183. package/src/core/types/mention.ts +34 -0
  184. package/src/social/components/LoadingImage/index.tsx +81 -12
  185. package/src/social/components/LoadingImage/styles.ts +8 -3
  186. package/src/social/components/LoadingVideo/index.tsx +111 -21
  187. package/src/social/components/LoadingVideo/styles.ts +13 -4
  188. package/src/social/components/MediaViewer/MediaViewer.tsx +11 -12
  189. package/src/social/components/MediaViewer/styles.ts +9 -1
  190. package/src/social/components/PostContent/index.tsx +3 -35
  191. package/src/social/components/SelectedMediaComponent/SelectedMediaComponent.tsx +103 -13
  192. package/src/social/components/legacy/LoadingVideo/index.tsx +26 -15
  193. package/src/social/elements/PostMediaElement/PostMediaElement.tsx +139 -29
  194. package/src/social/elements/PostMediaElement/styles.ts +7 -0
  195. package/src/social/features/community/PendingRequest/components/PendingPostList/PendingPostList.tsx +11 -6
  196. package/src/social/features/feed/components/NewsFeed/NewsFeed.tsx +16 -1
  197. package/src/social/features/post/Composer/PostComposer.tsx +304 -91
  198. package/src/social/hooks/index.ts +1 -0
  199. package/src/social/hooks/useCommunities.ts +4 -2
  200. package/src/social/hooks/useCommunityPermission.ts +40 -0
  201. package/src/social/hooks/useCustomRankingGlobalFeed.ts +8 -1
  202. package/src/social/hooks/useFile.ts +11 -0
  203. package/src/social/screens/CommunityProfile/components/Header/Header.tsx +19 -10
  204. package/src/social/utils/mediaAttachments.ts +158 -0
  205. package/src/social/utils/postChildren.ts +85 -0
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
+ var _netinfo = _interopRequireDefault(require("@react-native-community/netinfo"));
8
9
  var _reactNative = require("react-native");
9
10
  var Progress = _interopRequireWildcard(require("react-native-progress"));
10
11
  var _reactNativeSvg = require("react-native-svg");
@@ -12,6 +13,7 @@ var _file = require("../../../core/legacy/file");
12
13
  var _xml = require("../../../core/assets/icons/xml");
13
14
  var _styles = require("./styles");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
17
  const LoadingImage = ({
16
18
  source,
17
19
  onClose,
@@ -19,11 +21,12 @@ const LoadingImage = ({
19
21
  onLoadFinish,
20
22
  onUploadError,
21
23
  isUploaded = false,
24
+ displayUri,
22
25
  fileId = '',
23
26
  isEditMode = false,
24
27
  fileCount,
25
28
  postId,
26
- setIsUploading,
29
+ onUploadingChange,
27
30
  carousel = false
28
31
  }) => {
29
32
  const [loading, setLoading] = (0, _react.useState)(true);
@@ -33,16 +36,33 @@ const LoadingImage = ({
33
36
  const styles = (0, _styles.useStyles)();
34
37
  const handleLoadEnd = (0, _react.useCallback)(() => {
35
38
  setLoading(false);
36
- setIsUploading(false);
37
- }, [setIsUploading]);
39
+ onUploadingChange === null || onUploadingChange === void 0 || onUploadingChange(false, source);
40
+ }, [onUploadingChange, source]);
38
41
  (0, _react.useEffect)(() => {
39
42
  if (progress === 100) {
40
43
  setIsProcess(true);
41
44
  }
42
45
  }, [progress]);
43
46
  const uploadFileToAmity = (0, _react.useCallback)(async () => {
44
- setIsUploading(true);
47
+ onUploadingChange === null || onUploadingChange === void 0 || onUploadingChange(true, source);
45
48
  setIsUploadError(false);
49
+ // A retry re-enters this function with `loading` already false — the failed
50
+ // attempt's `handleLoadEnd` cleared it and nothing ever set it back, so
51
+ // `setLoading` only ever ran downwards in this component. The frame then
52
+ // re-uploaded with no spinner at all, which reads as "finished instantly"
53
+ // while Post stays disabled for the length of the upload.
54
+ // Progress and the processing flag are stale from the failed attempt too,
55
+ // so reset the whole visual upload state here rather than only in the
56
+ // mount effect, which does not re-run on a retry.
57
+ setLoading(true);
58
+ setProgress(0);
59
+ setIsProcess(false);
60
+ // Clearing the local flag alone left this source inside the parent's
61
+ // `imageErrors` set, and that set is otherwise only cleared by the
62
+ // mount effect below — which does not re-run on a retry, since neither
63
+ // `isUploaded` nor `source` changed. Post stayed disabled even after the
64
+ // retry uploaded fine, so tell the parent the error is gone up front.
65
+ onUploadError === null || onUploadError === void 0 || onUploadError(false, source);
46
66
  try {
47
67
  const file = await (0, _file.uploadImageFile)(source, percent => {
48
68
  setProgress(percent);
@@ -53,7 +73,8 @@ const LoadingImage = ({
53
73
  handleLoadEnd();
54
74
  onLoadFinish && onLoadFinish((_file$ = file[0]) === null || _file$ === void 0 ? void 0 : _file$.fileId, ((_file$2 = file[0]) === null || _file$2 === void 0 ? void 0 : _file$2.fileUrl) + '?size=medium', (_file$3 = file[0]) === null || _file$3 === void 0 ? void 0 : _file$3.attributes.name, index, source);
55
75
  } else {
56
- setIsUploading(false);
76
+ // `handleLoadEnd` already reports the upload as finished — the extra
77
+ // setter call it used to be paired with was redundant.
57
78
  handleLoadEnd();
58
79
  setIsProcess(false);
59
80
  setIsUploadError(true);
@@ -62,11 +83,34 @@ const LoadingImage = ({
62
83
  } catch (error) {
63
84
  handleLoadEnd();
64
85
  setIsProcess(false);
65
- setIsUploading(false);
66
86
  setIsUploadError(true);
67
87
  onUploadError === null || onUploadError === void 0 || onUploadError(true, source);
68
88
  }
69
- }, [handleLoadEnd, index, onLoadFinish, onUploadError, setIsUploading, source]);
89
+ }, [handleLoadEnd, index, onLoadFinish, onUploadError, onUploadingChange, source]);
90
+
91
+ // The frame is expected to end up uploaded, and Post enabled, once
92
+ // connectivity returns. Nothing retried on its own —
93
+ // the error key only cleared on a manual tap on that specific frame, and the
94
+ // peek carousel can leave a failed frame off-screen entirely, so Post stayed
95
+ // disabled with no visible cause. Retry when the device regains a
96
+ // connection, using the same NetInfo listener idiom as post Detail and the
97
+ // livestream screens.
98
+ //
99
+ // Gated on a disconnected -> connected transition, not merely on being
100
+ // connected: addEventListener fires immediately with the current state, so a
101
+ // failure that happened while online (a server error, say) would otherwise
102
+ // re-fire on every resubscribe and spin.
103
+ const wasDisconnectedRef = (0, _react.useRef)(false);
104
+ (0, _react.useEffect)(() => {
105
+ const unsubscribe = _netinfo.default.addEventListener(state => {
106
+ const isConnected = !!state.isConnected;
107
+ if (isConnected && wasDisconnectedRef.current && isUploadError) {
108
+ uploadFileToAmity();
109
+ }
110
+ wasDisconnectedRef.current = !isConnected;
111
+ });
112
+ return () => unsubscribe();
113
+ }, [isUploadError, uploadFileToAmity]);
70
114
  const handleDelete = async () => {
71
115
  if (fileId && !isEditMode) {
72
116
  await (0, _file.deleteAmityFile)(fileId);
@@ -84,6 +128,17 @@ const LoadingImage = ({
84
128
  uploadFileToAmity();
85
129
  }
86
130
  }, [isUploaded, source]);
131
+
132
+ // A frame can be removed (or its source swapped) while its upload is still
133
+ // in flight, in which case `handleLoadEnd` never runs and the composer would
134
+ // keep waiting on an entry no mounted child owns any more — leaving Post
135
+ // disabled forever. Clearing it from this cleanup keeps the
136
+ // bookkeeping in the same component that added it.
137
+ (0, _react.useEffect)(() => {
138
+ return () => {
139
+ onUploadingChange === null || onUploadingChange === void 0 || onUploadingChange(false, source);
140
+ };
141
+ }, [onUploadingChange, source]);
87
142
  const onRetryUpload = () => {
88
143
  uploadFileToAmity();
89
144
  };
@@ -91,7 +146,7 @@ const LoadingImage = ({
91
146
  style: carousel ? styles.carouselContainer : fileCount >= 3 ? styles.image3XContainer : styles.container
92
147
  }, /*#__PURE__*/React.createElement(_reactNative.Image, {
93
148
  source: {
94
- uri: source
149
+ uri: displayUri ?? source
95
150
  },
96
151
  resizeMode: carousel ? 'cover' : 'contain',
97
152
  style: [styles.image, loading ? styles.loadingImage : styles.loadedImage]
@@ -117,13 +172,19 @@ const LoadingImage = ({
117
172
  width: "28",
118
173
  height: "28"
119
174
  }))), /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
120
- style: styles.closeButton,
175
+ style: styles.closeButton
176
+ // The button matches web at 28dp, which is still under Apple's 44pt
177
+ // minimum touch target. Grow the touch area rather than the black
178
+ // disc, so the visual stays in parity while the frame stays tappable:
179
+ // 28 + 8 on each side lands exactly on 44.
180
+ ,
181
+ hitSlop: 8,
121
182
  disabled: (loading || isProcess) && !isUploadError,
122
183
  onPress: handleDelete
123
184
  }, /*#__PURE__*/React.createElement(_reactNativeSvg.SvgXml, {
124
- xml: (0, _xml.closeIcon)('white'),
125
- width: "12",
126
- height: "12"
185
+ xml: (0, _xml.mediaRemoveIcon)(),
186
+ width: "20",
187
+ height: "20"
127
188
  })));
128
189
  };
129
190
  var _default = exports.default = LoadingImage;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","Progress","_interopRequireWildcard","_reactNativeSvg","_file","_xml","_styles","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LoadingImage","source","onClose","index","onLoadFinish","onUploadError","isUploaded","fileId","isEditMode","fileCount","postId","setIsUploading","carousel","loading","setLoading","useState","progress","setProgress","isProcess","setIsProcess","isUploadError","setIsUploadError","styles","useStyles","handleLoadEnd","useCallback","useEffect","uploadFileToAmity","file","uploadImageFile","percent","_file$","_file$2","_file$3","fileUrl","attributes","name","error","handleDelete","deleteAmityFile","onRetryUpload","React","createElement","View","style","carouselContainer","image3XContainer","container","Image","uri","resizeMode","image","loadingImage","loadedImage","overlay","CircleSnail","size","borderColor","thickness","Circle","unfilledColor","failedOverlay","TouchableOpacity","errorOverlay","onPress","SvgXml","xml","toastIcon","width","height","closeButton","disabled","closeIcon","_default","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingImage/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_netinfo","_interopRequireDefault","_reactNative","Progress","_interopRequireWildcard","_reactNativeSvg","_file","_xml","_styles","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LoadingImage","source","onClose","index","onLoadFinish","onUploadError","isUploaded","displayUri","fileId","isEditMode","fileCount","postId","onUploadingChange","carousel","loading","setLoading","useState","progress","setProgress","isProcess","setIsProcess","isUploadError","setIsUploadError","styles","useStyles","handleLoadEnd","useCallback","useEffect","uploadFileToAmity","file","uploadImageFile","percent","_file$","_file$2","_file$3","fileUrl","attributes","name","error","wasDisconnectedRef","useRef","unsubscribe","NetInfo","addEventListener","state","isConnected","current","handleDelete","deleteAmityFile","onRetryUpload","React","createElement","View","style","carouselContainer","image3XContainer","container","Image","uri","resizeMode","image","loadingImage","loadedImage","overlay","CircleSnail","size","borderColor","thickness","Circle","unfilledColor","failedOverlay","TouchableOpacity","errorOverlay","onPress","SvgXml","xml","toastIcon","width","height","closeButton","hitSlop","disabled","mediaRemoveIcon","_default","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingImage/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -62,9 +62,14 @@ const useStyles = () => {
62
62
  },
63
63
  closeButton: {
64
64
  position: 'absolute',
65
- top: 7,
66
- right: 7,
67
- padding: 7,
65
+ // Matched to the web UIKit's remove button, which is 20px of icon inside
66
+ // 4px of padding at an 8px offset. The old 12/7 pair came to nearly the
67
+ // same 26dp outer size but filled only 46% of the circle with the glyph
68
+ // against web's 71%, so it read as a heavy black disc with a tiny cross
69
+ // in it.
70
+ top: 8,
71
+ right: 8,
72
+ padding: 4,
68
73
  backgroundColor: 'rgba(0, 0, 0, 0.4)',
69
74
  borderRadius: 72,
70
75
  zIndex: 10
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","useStyles","width","useWindowDimensions","StyleSheet","create","container","flex","height","margin","image3XContainer","carouselContainer","image","resizeMode","borderRadius","position","overlay","absoluteFillObject","justifyContent","alignItems","failedOverlay","backgroundColor","errorOverlay","top","left","right","progressBar","marginVertical","loadingImage","opacity","loadedImage","closeButton","padding","zIndex","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingImage/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACvC,OAAOC,uBAAU,CAACC,MAAM,CAAC;IACvBC,SAAS,EAAE;MACTC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAEN,KAAK,GAAG,EAAE;MAClBO,MAAM,EAAE;IACV,CAAC;IACDC,gBAAgB,EAAE;MAChBR,KAAK,EAAEA,KAAK,GAAG,CAAC,GAAG,EAAE;MACrBM,MAAM,EAAEN,KAAK,GAAG,CAAC,GAAG,EAAE;MACtBO,MAAM,EAAE;IACV,CAAC;IACDE,iBAAiB,EAAE;MACjBT,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE;IACV,CAAC;IACDI,KAAK,EAAE;MACLV,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE,MAAM;MACdK,UAAU,EAAE,OAAO;MACnBC,YAAY,EAAE,CAAC;MACfC,QAAQ,EAAE;IACZ,CAAC;IACDC,OAAO,EAAE;MACP,GAAGZ,uBAAU,CAACa,kBAAkB;MAChCC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE;IACd,CAAC;IACDC,aAAa,EAAE;MACb,GAAGhB,uBAAU,CAACa,kBAAkB;MAChCC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBE,eAAe,EAAE,oBAAoB;MACrCP,YAAY,EAAE;IAChB,CAAC;IACDQ,YAAY,EAAE;MACZP,QAAQ,EAAE,UAAU;MACpBQ,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRN,UAAU,EAAE,QAAQ;MACpBD,cAAc,EAAE;IAClB,CAAC;IACDQ,WAAW,EAAE;MACXC,cAAc,EAAE;IAClB,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,WAAW,EAAE;MACXD,OAAO,EAAE;IACX,CAAC;IACDE,WAAW,EAAE;MACXhB,QAAQ,EAAE,UAAU;MACpBQ,GAAG,EAAE,CAAC;MACNE,KAAK,EAAE,CAAC;MACRO,OAAO,EAAE,CAAC;MACVX,eAAe,EAAE,oBAAoB;MACrCP,YAAY,EAAE,EAAE;MAChBmB,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAjC,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","useStyles","width","useWindowDimensions","StyleSheet","create","container","flex","height","margin","image3XContainer","carouselContainer","image","resizeMode","borderRadius","position","overlay","absoluteFillObject","justifyContent","alignItems","failedOverlay","backgroundColor","errorOverlay","top","left","right","progressBar","marginVertical","loadingImage","opacity","loadedImage","closeButton","padding","zIndex","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingImage/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACvC,OAAOC,uBAAU,CAACC,MAAM,CAAC;IACvBC,SAAS,EAAE;MACTC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAEN,KAAK,GAAG,EAAE;MAClBO,MAAM,EAAE;IACV,CAAC;IACDC,gBAAgB,EAAE;MAChBR,KAAK,EAAEA,KAAK,GAAG,CAAC,GAAG,EAAE;MACrBM,MAAM,EAAEN,KAAK,GAAG,CAAC,GAAG,EAAE;MACtBO,MAAM,EAAE;IACV,CAAC;IACDE,iBAAiB,EAAE;MACjBT,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE;IACV,CAAC;IACDI,KAAK,EAAE;MACLV,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE,MAAM;MACdK,UAAU,EAAE,OAAO;MACnBC,YAAY,EAAE,CAAC;MACfC,QAAQ,EAAE;IACZ,CAAC;IACDC,OAAO,EAAE;MACP,GAAGZ,uBAAU,CAACa,kBAAkB;MAChCC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE;IACd,CAAC;IACDC,aAAa,EAAE;MACb,GAAGhB,uBAAU,CAACa,kBAAkB;MAChCC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBE,eAAe,EAAE,oBAAoB;MACrCP,YAAY,EAAE;IAChB,CAAC;IACDQ,YAAY,EAAE;MACZP,QAAQ,EAAE,UAAU;MACpBQ,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRN,UAAU,EAAE,QAAQ;MACpBD,cAAc,EAAE;IAClB,CAAC;IACDQ,WAAW,EAAE;MACXC,cAAc,EAAE;IAClB,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,WAAW,EAAE;MACXD,OAAO,EAAE;IACX,CAAC;IACDE,WAAW,EAAE;MACXhB,QAAQ,EAAE,UAAU;MACpB;MACA;MACA;MACA;MACA;MACAQ,GAAG,EAAE,CAAC;MACNE,KAAK,EAAE,CAAC;MACRO,OAAO,EAAE,CAAC;MACVX,eAAe,EAAE,oBAAoB;MACrCP,YAAY,EAAE,EAAE;MAChBmB,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAjC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
+ var _netinfo = _interopRequireDefault(require("@react-native-community/netinfo"));
8
9
  var _reactNative = require("react-native");
9
10
  var Progress = _interopRequireWildcard(require("react-native-progress"));
10
11
  var _reactNativeSvg = require("react-native-svg");
@@ -16,8 +17,8 @@ var _native = require("@react-navigation/native");
16
17
  var _uiSlice = _interopRequireDefault(require("../../../core/stores/slices/uiSlice"));
17
18
  var _reactNativeCompressor = require("react-native-compressor");
18
19
  var _store = require("../../../core/stores/store");
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
22
  const LoadingVideo = ({
22
23
  source,
23
24
  onClose,
@@ -25,13 +26,14 @@ const LoadingVideo = ({
25
26
  onLoadFinish,
26
27
  onUploadError,
27
28
  isUploaded = false,
29
+ displayUri,
28
30
  thumbNail,
29
31
  onPlay,
30
32
  fileId,
31
33
  isEditMode = false,
32
34
  fileCount,
33
35
  postId,
34
- setIsUploading,
36
+ onUploadingChange,
35
37
  carousel = false
36
38
  }) => {
37
39
  const dispatch = (0, _store.useUIKitDispatch)();
@@ -43,6 +45,10 @@ const LoadingVideo = ({
43
45
  const [isProcess, setIsProcess] = (0, _react.useState)(false);
44
46
  const [isUploadError, setIsUploadError] = (0, _react.useState)(false);
45
47
  const [thumbNailImage, setThumbNailImage] = (0, _react.useState)(thumbNail ?? '');
48
+ // `uploadFileToAmity` is memoised on [source] only, so reading the state
49
+ // there would capture the empty first-render value. Mirror it into a ref so
50
+ // the upload callback always sees the frame that was actually decoded.
51
+ const thumbNailImageRef = (0, _react.useRef)(thumbNail ?? '');
46
52
  const styles = (0, _styles.useStyles)();
47
53
  const [playingUri, setPlayingUri] = (0, _react.useState)('');
48
54
  const [isPause, setIsPause] = (0, _react.useState)(true);
@@ -63,10 +69,11 @@ const LoadingVideo = ({
63
69
  };
64
70
  const handleLoadEnd = () => {
65
71
  setLoading(false);
66
- setIsUploading(false);
72
+ onUploadingChange === null || onUploadingChange === void 0 || onUploadingChange(false, source);
67
73
  };
68
74
  const processThumbNail = async () => {
69
- const generatedThumbNail = await (0, _reactNativeCompressor.createVideoThumbnail)(source);
75
+ const generatedThumbNail = await (0, _reactNativeCompressor.createVideoThumbnail)(displayUri ?? source);
76
+ thumbNailImageRef.current = generatedThumbNail.path;
70
77
  setThumbNailImage(generatedThumbNail.path);
71
78
  };
72
79
  (0, _react.useEffect)(() => {
@@ -78,8 +85,25 @@ const LoadingVideo = ({
78
85
  }
79
86
  }, [progress]);
80
87
  const uploadFileToAmity = (0, _react.useCallback)(async () => {
81
- setIsUploading(true);
88
+ onUploadingChange === null || onUploadingChange === void 0 || onUploadingChange(true, source);
82
89
  setIsUploadError(false);
90
+ // A retry re-enters this function with `loading` already false — the failed
91
+ // attempt's `handleLoadEnd` cleared it and nothing ever set it back, so
92
+ // `setLoading` only ever ran downwards in this component. The frame then
93
+ // re-uploaded with no spinner at all, which reads as "finished instantly"
94
+ // while Post stays disabled for the length of the upload.
95
+ // Progress and the processing flag are stale from the failed attempt too,
96
+ // so reset the whole visual upload state here rather than only in the
97
+ // mount effect, which does not re-run on a retry.
98
+ setLoading(true);
99
+ setProgress(0);
100
+ setIsProcess(false);
101
+ // Clearing the local flag alone left this source inside the parent's
102
+ // `videoErrors` set, and that set is otherwise only cleared by the
103
+ // mount effect below — which does not re-run on a retry, since none of
104
+ // `fileId`/`isUploaded`/`source` changed. Post stayed disabled even after
105
+ // the retry uploaded fine, so tell the parent the error is gone up front.
106
+ onUploadError === null || onUploadError === void 0 || onUploadError(false, source);
83
107
  try {
84
108
  const file = await (0, _file.uploadVideoFile)(source, percent => {
85
109
  setProgress(percent);
@@ -88,7 +112,13 @@ const LoadingVideo = ({
88
112
  var _file$, _file$2, _file$3;
89
113
  setIsProcess(false);
90
114
  handleLoadEnd();
91
- onLoadFinish && onLoadFinish((_file$ = file[0]) === null || _file$ === void 0 ? void 0 : _file$.fileId, (_file$2 = file[0]) === null || _file$2 === void 0 ? void 0 : _file$2.fileUrl, (_file$3 = file[0]) === null || _file$3 === void 0 ? void 0 : _file$3.attributes.name, index, source, thumbNail);
115
+ onLoadFinish && onLoadFinish((_file$ = file[0]) === null || _file$ === void 0 ? void 0 : _file$.fileId, (_file$2 = file[0]) === null || _file$2 === void 0 ? void 0 : _file$2.fileUrl, (_file$3 = file[0]) === null || _file$3 === void 0 ? void 0 : _file$3.attributes.name, index, source,
116
+ // Hand back the frame this component decoded, not the incoming
117
+ // prop — for a newly picked video that prop is empty, so the
118
+ // generated thumbnail used to be dropped on the floor. The
119
+ // composer stores it so the feed can show it while the server is
120
+ // still transcoding (PDT-4904).
121
+ thumbNailImageRef.current || thumbNail);
92
122
  } else {
93
123
  handleLoadEnd();
94
124
  dispatch(showToastMessage({
@@ -108,6 +138,30 @@ const LoadingVideo = ({
108
138
  onUploadError === null || onUploadError === void 0 || onUploadError(true, source);
109
139
  }
110
140
  }, [source]);
141
+
142
+ // The frame is expected to end up uploaded, and Post enabled, once
143
+ // connectivity returns. Nothing retried on its own —
144
+ // the error key only cleared on a manual tap on that specific frame, and the
145
+ // peek carousel can leave a failed frame off-screen entirely, so Post stayed
146
+ // disabled with no visible cause. Retry when the device regains a
147
+ // connection, using the same NetInfo listener idiom as post Detail and the
148
+ // livestream screens.
149
+ //
150
+ // Gated on a disconnected -> connected transition, not merely on being
151
+ // connected: addEventListener fires immediately with the current state, so a
152
+ // failure that happened while online (a server error, say) would otherwise
153
+ // re-fire on every resubscribe and spin.
154
+ const wasDisconnectedRef = (0, _react.useRef)(false);
155
+ (0, _react.useEffect)(() => {
156
+ const unsubscribe = _netinfo.default.addEventListener(state => {
157
+ const isConnected = !!state.isConnected;
158
+ if (isConnected && wasDisconnectedRef.current && isUploadError) {
159
+ uploadFileToAmity();
160
+ }
161
+ wasDisconnectedRef.current = !isConnected;
162
+ });
163
+ return () => unsubscribe();
164
+ }, [isUploadError, uploadFileToAmity]);
111
165
  const handleDelete = async () => {
112
166
  if (fileId && !isEditMode) {
113
167
  await (0, _file.deleteAmityFile)(fileId);
@@ -126,15 +180,29 @@ const LoadingVideo = ({
126
180
  }
127
181
  }, [fileId, isUploaded, source]);
128
182
  const handleOnPlay = () => {
129
- setIsPause(!isPause);
130
- // In carousel mode the parent (onPlay) opens the full-screen media viewer,
131
- // so skip the default single-video route navigation.
183
+ // In carousel mode the parent (onPlay) owns the full-screen media viewer,
184
+ // so this component never mounts the inline <Video> and never receives a
185
+ // dismiss callback to unpause with. Leaving `isPause` alone keeps the play
186
+ // icon rendered, which is what the frame shows once the viewer closes
187
+ // (PDT-4904); toggling it here hid the icon for the rest of the session.
132
188
  if (onPlay) {
133
189
  onPlay(source);
134
190
  return;
135
191
  }
192
+ setIsPause(!isPause);
136
193
  playVideoFullScreen(source);
137
194
  };
195
+
196
+ // A frame can be removed (or its source swapped) while its upload is still
197
+ // in flight, in which case `handleLoadEnd` never runs and the composer would
198
+ // keep waiting on an entry no mounted child owns any more — leaving Post
199
+ // disabled forever. Clearing it from this cleanup keeps the
200
+ // bookkeeping in the same component that added it.
201
+ (0, _react.useEffect)(() => {
202
+ return () => {
203
+ onUploadingChange === null || onUploadingChange === void 0 || onUploadingChange(false, source);
204
+ };
205
+ }, [onUploadingChange, source]);
138
206
  const onRetryUpload = () => {
139
207
  uploadFileToAmity();
140
208
  };
@@ -163,7 +231,7 @@ const LoadingVideo = ({
163
231
  style: [styles.image, loading ? styles.loadingImage : styles.loadedImage]
164
232
  }) : /*#__PURE__*/React.createElement(_reactNative.View, {
165
233
  style: styles.image
166
- }), loading ? /*#__PURE__*/React.createElement(_reactNative.View, {
234
+ }), loading && /*#__PURE__*/React.createElement(_reactNative.View, {
167
235
  style: styles.overlay
168
236
  }, isProcess ? /*#__PURE__*/React.createElement(Progress.CircleSnail, {
169
237
  size: 24,
@@ -175,21 +243,27 @@ const LoadingVideo = ({
175
243
  borderColor: "transparent",
176
244
  unfilledColor: "#ffffff",
177
245
  thickness: 2
178
- })) : isUploadError ? /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
246
+ })), !loading && isUploadError && /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
179
247
  style: styles.overlay,
180
248
  onPress: onRetryUpload
181
249
  }, /*#__PURE__*/React.createElement(_reactNativeSvg.SvgXml, {
182
250
  xml: (0, _xml.toastIcon)(),
183
251
  width: "24",
184
252
  height: "24"
185
- })) : /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
186
- style: styles.closeButton,
253
+ })), /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
254
+ style: styles.closeButton
255
+ // The button matches web at 28dp, which is still under Apple's 44pt
256
+ // minimum touch target. Grow the touch area rather than the black
257
+ // disc, so the visual stays in parity while the frame stays tappable:
258
+ // 28 + 8 on each side lands exactly on 44.
259
+ ,
260
+ hitSlop: 8,
187
261
  disabled: (loading || isProcess) && !isUploadError,
188
262
  onPress: handleDelete
189
263
  }, /*#__PURE__*/React.createElement(_reactNativeSvg.SvgXml, {
190
- xml: (0, _xml.closeIcon)('white'),
191
- width: "12",
192
- height: "12"
264
+ xml: (0, _xml.mediaRemoveIcon)(),
265
+ width: "20",
266
+ height: "20"
193
267
  })));
194
268
  };
195
269
  var _default = exports.default = LoadingVideo;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","Progress","_interopRequireWildcard","_reactNativeSvg","_file","_xml","_styles","_reactNativeVideo","_interopRequireDefault","_native","_uiSlice","_reactNativeCompressor","_store","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LoadingVideo","source","onClose","index","onLoadFinish","onUploadError","isUploaded","thumbNail","onPlay","fileId","isEditMode","fileCount","postId","setIsUploading","carousel","dispatch","useUIKitDispatch","showToastMessage","uiSlice","actions","loading","setLoading","useState","progress","setProgress","isProcess","setIsProcess","isUploadError","setIsUploadError","thumbNailImage","setThumbNailImage","styles","useStyles","playingUri","setPlayingUri","isPause","setIsPause","navigation","useNavigation","playVideoFullScreen","fileUrl","Platform","OS","navigate","onClosePlayer","handleLoadEnd","processThumbNail","generatedThumbNail","createVideoThumbnail","path","useEffect","uploadFileToAmity","useCallback","file","uploadVideoFile","percent","_file$","_file$2","_file$3","attributes","name","toastMessage","error","handleDelete","deleteAmityFile","handleOnPlay","onRetryUpload","React","createElement","View","style","carouselContainer","image3XContainer","container","TouchableOpacity","playButton","onPress","SvgXml","xml","videoControlIcon","playBtn","width","height","controls","image","uri","onFullscreenPlayerWillDismiss","paused","Image","resizeMode","loadingImage","loadedImage","overlay","CircleSnail","size","borderColor","thickness","Circle","unfilledColor","toastIcon","closeButton","disabled","closeIcon","_default","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingVideo/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,QAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,IAAA,GAAAN,OAAA;AAMA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAEA,IAAAW,QAAA,GAAAF,sBAAA,CAAAT,OAAA;AACA,IAAAY,sBAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AAA8D,SAAAS,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAf,uBAAA,YAAAA,CAAAW,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAyB9D,MAAMgB,YAAY,GAAGA,CAAC;EACpBC,MAAM;EACNC,OAAO;EACPC,KAAK;EACLC,YAAY;EACZC,aAAa;EACbC,UAAU,GAAG,KAAK;EAClBC,SAAS;EACTC,MAAM;EACNC,MAAM;EACNC,UAAU,GAAG,KAAK;EAClBC,SAAS;EACTC,MAAM;EACNC,cAAc;EACdC,QAAQ,GAAG;AACM,CAAC,KAAK;EACvB,MAAMC,QAAQ,GAAG,IAAAC,uBAAgB,EAAC,CAAC;EACnC,MAAM;IAAEC;EAAiB,CAAC,GAAGC,gBAAO,CAACC,OAAO;EAC5C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAC5C,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC;EAC3C,MAAM,CAACG,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAJ,eAAQ,EAAU,KAAK,CAAC;EAC1D,MAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAN,eAAQ,EAAC,KAAK,CAAC;EACzD,MAAM,CAACO,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAR,eAAQ,EAACf,SAAS,IAAI,EAAE,CAAC;EACrE,MAAMwB,MAAM,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC1B,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAZ,eAAQ,EAAS,EAAE,CAAC;EACxD,MAAM,CAACa,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAd,eAAQ,EAAU,IAAI,CAAC;EACrD,MAAMe,UAAU,GAAG,IAAAC,qBAAa,EAAiC,CAAC;EAElE,MAAMC,mBAAmB,GAAIC,OAAe,IAAK;IAC/C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBR,aAAa,CAACM,OAAO,CAAC;IACxB,CAAC,MAAM;MACLJ,UAAU,CAAC,IAAI,CAAC;MAChBC,UAAU,CAACM,QAAQ,CAAC,aAAa,EAAE;QAAE1C,MAAM,EAAEA;MAAO,CAAC,CAAC;IACxD;EACF,CAAC;EACD,MAAM2C,aAAa,GAAGA,CAAA,KAAM;IAC1BR,UAAU,CAAC,IAAI,CAAC;IAChBF,aAAa,CAAC,EAAE,CAAC;EACnB,CAAC;EAED,MAAMW,aAAa,GAAGA,CAAA,KAAM;IAC1BxB,UAAU,CAAC,KAAK,CAAC;IACjBR,cAAc,CAAC,KAAK,CAAC;EACvB,CAAC;EAED,MAAMiC,gBAAgB,GAAG,MAAAA,CAAA,KAAY;IACnC,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,2CAAoB,EAAC/C,MAAM,CAAC;IAC7D6B,iBAAiB,CAACiB,kBAAkB,CAACE,IAAI,CAAC;EAC5C,CAAC;EACD,IAAAC,gBAAS,EAAC,MAAM;IACdJ,gBAAgB,CAAC,CAAC;EACpB,CAAC,EAAE,CAACvC,SAAS,CAAC,CAAC;EAEf,IAAA2C,gBAAS,EAAC,MAAM;IACd,IAAI3B,QAAQ,KAAK,GAAG,EAAE;MACpBG,YAAY,CAAC,IAAI,CAAC;IACpB;EACF,CAAC,EAAE,CAACH,QAAQ,CAAC,CAAC;EAEd,MAAM4B,iBAAiB,GAAG,IAAAC,kBAAW,EAAC,YAAY;IAChDvC,cAAc,CAAC,IAAI,CAAC;IACpBe,gBAAgB,CAAC,KAAK,CAAC;IACvB,IAAI;MACF,MAAMyB,IAAuB,GAAG,MAAM,IAAAC,qBAAe,EACnDrD,MAAM,EACLsD,OAAe,IAAK;QACnB/B,WAAW,CAAC+B,OAAO,CAAC;MACtB,CACF,CAAC;MACD,IAAIF,IAAI,EAAE;QAAA,IAAAG,MAAA,EAAAC,OAAA,EAAAC,OAAA;QACRhC,YAAY,CAAC,KAAK,CAAC;QACnBmB,aAAa,CAAC,CAAC;QACfzC,YAAY,IACVA,YAAY,EAAAoD,MAAA,GACVH,IAAI,CAAC,CAAC,CAAC,cAAAG,MAAA,uBAAPA,MAAA,CAAS/C,MAAM,GAAAgD,OAAA,GACfJ,IAAI,CAAC,CAAC,CAAC,cAAAI,OAAA,uBAAPA,OAAA,CAASjB,OAAO,GAAAkB,OAAA,GAChBL,IAAI,CAAC,CAAC,CAAC,cAAAK,OAAA,uBAAPA,OAAA,CAASC,UAAU,CAACC,IAAI,EACxBzD,KAAK,EACLF,MAAM,EACNM,SACF,CAAC;MACL,CAAC,MAAM;QACLsC,aAAa,CAAC,CAAC;QACf9B,QAAQ,CAACE,gBAAgB,CAAC;UAAE4C,YAAY,EAAE;QAAwB,CAAC,CAAC,CAAC;QACrEnC,YAAY,CAAC,KAAK,CAAC;QACnBE,gBAAgB,CAAC,IAAI,CAAC;QACtBvB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAG,IAAI,EAAEJ,MAAM,CAAC;MAC/B;IACF,CAAC,CAAC,OAAO6D,KAAK,EAAE;MACdjB,aAAa,CAAC,CAAC;MACf9B,QAAQ,CAACE,gBAAgB,CAAC;QAAE4C,YAAY,EAAE;MAAwB,CAAC,CAAC,CAAC;MACrEnC,YAAY,CAAC,KAAK,CAAC;MACnBE,gBAAgB,CAAC,IAAI,CAAC;MACtBvB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAG,IAAI,EAAEJ,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAM8D,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAItD,MAAM,IAAI,CAACC,UAAU,EAAE;MACzB,MAAM,IAAAsD,qBAAe,EAACvD,MAAM,CAAC;IAC/B;IACAP,OAAO,IAAIA,OAAO,CAACD,MAAM,EAAEQ,MAAM,EAAEG,MAAM,CAAC;EAC5C,CAAC;EACD,IAAAsC,gBAAS,EAAC,MAAM;IACdtB,gBAAgB,CAAC,KAAK,CAAC;IACvBvB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAG,KAAK,EAAEJ,MAAM,CAAC;IAC9BuB,WAAW,CAAC,CAAC,CAAC;IACdE,YAAY,CAAC,KAAK,CAAC;IACnB,IAAIpB,UAAU,EAAE;MACde,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,MAAM;MACL8B,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,CAAC1C,MAAM,EAAEH,UAAU,EAAEL,MAAM,CAAC,CAAC;EAEhC,MAAMgE,YAAY,GAAGA,CAAA,KAAM;IACzB7B,UAAU,CAAC,CAACD,OAAO,CAAC;IACpB;IACA;IACA,IAAI3B,MAAM,EAAE;MACVA,MAAM,CAACP,MAAM,CAAC;MACd;IACF;IACAsC,mBAAmB,CAACtC,MAAM,CAAC;EAC7B,CAAC;EAED,MAAMiE,aAAa,GAAGA,CAAA,KAAM;IAC1Bf,iBAAiB,CAAC,CAAC;EACrB,CAAC;EAED,oBACEgB,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAAqG,IAAI;IACHC,KAAK,EACHxD,QAAQ,GACJiB,MAAM,CAACwC,iBAAiB,GACxB5D,SAAS,IAAI,CAAC,GACdoB,MAAM,CAACyC,gBAAgB,GACvBzC,MAAM,CAAC0C;EACZ,GAEA,CAACrD,OAAO,IAAI,CAACO,aAAa,IAAIQ,OAAO,iBACpCgC,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAA0G,gBAAgB;IAACJ,KAAK,EAAEvC,MAAM,CAAC4C,UAAW;IAACC,OAAO,EAAEX;EAAa,gBAChEE,KAAA,CAAAC,aAAA,CAACjG,eAAA,CAAA0G,MAAM;IACLC,GAAG,EAAEhE,QAAQ,GAAGiE,qBAAgB,GAAGC,YAAQ;IAC3CC,KAAK,EAAEnE,QAAQ,GAAG,EAAE,GAAG,EAAG;IAC1BoE,MAAM,EAAEpE,QAAQ,GAAG,EAAE,GAAG;EAAG,CAC5B,CACe,CACnB,EACAmB,UAAU,IAAI,CAACE,OAAO,gBACrBgC,KAAA,CAAAC,aAAA,CAAC7F,iBAAA,CAAAQ,OAAK;IACJoG,QAAQ;IACRb,KAAK,EAAEvC,MAAM,CAACqD,KAAM;IACpBnF,MAAM,EAAE;MAAEoF,GAAG,EAAEpD;IAAW,CAAE;IAC5BqD,6BAA6B,EAAE1C,aAAc;IAC7C2C,MAAM,EAAEpD;EAAQ,CACjB,CAAC,GACAN,cAAc,gBAChBsC,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAAwH,KAAK;IACJC,UAAU,EAAC,OAAO;IAClBxF,MAAM,EAAE;MAAEoF,GAAG,EAAExD;IAAe,CAAE;IAChCyC,KAAK,EAAE,CACLvC,MAAM,CAACqD,KAAK,EACXhE,OAAO,GAAGW,MAAM,CAAC2D,YAAY,GAAG3D,MAAM,CAAC4D,WAAW;EACnD,CACH,CAAC,gBAEFxB,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAAqG,IAAI;IAACC,KAAK,EAAEvC,MAAM,CAACqD;EAAM,CAAE,CAC7B,EAEAhE,OAAO,gBACN+C,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAAqG,IAAI;IAACC,KAAK,EAAEvC,MAAM,CAAC6D;EAAQ,GACzBnE,SAAS,gBACR0C,KAAA,CAAAC,aAAA,CAACnG,QAAQ,CAAC4H,WAAW;IACnBC,IAAI,EAAE,EAAG;IACTC,WAAW,EAAC,aAAa;IACzBC,SAAS,EAAE;EAAE,CACd,CAAC,gBAEF7B,KAAA,CAAAC,aAAA,CAACnG,QAAQ,CAACgI,MAAM;IACd1E,QAAQ,EAAEA,QAAQ,GAAG,GAAI;IACzBuE,IAAI,EAAE,EAAG;IACTC,WAAW,EAAC,aAAa;IACzBG,aAAa,EAAC,SAAS;IACvBF,SAAS,EAAE;EAAE,CACd,CAEC,CAAC,GACLrE,aAAa,gBACfwC,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAA0G,gBAAgB;IAACJ,KAAK,EAAEvC,MAAM,CAAC6D,OAAQ;IAAChB,OAAO,EAAEV;EAAc,gBAC9DC,KAAA,CAAAC,aAAA,CAACjG,eAAA,CAAA0G,MAAM;IAACC,GAAG,EAAE,IAAAqB,cAAS,EAAC,CAAE;IAAClB,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAI,CAAE,CAClC,CAAC,gBAEnBf,KAAA,CAAAC,aAAA,CAACpG,YAAA,CAAA0G,gBAAgB;IACfJ,KAAK,EAAEvC,MAAM,CAACqE,WAAY;IAC1BC,QAAQ,EAAE,CAACjF,OAAO,IAAIK,SAAS,KAAK,CAACE,aAAc;IACnDiD,OAAO,EAAEb;EAAa,gBAEtBI,KAAA,CAAAC,aAAA,CAACjG,eAAA,CAAA0G,MAAM;IAACC,GAAG,EAAE,IAAAwB,cAAS,EAAC,OAAO,CAAE;IAACrB,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAI,CAAE,CACzC,CAEhB,CAAC;AAEX,CAAC;AAAC,IAAAqB,QAAA,GAAAC,OAAA,CAAAzH,OAAA,GACaiB,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_netinfo","_interopRequireDefault","_reactNative","Progress","_interopRequireWildcard","_reactNativeSvg","_file","_xml","_styles","_reactNativeVideo","_native","_uiSlice","_reactNativeCompressor","_store","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LoadingVideo","source","onClose","index","onLoadFinish","onUploadError","isUploaded","displayUri","thumbNail","onPlay","fileId","isEditMode","fileCount","postId","onUploadingChange","carousel","dispatch","useUIKitDispatch","showToastMessage","uiSlice","actions","loading","setLoading","useState","progress","setProgress","isProcess","setIsProcess","isUploadError","setIsUploadError","thumbNailImage","setThumbNailImage","thumbNailImageRef","useRef","styles","useStyles","playingUri","setPlayingUri","isPause","setIsPause","navigation","useNavigation","playVideoFullScreen","fileUrl","Platform","OS","navigate","onClosePlayer","handleLoadEnd","processThumbNail","generatedThumbNail","createVideoThumbnail","current","path","useEffect","uploadFileToAmity","useCallback","file","uploadVideoFile","percent","_file$","_file$2","_file$3","attributes","name","toastMessage","error","wasDisconnectedRef","unsubscribe","NetInfo","addEventListener","state","isConnected","handleDelete","deleteAmityFile","handleOnPlay","onRetryUpload","React","createElement","View","style","carouselContainer","image3XContainer","container","TouchableOpacity","playButton","onPress","SvgXml","xml","videoControlIcon","playBtn","width","height","controls","image","uri","onFullscreenPlayerWillDismiss","paused","Image","resizeMode","loadingImage","loadedImage","overlay","CircleSnail","size","borderColor","thickness","Circle","unfilledColor","toastIcon","closeButton","hitSlop","disabled","mediaRemoveIcon","_default","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingVideo/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -52,11 +52,20 @@ const useStyles = () => {
52
52
  },
53
53
  closeButton: {
54
54
  position: 'absolute',
55
- top: 7,
56
- right: 7,
57
- padding: 7,
58
- backgroundColor: 'rgba(255, 255, 255, 0.4)',
59
- borderRadius: 72
55
+ // Matched to the web UIKit's remove button, which is 20px of icon inside
56
+ // 4px of padding at an 8px offset. The old 12/7 pair came to nearly the
57
+ // same 26dp outer size but filled only 46% of the circle with the glyph
58
+ // against web's 71%, so it read as a heavy black disc with a tiny cross
59
+ // in it.
60
+ top: 8,
61
+ right: 8,
62
+ padding: 4,
63
+ // Matches LoadingImage exactly: the icon is closeIcon('white') in both,
64
+ // so the white scrim this used to carry left a white-on-white button
65
+ // that all but disappeared over a light frame.
66
+ backgroundColor: 'rgba(0, 0, 0, 0.4)',
67
+ borderRadius: 72,
68
+ zIndex: 10
60
69
  },
61
70
  playButton: {
62
71
  width: 100,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","useStyles","width","useWindowDimensions","StyleSheet","create","container","flex","height","margin","image3XContainer","carouselContainer","image","resizeMode","borderRadius","backgroundColor","overlay","position","top","left","transform","translateX","translateY","progressBar","marginVertical","loadingImage","opacity","loadedImage","closeButton","right","padding","playButton","zIndex","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingVideo/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACvC,OAAOC,uBAAU,CAACC,MAAM,CAAC;IACvBC,SAAS,EAAE;MACTC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAEN,KAAK,GAAG,EAAE;MAClBO,MAAM,EAAE;IACV,CAAC;IACDC,gBAAgB,EAAE;MAChBR,KAAK,EAAEA,KAAK,GAAG,CAAC,GAAG,EAAE;MACrBM,MAAM,EAAEN,KAAK,GAAG,CAAC,GAAG,EAAE;MACtBO,MAAM,EAAE;IACV,CAAC;IACDE,iBAAiB,EAAE;MACjBT,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE;IACV,CAAC;IACDI,KAAK,EAAE;MACLV,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE,MAAM;MACdK,UAAU,EAAE,OAAO;MACnBC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAE;IACnB,CAAC;IACDC,OAAO,EAAE;MACPC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,KAAK;MACXC,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC;IACtD,CAAC;IACDC,WAAW,EAAE;MACXC,cAAc,EAAE;IAClB,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,WAAW,EAAE;MACXD,OAAO,EAAE;IACX,CAAC;IACDE,WAAW,EAAE;MACXX,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNW,KAAK,EAAE,CAAC;MACRC,OAAO,EAAE,CAAC;MACVf,eAAe,EAAE,0BAA0B;MAC3CD,YAAY,EAAE;IAChB,CAAC;IACDiB,UAAU,EAAE;MACV7B,KAAK,EAAE,GAAG;MACVM,MAAM,EAAE,GAAG;MACXM,YAAY,EAAE,EAAE;MAChBG,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,KAAK;MACXC,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC,CAAC;MACrDU,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAhC,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","useStyles","width","useWindowDimensions","StyleSheet","create","container","flex","height","margin","image3XContainer","carouselContainer","image","resizeMode","borderRadius","backgroundColor","overlay","position","top","left","transform","translateX","translateY","progressBar","marginVertical","loadingImage","opacity","loadedImage","closeButton","right","padding","zIndex","playButton","exports"],"sourceRoot":"../../../../../src","sources":["social/components/LoadingVideo/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACvC,OAAOC,uBAAU,CAACC,MAAM,CAAC;IACvBC,SAAS,EAAE;MACTC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAEN,KAAK,GAAG,EAAE;MAClBO,MAAM,EAAE;IACV,CAAC;IACDC,gBAAgB,EAAE;MAChBR,KAAK,EAAEA,KAAK,GAAG,CAAC,GAAG,EAAE;MACrBM,MAAM,EAAEN,KAAK,GAAG,CAAC,GAAG,EAAE;MACtBO,MAAM,EAAE;IACV,CAAC;IACDE,iBAAiB,EAAE;MACjBT,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE;IACV,CAAC;IACDI,KAAK,EAAE;MACLV,KAAK,EAAE,MAAM;MACbM,MAAM,EAAE,MAAM;MACdK,UAAU,EAAE,OAAO;MACnBC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAE;IACnB,CAAC;IACDC,OAAO,EAAE;MACPC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,KAAK;MACXC,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC;IACtD,CAAC;IACDC,WAAW,EAAE;MACXC,cAAc,EAAE;IAClB,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,WAAW,EAAE;MACXD,OAAO,EAAE;IACX,CAAC;IACDE,WAAW,EAAE;MACXX,QAAQ,EAAE,UAAU;MACpB;MACA;MACA;MACA;MACA;MACAC,GAAG,EAAE,CAAC;MACNW,KAAK,EAAE,CAAC;MACRC,OAAO,EAAE,CAAC;MACV;MACA;MACA;MACAf,eAAe,EAAE,oBAAoB;MACrCD,YAAY,EAAE,EAAE;MAChBiB,MAAM,EAAE;IACV,CAAC;IACDC,UAAU,EAAE;MACV9B,KAAK,EAAE,GAAG;MACVM,MAAM,EAAE,GAAG;MACXM,YAAY,EAAE,EAAE;MAChBG,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,KAAK;MACXC,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE,CAAC;MAAG,CAAC,CAAC;MACrDS,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAhC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -36,11 +36,12 @@ function MediaViewer({
36
36
  const listRef = (0, _react.useRef)(null);
37
37
  const videoRef = (0, _react.useRef)(null);
38
38
  const [current, setCurrent] = (0, _react.useState)(initialIndex);
39
- // Mute-carry (PDT-4309 / PDT-4312): the first video plays unmuted; each swipe
40
- // defaults the next video to muted — until the user unmutes, after which
41
- // subsequent videos stay unmuted.
39
+ // The sound setting belongs to the viewing session, not to one frame: the
40
+ // first video opens unmuted and swiping carries whatever the viewer last
41
+ // chose. Re-defaulting each new frame to muted meant a swipe silenced a
42
+ // session the viewer never muted, since opening unmuted is a default rather
43
+ // than an explicit choice.
42
44
  const [muted, setMuted] = (0, _react.useState)(false);
43
- const keepUnmutedRef = (0, _react.useRef)(false);
44
45
 
45
46
  // --- playback controls (ported from web VideoPlayerControls) ---
46
47
  const [userPaused, setUserPaused] = (0, _react.useState)(false);
@@ -77,7 +78,6 @@ function MediaViewer({
77
78
  }
78
79
  setCurrent(initialIndex);
79
80
  setMuted(false);
80
- keepUnmutedRef.current = false;
81
81
  resetPlayback();
82
82
  revealControls();
83
83
  }, [visible, initialIndex, resetPlayback, revealControls, clearHideTimer]);
@@ -86,17 +86,12 @@ function MediaViewer({
86
86
  const idx = Math.round(e.nativeEvent.contentOffset.x / width);
87
87
  if (idx !== current) {
88
88
  setCurrent(idx);
89
- setMuted(!keepUnmutedRef.current);
90
89
  resetPlayback();
91
90
  revealControls();
92
91
  }
93
92
  }, [width, current, resetPlayback, revealControls]);
94
93
  const toggleMute = (0, _react.useCallback)(() => {
95
- setMuted(prev => {
96
- const next = !prev;
97
- keepUnmutedRef.current = !next; // user unmuted -> keep unmuted afterwards
98
- return next;
99
- });
94
+ setMuted(prev => !prev);
100
95
  revealControls();
101
96
  }, [revealControls]);
102
97
  const togglePlay = (0, _react.useCallback)(() => {
@@ -204,8 +199,13 @@ function MediaViewer({
204
199
  },
205
200
  style: styles.media,
206
201
  resizeMode: "contain",
207
- paused: index !== current || !visible || userPaused,
208
- muted: muted && index === current,
202
+ paused: index !== current || !visible || userPaused
203
+ // Only the frame on screen may be audible. `paused` alone is
204
+ // not a reliable gag on an off-screen native player, so an
205
+ // unmuted session must not leave a neighbouring frame able to
206
+ // emit sound.
207
+ ,
208
+ muted: muted || index !== current,
209
209
  repeat: true,
210
210
  playInBackground: false,
211
211
  playWhenInactive: false,