@ethora/chat-component-rn 26.10.8 → 26.10.10

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 (184) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/lib/commonjs/components/MainComponents/AlbumGrid.js +6 -2
  4. package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatHeader.js +16 -11
  6. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/MediaMessage.js +13 -0
  8. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/RoomList.js +7 -16
  10. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  11. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +3 -3
  12. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  13. package/lib/commonjs/components/MessageBubble/Message.js +27 -1
  14. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  15. package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js +159 -0
  16. package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
  17. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +203 -134
  18. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  19. package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js +180 -0
  20. package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
  21. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -162
  22. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  23. package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js +824 -0
  24. package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
  25. package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js +179 -0
  26. package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
  27. package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js +22 -5
  28. package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
  29. package/lib/commonjs/components/VideoCalls/useCallKeep.js +1 -3
  30. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  31. package/lib/commonjs/components/styled/MessageImage.js +4 -1
  32. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  33. package/lib/commonjs/components/styled/VideoMessage.js +5 -1
  34. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  35. package/lib/commonjs/context/MediaSourceContext.js +18 -0
  36. package/lib/commonjs/context/MediaSourceContext.js.map +1 -0
  37. package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js +3 -1
  38. package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
  39. package/lib/commonjs/helpers/constants/MODAL_TYPES.js +2 -0
  40. package/lib/commonjs/helpers/constants/MODAL_TYPES.js.map +1 -1
  41. package/lib/commonjs/helpers/publicChatsEntry.js +8 -6
  42. package/lib/commonjs/helpers/publicChatsEntry.js.map +1 -1
  43. package/lib/commonjs/helpers/roomMedia.js +118 -0
  44. package/lib/commonjs/helpers/roomMedia.js.map +1 -0
  45. package/lib/commonjs/i18n/strings.js +36 -0
  46. package/lib/commonjs/i18n/strings.js.map +1 -1
  47. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -13
  48. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  49. package/lib/commonjs/networking/callTokenStanza.js +13 -1
  50. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  51. package/lib/commonjs/push/sealedPushTask.js +20 -1
  52. package/lib/commonjs/push/sealedPushTask.js.map +1 -1
  53. package/lib/commonjs/version.js +1 -1
  54. package/lib/commonjs/version.js.map +1 -1
  55. package/lib/module/components/MainComponents/AlbumGrid.js +6 -2
  56. package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -1
  57. package/lib/module/components/MainComponents/ChatHeader.js +18 -13
  58. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  59. package/lib/module/components/MainComponents/MediaMessage.js +13 -0
  60. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  61. package/lib/module/components/MainComponents/RoomList.js +7 -16
  62. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  63. package/lib/module/components/Menu/HeaderRoomListMenu.js +3 -3
  64. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  65. package/lib/module/components/MessageBubble/Message.js +27 -1
  66. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  67. package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js +154 -0
  68. package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
  69. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +204 -136
  70. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  71. package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js +175 -0
  72. package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
  73. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -163
  74. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  75. package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js +819 -0
  76. package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
  77. package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js +172 -0
  78. package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
  79. package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js +20 -4
  80. package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
  81. package/lib/module/components/VideoCalls/useCallKeep.js +2 -4
  82. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  83. package/lib/module/components/styled/MessageImage.js +4 -1
  84. package/lib/module/components/styled/MessageImage.js.map +1 -1
  85. package/lib/module/components/styled/VideoMessage.js +5 -1
  86. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  87. package/lib/module/context/MediaSourceContext.js +13 -0
  88. package/lib/module/context/MediaSourceContext.js.map +1 -0
  89. package/lib/module/helpers/constants/MODAL_COMPONENTS.js +2 -1
  90. package/lib/module/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
  91. package/lib/module/helpers/constants/MODAL_TYPES.js +2 -0
  92. package/lib/module/helpers/constants/MODAL_TYPES.js.map +1 -1
  93. package/lib/module/helpers/publicChatsEntry.js +8 -6
  94. package/lib/module/helpers/publicChatsEntry.js.map +1 -1
  95. package/lib/module/helpers/roomMedia.js +112 -0
  96. package/lib/module/helpers/roomMedia.js.map +1 -0
  97. package/lib/module/i18n/strings.js +36 -0
  98. package/lib/module/i18n/strings.js.map +1 -1
  99. package/lib/module/networking/api-requests/rooms.api.js +9 -13
  100. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  101. package/lib/module/networking/callTokenStanza.js +13 -1
  102. package/lib/module/networking/callTokenStanza.js.map +1 -1
  103. package/lib/module/push/sealedPushTask.js +20 -1
  104. package/lib/module/push/sealedPushTask.js.map +1 -1
  105. package/lib/module/version.js +1 -1
  106. package/lib/module/version.js.map +1 -1
  107. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -1
  108. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  109. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +3 -1
  110. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  111. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  112. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  113. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  114. package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts +16 -0
  115. package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts.map +1 -0
  116. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  117. package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts +18 -0
  118. package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts.map +1 -0
  119. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +16 -0
  120. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  121. package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts +27 -0
  122. package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts.map +1 -0
  123. package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts +9 -0
  124. package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts.map +1 -0
  125. package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts +8 -0
  126. package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts.map +1 -1
  127. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  128. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  129. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  130. package/lib/typescript/context/MediaSourceContext.d.ts +4 -0
  131. package/lib/typescript/context/MediaSourceContext.d.ts.map +1 -0
  132. package/lib/typescript/helpers/constants/MODAL_COMPONENTS.d.ts.map +1 -1
  133. package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts +2 -0
  134. package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts.map +1 -1
  135. package/lib/typescript/helpers/publicChatsEntry.d.ts +7 -5
  136. package/lib/typescript/helpers/publicChatsEntry.d.ts.map +1 -1
  137. package/lib/typescript/helpers/roomMedia.d.ts +26 -0
  138. package/lib/typescript/helpers/roomMedia.d.ts.map +1 -0
  139. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  140. package/lib/typescript/main.d.ts +1 -1
  141. package/lib/typescript/main.d.ts.map +1 -1
  142. package/lib/typescript/networking/api-requests/rooms.api.d.ts +6 -5
  143. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  144. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  145. package/lib/typescript/push/sealedPushTask.d.ts +13 -0
  146. package/lib/typescript/push/sealedPushTask.d.ts.map +1 -1
  147. package/lib/typescript/types/models/modal.model.d.ts +18 -0
  148. package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
  149. package/lib/typescript/types/types.d.ts +18 -0
  150. package/lib/typescript/types/types.d.ts.map +1 -1
  151. package/lib/typescript/version.d.ts +1 -1
  152. package/lib/typescript/version.d.ts.map +1 -1
  153. package/package.json +9 -2
  154. package/plugins/notification-service/NotificationService.swift +105 -19
  155. package/plugins/withNotificationServiceExtension.js +44 -4
  156. package/src/components/MainComponents/AlbumGrid.tsx +5 -1
  157. package/src/components/MainComponents/ChatHeader.tsx +16 -11
  158. package/src/components/MainComponents/MediaMessage.tsx +13 -2
  159. package/src/components/MainComponents/RoomList.tsx +8 -19
  160. package/src/components/Menu/HeaderRoomListMenu.tsx +13 -8
  161. package/src/components/MessageBubble/Message.tsx +24 -1
  162. package/src/components/Modals/ChatProfileModal/ChatMediaGrid.tsx +174 -0
  163. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +119 -48
  164. package/src/components/Modals/ChatProfileModal/LeaveChatModal.tsx +191 -0
  165. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +115 -185
  166. package/src/components/Modals/FilePreviewModal/MediaViewer.tsx +880 -0
  167. package/src/components/Modals/FilePreviewModal/useSaveFile.ts +207 -0
  168. package/src/components/Modals/MessageSearchModal/MessageSearchModal.tsx +56 -30
  169. package/src/components/VideoCalls/useCallKeep.ts +2 -4
  170. package/src/components/styled/MessageImage.tsx +3 -1
  171. package/src/components/styled/VideoMessage.tsx +5 -1
  172. package/src/context/MediaSourceContext.tsx +14 -0
  173. package/src/helpers/constants/MODAL_COMPONENTS.tsx +4 -1
  174. package/src/helpers/constants/MODAL_TYPES.ts +2 -0
  175. package/src/helpers/publicChatsEntry.ts +8 -7
  176. package/src/helpers/roomMedia.ts +126 -0
  177. package/src/i18n/strings.ts +36 -0
  178. package/src/main.ts +1 -1
  179. package/src/networking/api-requests/rooms.api.ts +13 -12
  180. package/src/networking/callTokenStanza.ts +10 -1
  181. package/src/push/sealedPushTask.ts +34 -1
  182. package/src/types/models/modal.model.ts +16 -0
  183. package/src/types/types.ts +16 -0
  184. package/src/version.ts +1 -1
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactRedux = require("react-redux");
10
+ var _ProfileImagePlaceholder = require("../../MainComponents/ProfileImagePlaceholder");
11
+ var _useLeaveRoom = require("../../../hooks/useLeaveRoom");
12
+ var _useFileToken = require("../../../hooks/useFileToken");
13
+ var _secureFileUrl = require("../../../helpers/secureFileUrl");
14
+ var _useTheme = require("../../../hooks/useTheme");
15
+ var _useT = require("../../../i18n/useT");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ 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); }
18
+ /** @format */
19
+
20
+ /**
21
+ * Telegram-style confirmation in front of every Leave: the chat's avatar and
22
+ * name, the question, Cancel and a red Leave. The leave itself runs here, so
23
+ * the card stays up with a spinner until the server answers and a failure is
24
+ * reported over it instead of after it has gone.
25
+ */
26
+ const LeaveChatModal = ({
27
+ roomJid,
28
+ onClose,
29
+ onLeft
30
+ }) => {
31
+ const t = (0, _useT.useT)();
32
+ const theme = (0, _useTheme.useTheme)();
33
+ const styles = (0, _react.useMemo)(() => createStyles(theme), [theme]);
34
+ const fileToken = (0, _useFileToken.useFileToken)();
35
+ const leaveRoom = (0, _useLeaveRoom.useLeaveRoom)();
36
+ const room = (0, _reactRedux.useSelector)(state => roomJid ? state.rooms.rooms?.[roomJid] : undefined);
37
+ const [leaving, setLeaving] = (0, _react.useState)(false);
38
+ const name = room?.title || room?.name || '';
39
+ const close = () => {
40
+ if (!leaving) {
41
+ onClose();
42
+ }
43
+ };
44
+ const confirm = async () => {
45
+ if (!roomJid || leaving) {
46
+ return;
47
+ }
48
+ setLeaving(true);
49
+ const ok = await leaveRoom(roomJid);
50
+ setLeaving(false);
51
+ if (!ok) {
52
+ _reactNative.Alert.alert(t('toast.error'), t('toast.leaveFailed'));
53
+ return;
54
+ }
55
+ onLeft?.(roomJid);
56
+ onClose();
57
+ };
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
59
+ transparent: true,
60
+ visible: roomJid !== null,
61
+ animationType: "fade",
62
+ onRequestClose: close,
63
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
64
+ style: styles.backdrop,
65
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
66
+ testID: "leave-backdrop",
67
+ style: _reactNative.StyleSheet.absoluteFill,
68
+ activeOpacity: 1,
69
+ onPress: close
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
71
+ style: styles.card,
72
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
73
+ style: styles.header,
74
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileImagePlaceholder.ProfileImagePlaceholder, {
75
+ name: name,
76
+ size: 40,
77
+ icon: (0, _secureFileUrl.appendFileToken)(room?.icon, fileToken),
78
+ disableOverlay: true
79
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
80
+ style: styles.title,
81
+ numberOfLines: 1,
82
+ children: t('modal.leaveChat.title')
83
+ })]
84
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
85
+ style: styles.description,
86
+ children: name ? t('modal.leaveChat.descriptionNamed', {
87
+ name
88
+ }) : t('modal.leaveChat.description')
89
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
90
+ style: styles.buttons,
91
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
92
+ testID: "leave-cancel",
93
+ activeOpacity: 0.7,
94
+ disabled: leaving,
95
+ style: [styles.button, styles.cancel],
96
+ onPress: close,
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
98
+ style: styles.cancelLabel,
99
+ children: t('action.cancel')
100
+ })
101
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
102
+ testID: "leave-confirm",
103
+ activeOpacity: 0.7,
104
+ disabled: leaving,
105
+ style: [styles.button, {
106
+ backgroundColor: theme.danger
107
+ }],
108
+ onPress: confirm,
109
+ children: leaving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
110
+ color: theme.textOnPrimary
111
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
112
+ style: styles.leaveLabel,
113
+ children: t('action.leave')
114
+ })
115
+ })]
116
+ })]
117
+ })]
118
+ })
119
+ });
120
+ };
121
+ const createStyles = theme => _reactNative.StyleSheet.create({
122
+ backdrop: {
123
+ flex: 1,
124
+ backgroundColor: theme.overlay,
125
+ alignItems: 'center',
126
+ justifyContent: 'center',
127
+ padding: 24
128
+ },
129
+ card: {
130
+ width: '100%',
131
+ maxWidth: 400,
132
+ borderRadius: 16,
133
+ backgroundColor: theme.surface,
134
+ padding: 20
135
+ },
136
+ header: {
137
+ flexDirection: 'row',
138
+ alignItems: 'center',
139
+ gap: 12,
140
+ marginBottom: 12
141
+ },
142
+ title: {
143
+ flex: 1,
144
+ fontSize: 18,
145
+ fontWeight: '600',
146
+ color: theme.text
147
+ },
148
+ description: {
149
+ fontSize: 15,
150
+ lineHeight: 21,
151
+ color: theme.text
152
+ },
153
+ buttons: {
154
+ flexDirection: 'row',
155
+ gap: 12,
156
+ marginTop: 20
157
+ },
158
+ button: {
159
+ flex: 1,
160
+ height: 44,
161
+ borderRadius: 12,
162
+ alignItems: 'center',
163
+ justifyContent: 'center'
164
+ },
165
+ cancel: {
166
+ backgroundColor: theme.surfaceSecondary
167
+ },
168
+ cancelLabel: {
169
+ fontSize: 16,
170
+ fontWeight: '500',
171
+ color: theme.text
172
+ },
173
+ leaveLabel: {
174
+ fontSize: 16,
175
+ fontWeight: '600',
176
+ color: theme.textOnPrimary
177
+ }
178
+ });
179
+ var _default = exports.default = LeaveChatModal;
180
+ //# sourceMappingURL=LeaveChatModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_ProfileImagePlaceholder","_useLeaveRoom","_useFileToken","_secureFileUrl","_useTheme","_useT","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LeaveChatModal","roomJid","onClose","onLeft","useT","theme","useTheme","styles","useMemo","createStyles","fileToken","useFileToken","leaveRoom","useLeaveRoom","room","useSelector","state","rooms","undefined","leaving","setLeaving","useState","name","title","close","confirm","ok","Alert","alert","jsx","Modal","transparent","visible","animationType","onRequestClose","children","jsxs","View","style","backdrop","TouchableOpacity","testID","StyleSheet","absoluteFill","activeOpacity","onPress","card","header","ProfileImagePlaceholder","size","icon","appendFileToken","disableOverlay","Text","numberOfLines","description","buttons","disabled","button","cancel","cancelLabel","backgroundColor","danger","ActivityIndicator","color","textOnPrimary","leaveLabel","create","flex","overlay","alignItems","justifyContent","padding","width","maxWidth","borderRadius","surface","flexDirection","gap","marginBottom","fontSize","fontWeight","text","lineHeight","marginTop","height","surfaceSecondary","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/ChatProfileModal/LeaveChatModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.FilePreview = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _secureFileUrl = require("../../../helpers/secureFileUrl");
9
9
  var _styledModalComponents = require("../styledModalComponents");
@@ -16,11 +16,14 @@ var _reactRedux = require("react-redux");
16
16
  var _Button = _interopRequireDefault(require("../../styled/Button"));
17
17
  var _MediaComponents = require("../../styled/StyledInputComponents/MediaComponents");
18
18
  var _chatSettingsSlice = require("../../../roomStore/chatSettingsSlice");
19
+ var _MediaViewer = _interopRequireDefault(require("./MediaViewer"));
20
+ var _useSaveFile = require("./useSaveFile");
21
+ var _roomMedia = require("../../../helpers/roomMedia");
22
+ var _loadRoomHistory = require("../../../helpers/loadRoomHistory");
23
+ var _clientRegistry = require("../../../utils/clientRegistry");
24
+ var _useFileToken = require("../../../hooks/useFileToken");
19
25
  var _reactNative = require("react-native");
20
26
  var _expoVideo = require("expo-video");
21
- var FileSystem = _interopRequireWildcard(require("expo-file-system/legacy"));
22
- var _mediaLibraryRuntime = require("../../../helpers/mediaLibraryRuntime");
23
- var _ToastContext = require("../../../context/ToastContext");
24
27
  var _useT = require("../../../i18n/useT");
25
28
  var _PdfView = _interopRequireDefault(require("./PdfView"));
26
29
  var _DocumentViewer = _interopRequireDefault(require("./DocumentViewer"));
@@ -34,11 +37,11 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
34
37
  // MIME types Google's gview embed renders reliably. Everything else
35
38
  // falls through to the info-card so the user can still download.
36
39
  const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
37
- const isLocalFile = url => /^file:\/\//i.test(url || '');
38
- const fetchToCache = async (url, cachePath) => isLocalFile(url) ? {
39
- status: 200,
40
- uri: url
41
- } : FileSystem.downloadAsync((0, _secureFileUrl.withFileToken)(url), cachePath);
40
+ const isMedia = mime => !!mime && (mime.startsWith('image/') || mime.startsWith('video/'));
41
+
42
+ /** Older history pages the viewer asked for; one at a time per room. */
43
+ const historyInFlight = new Set();
44
+ const HISTORY_PAGE_SIZE = 30;
42
45
  const isGviewPreviewable = mime => {
43
46
  if (!mime) {
44
47
  return false;
@@ -231,13 +234,82 @@ const ModalVideo = ({
231
234
  })]
232
235
  });
233
236
  };
237
+ /** The viewer on the store's `activeFile`, as opened from a message bubble. */
234
238
  const FilePreviewModal = ({
235
239
  handleCloseModal
236
240
  }) => {
237
241
  const dispatch = (0, _reactRedux.useDispatch)();
242
+ const store = (0, _reactRedux.useStore)();
238
243
  const {
239
- showToast
240
- } = (0, _ToastContext.useToast)();
244
+ activeFile
245
+ } = (0, _reactRedux.useSelector)(state => state.chatSettingStore);
246
+ const {
247
+ user,
248
+ config
249
+ } = (0, _useChatSettingState.useChatSettingState)();
250
+ const fileToken = (0, _useFileToken.useFileToken)();
251
+ const roomJid = activeFile?.source?.roomJid;
252
+ const room = (0, _reactRedux.useSelector)(state => roomJid ? state.rooms.rooms?.[roomJid] : undefined);
253
+ const messages = room?.messages;
254
+
255
+ // A picture or video opened from a bubble pages through the whole chat;
256
+ // anything not in the loaded history keeps what it was opened with.
257
+ const file = (0, _react.useMemo)(() => {
258
+ if (!activeFile?.fileURL || !isMedia(activeFile.mimetype)) {
259
+ return activeFile;
260
+ }
261
+ return (0, _roomMedia.withChatSiblings)(activeFile, messages, {
262
+ me: user,
263
+ fileToken,
264
+ interactive: !config?.disableInteractions,
265
+ repliesOn: !config?.disableReplies
266
+ }) ?? activeFile;
267
+ }, [activeFile, messages, user, fileToken, config?.disableInteractions, config?.disableReplies]);
268
+
269
+ // On the oldest loaded file, ask for an older page: what it brings in
270
+ // shows up to the left of it.
271
+ const atOldest = !!file?.siblings && file.index === 0 && !!roomJid;
272
+ const historyComplete = !!room?.historyComplete;
273
+ (0, _react.useEffect)(() => {
274
+ if (!atOldest || historyComplete || !roomJid) {
275
+ return;
276
+ }
277
+ (0, _loadRoomHistory.loadRoomHistory)({
278
+ client: (0, _clientRegistry.getGlobalXmppClient)(),
279
+ room: store.getState().rooms.rooms?.[roomJid],
280
+ inFlight: historyInFlight,
281
+ chatJID: roomJid,
282
+ max: HISTORY_PAGE_SIZE
283
+ });
284
+ }, [atOldest, historyComplete, roomJid, store]);
285
+ if (!file?.fileURL) {
286
+ return null;
287
+ }
288
+ const closeModal = () => {
289
+ dispatch((0, _chatSettingsSlice.setActiveFile)({
290
+ fileName: '',
291
+ fileURL: '',
292
+ mimetype: ''
293
+ }));
294
+ handleCloseModal?.();
295
+ };
296
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FilePreview, {
297
+ file: file,
298
+ onClose: closeModal,
299
+ onChangeFile: next => dispatch((0, _chatSettingsSlice.setActiveFile)(next))
300
+ });
301
+ };
302
+ /**
303
+ * One file, full screen: pictures and videos in the Telegram-style
304
+ * MediaViewer, everything else (documents, PDFs, voice notes) on the
305
+ * plain preview page with the save button in its header.
306
+ */
307
+ const FilePreview = ({
308
+ file: activeFile,
309
+ onClose,
310
+ onChangeFile,
311
+ onReplyOpened
312
+ }) => {
241
313
  const t = (0, _useT.useT)();
242
314
  const {
243
315
  config
@@ -247,16 +319,6 @@ const FilePreviewModal = ({
247
319
  // dark sits them on the secondary surface.
248
320
  const cardBackground = theme.dark ? theme.surfaceSecondary : '#FFF8ED';
249
321
 
250
- // Cache the SAF directory the user granted so saving several documents
251
- // in a row doesn't re-prompt for a folder every time (Android only).
252
- const safDirUriRef = (0, _react.useRef)(null);
253
- const {
254
- activeFile
255
- } = (0, _reactRedux.useSelector)(state => state.chatSettingStore);
256
- if (!activeFile) {
257
- return null;
258
- }
259
-
260
322
  // Bug #40: prefer the sender's original name over the server's stored
261
323
  // hash name everywhere this modal shows or saves/shares the file.
262
324
  // Sanitized so it's safe to use as an actual path segment (strips path
@@ -267,135 +329,8 @@ const FilePreviewModal = ({
267
329
  location: activeFile.fileURL,
268
330
  mimetype: activeFile.mimetype
269
331
  }));
270
- const requestStoragePermission = async () => {
271
- const MediaLibrary = (0, _mediaLibraryRuntime.getMediaLibrary)();
272
- if (!MediaLibrary?.requestPermissionsAsync) {
273
- return false;
274
- }
275
- try {
276
- const {
277
- status
278
- } = await MediaLibrary.requestPermissionsAsync();
279
- return status === 'granted';
280
- } catch (error) {
281
- console.error('Error requesting permission:', error);
282
- return false;
283
- }
284
- };
285
- const saveToGallery = async () => {
286
- const hasPermission = await requestStoragePermission();
287
- if (!hasPermission) {
288
- _reactNative.Alert.alert('Permission Denied', 'Storage permission is required to save files to the gallery.');
289
- return;
290
- }
291
- try {
292
- const filePath = FileSystem.cacheDirectory + displayFileName;
293
- const download = await fetchToCache(activeFile.fileURL, filePath);
294
- if (download.status === 200) {
295
- await (0, _mediaLibraryRuntime.getMediaLibrary)()?.saveToLibraryAsync(download.uri);
296
- showToast({
297
- id: Date.now().toString(),
298
- title: t('toast.successTitle'),
299
- message: t('toast.saveSuccessful'),
300
- type: 'success'
301
- });
302
- } else {
303
- _reactNative.Alert.alert('Error', 'Failed to save the file.');
304
- }
305
- } catch (err) {
306
- _reactNative.Alert.alert('Error', `Failed to save the file: ${displayFileName}`);
307
- }
308
- };
309
-
310
- // Best-effort existing-name lookup for the Android SAF branch below: SAF
311
- // hands back content URIs, not plain names, so this decodes each one and
312
- // takes its last path segment. If the provider's URI shape doesn't match
313
- // what we expect, we fail open (empty set) rather than block the save -
314
- // worst case we skip de-duplication, we never crash the save flow.
315
- const listSafDirectoryNames = async (saf, dirUri) => {
316
- try {
317
- const uris = await saf.readDirectoryAsync(dirUri);
318
- const names = uris.map(uri => {
319
- try {
320
- const decoded = decodeURIComponent(uri);
321
- const last = decoded.split('/').pop() || '';
322
- return last.includes(':') ? last.split(':').pop() || '' : last;
323
- } catch {
324
- return '';
325
- }
326
- });
327
- return new Set(names.filter(Boolean));
328
- } catch {
329
- return new Set();
330
- }
331
- };
332
- const saveFileToDownloads = async () => {
333
- try {
334
- const filePath = FileSystem.cacheDirectory + displayFileName;
335
- const download = await fetchToCache(activeFile.fileURL, filePath);
336
- if (download.status !== 200) {
337
- _reactNative.Alert.alert('Error', 'Failed to save the file.');
338
- return;
339
- }
340
- if (_reactNative.Platform.OS === 'android') {
341
- const saf = FileSystem.StorageAccessFramework;
342
- let dirUri = safDirUriRef.current;
343
- if (!dirUri) {
344
- const perm = await saf.requestDirectoryPermissionsAsync();
345
- if (!perm.granted) {
346
- _reactNative.Alert.alert('Permission Denied', 'Storage permission is required to save the file.');
347
- return;
348
- }
349
- dirUri = perm.directoryUri;
350
- safDirUriRef.current = dirUri;
351
- }
352
-
353
- // Avoid silently overwriting a different attachment that happens
354
- // to share the same display name (common now that we prefer the
355
- // human-picked name over the unique server hash - bug #40) by
356
- // suffixing " (1)", " (2)", ... on a collision.
357
- const existingNames = await listSafDirectoryNames(saf, dirUri);
358
- const uniqueName = await (0, _getDisplayFileName.getUniqueFileName)(displayFileName, async candidate => existingNames.has(candidate));
359
- const baseName = uniqueName.replace(/\.[^/.]+$/, '');
360
- const mime = activeFile.mimetype || 'application/octet-stream';
361
- const base64 = await FileSystem.readAsStringAsync(download.uri, {
362
- encoding: FileSystem.EncodingType.Base64
363
- });
364
- const destUri = await saf.createFileAsync(dirUri, baseName, mime);
365
- await FileSystem.writeAsStringAsync(destUri, base64, {
366
- encoding: FileSystem.EncodingType.Base64
367
- });
368
- showToast({
369
- id: Date.now().toString(),
370
- title: t('toast.successTitle'),
371
- message: t('toast.saveSuccessful'),
372
- type: 'success'
373
- });
374
- return;
375
- }
376
-
377
- // iOS (and any non-Android): there is no app-writable "Downloads"
378
- // folder, and MediaLibrary only accepts images/videos — which is why
379
- // documents previously hit the success toast without ever being
380
- // saved. Present the system share sheet so the user can "Save to
381
- // Files", AirDrop, etc. The sheet itself is the confirmation (the
382
- // user may cancel), so we don't show a "Save successful" toast here.
383
- await _reactNative.Share.share({
384
- url: download.uri,
385
- title: displayFileName
386
- });
387
- } catch (err) {
388
- console.error('Error saving file:', err);
389
- _reactNative.Alert.alert('Error', 'Failed to save the file.');
390
- }
391
- };
392
- const saveClick = async () => {
393
- if (activeFile.mimetype.startsWith('image/') || activeFile.mimetype.startsWith('video/')) {
394
- await saveToGallery();
395
- } else {
396
- await saveFileToDownloads();
397
- }
398
- };
332
+ const saveFile = (0, _useSaveFile.useSaveFile)();
333
+ const saveClick = () => saveFile(activeFile);
399
334
 
400
335
  // An album opens with its siblings; the viewer pages through them.
401
336
  const albumSize = activeFile.siblings?.length ?? 0;
@@ -405,20 +340,22 @@ const FilePreviewModal = ({
405
340
  if (!target) {
406
341
  return;
407
342
  }
408
- dispatch((0, _chatSettingsSlice.setActiveFile)({
343
+ onChangeFile({
409
344
  ...target,
410
345
  siblings: activeFile.siblings,
411
346
  index: next
412
- }));
413
- };
414
- const closeModal = () => {
415
- dispatch((0, _chatSettingsSlice.setActiveFile)({
416
- fileName: '',
417
- fileURL: '',
418
- mimetype: ''
419
- }));
420
- handleCloseModal?.();
347
+ });
421
348
  };
349
+ const closeModal = onClose;
350
+ if (activeFile.mimetype.startsWith('image/') || activeFile.mimetype.startsWith('video/')) {
351
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaViewer.default, {
352
+ file: activeFile,
353
+ onClose: onClose,
354
+ onPage: goToSibling,
355
+ onSave: saveClick,
356
+ onReplyOpened: onReplyOpened
357
+ });
358
+ }
422
359
 
423
360
  // NOTE: plain computed value, NOT useMemo. It sits AFTER the
424
361
  // `if (!activeFile) return` guard above, so as a hook it would run
@@ -501,7 +438,7 @@ const FilePreviewModal = ({
501
438
  waveForm: activeFile.waveForm
502
439
  })]
503
440
  });
504
- case activeFile.mimetype === 'application/pdf' && !(_reactNative.Platform.OS === 'android' && isLocalFile(activeFile.fileURL)):
441
+ case activeFile.mimetype === 'application/pdf' && !(_reactNative.Platform.OS === 'android' && (0, _useSaveFile.isLocalFile)(activeFile.fileURL)):
505
442
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PdfView.default, {
506
443
  pdfUrl: (0, _secureFileUrl.withFileToken)(activeFile.fileURL)
507
444
  });
@@ -510,7 +447,7 @@ const FilePreviewModal = ({
510
447
  // Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
511
448
  // .txt / .csv / .rtf) → render inline via Google's gview embed
512
449
  // — fixes the "blank preview" complaint for docs (bug #9).
513
- if (isGviewPreviewable(activeFile.mimetype) && !isLocalFile(activeFile.fileURL)) {
450
+ if (isGviewPreviewable(activeFile.mimetype) && !(0, _useSaveFile.isLocalFile)(activeFile.fileURL)) {
514
451
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DocumentViewer.default, {
515
452
  url: activeFile.fileURL,
516
453
  fileName: displayFileName
@@ -619,6 +556,7 @@ const FilePreviewModal = ({
619
556
  })]
620
557
  });
621
558
  };
559
+ exports.FilePreview = FilePreview;
622
560
  const styles = _reactNative.StyleSheet.create({
623
561
  playOverlay: {
624
562
  ..._reactNative.StyleSheet.absoluteFill,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_secureFileUrl","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_useChatSettingState","_useTheme","_typography","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoVideo","FileSystem","_mediaLibraryRuntime","_ToastContext","_useT","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_videoCache","_getDisplayFileName","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isLocalFile","url","test","fetchToCache","cachePath","status","uri","downloadAsync","withFileToken","isGviewPreviewable","mime","toLowerCase","split","trim","ModalVideo","mimetype","theme","useTheme","remote","isRemoteUrl","source","setSource","useState","showPlay","setShowPlay","progress","setProgress","failed","setFailed","wantsPlay","useRef","downloadStarted","mounted","useEffect","current","download","useCallback","downloadVideoToCache","fraction","then","localUri","catch","err","console","warn","active","findCachedVideo","cached","isStreamingUnsupported","player","useVideoPlayer","p","muted","play","playing","addListener","isPlaying","event","markStreamingUnsupported","remove","handlePlay","jsxs","View","style","styles","videoMessage","children","jsx","Text","fontSize","fontWeight","color","text","textSecondary","textAlign","loading","flex","width","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","playOverlay","pointerEvents","playButton","ActivityIndicator","Math","round","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFill","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","useT","config","useChatSettingState","cardBackground","dark","surfaceSecondary","safDirUriRef","activeFile","useSelector","state","chatSettingStore","displayFileName","sanitizeFileNameForPath","getDisplayFileName","originalName","fileName","location","fileURL","requestStoragePermission","MediaLibrary","getMediaLibrary","requestPermissionsAsync","error","saveToGallery","hasPermission","Alert","alert","filePath","cacheDirectory","saveToLibraryAsync","id","Date","now","toString","title","message","type","listSafDirectoryNames","saf","dirUri","uris","readDirectoryAsync","names","map","decoded","decodeURIComponent","last","pop","includes","filter","Boolean","saveFileToDownloads","Platform","OS","StorageAccessFramework","perm","requestDirectoryPermissionsAsync","granted","directoryUri","existingNames","uniqueName","getUniqueFileName","candidate","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","Share","share","saveClick","startsWith","albumSize","siblings","length","albumIndex","index","goToSibling","next","target","setActiveFile","closeModal","getMediaComponent","FullScreenImage","resizeMode","accessibilityLabel","padding","gap","borderRadius","src","mimeType","duration","waveForm","isLikelyAudio","pdfUrl","marginTop","ModalContainerFullScreen","headerTitle","titleStyle","chatTextStyle","typography","profile","screenTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","albumNav","testID","accessibilityRole","disabled","hitSlop","albumArrow","albumArrowOff","albumArrowText","total","create","alignItems","flexDirection","opacity","lineHeight","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_secureFileUrl","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_useChatSettingState","_useTheme","_typography","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_MediaViewer","_useSaveFile","_roomMedia","_loadRoomHistory","_clientRegistry","_useFileToken","_reactNative","_expoVideo","_useT","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_videoCache","_getDisplayFileName","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isMedia","mime","startsWith","historyInFlight","HISTORY_PAGE_SIZE","isGviewPreviewable","toLowerCase","split","trim","ModalVideo","uri","mimetype","theme","useTheme","remote","isRemoteUrl","source","setSource","useState","showPlay","setShowPlay","progress","setProgress","failed","setFailed","wantsPlay","useRef","downloadStarted","mounted","useEffect","current","download","useCallback","downloadVideoToCache","fraction","then","localUri","catch","err","console","warn","active","findCachedVideo","cached","isStreamingUnsupported","player","useVideoPlayer","p","muted","play","playing","addListener","isPlaying","status","event","markStreamingUnsupported","remove","handlePlay","jsxs","View","style","styles","videoMessage","children","jsx","Text","fontSize","fontWeight","color","text","textSecondary","textAlign","loading","flex","width","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","playOverlay","pointerEvents","playButton","ActivityIndicator","Math","round","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFill","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","store","useStore","activeFile","useSelector","state","chatSettingStore","user","config","useChatSettingState","fileToken","useFileToken","roomJid","room","rooms","undefined","messages","file","useMemo","fileURL","withChatSiblings","me","interactive","disableInteractions","repliesOn","disableReplies","atOldest","siblings","index","historyComplete","loadRoomHistory","client","getGlobalXmppClient","getState","inFlight","chatJID","max","closeModal","setActiveFile","fileName","FilePreview","onClose","onChangeFile","next","onReplyOpened","useT","cardBackground","dark","surfaceSecondary","displayFileName","sanitizeFileNameForPath","getDisplayFileName","originalName","location","saveFile","useSaveFile","saveClick","albumSize","length","albumIndex","goToSibling","target","onPage","onSave","getMediaComponent","FullScreenImage","withFileToken","resizeMode","accessibilityLabel","includes","padding","gap","borderRadius","src","mimeType","duration","waveForm","isLikelyAudio","Platform","OS","isLocalFile","pdfUrl","url","marginTop","ModalContainerFullScreen","headerTitle","titleStyle","chatTextStyle","typography","profile","screenTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","albumNav","testID","accessibilityRole","disabled","hitSlop","albumArrow","albumArrowOff","albumArrowText","total","exports","create","alignItems","flexDirection","opacity","lineHeight","_default"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}