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