@ethora/chat-component-rn 26.5.11 → 26.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +1 -0
- package/lib/commonjs/assets/icons.js +7 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +58 -22
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +288 -5
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -15
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +23 -3
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +5 -44
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +36 -3
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/GViewWebView.js +149 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/GViewWebView.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +4 -17
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +19 -33
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +643 -66
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/Button.js +9 -3
- package/lib/commonjs/components/styled/Button.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +239 -40
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +31 -18
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +47 -5
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +68 -2
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +5 -3
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +70 -3
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +6 -3
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +26 -1
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +10 -10
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +65 -4
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +7 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +59 -23
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +290 -7
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +24 -15
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +24 -4
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +5 -45
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +36 -3
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/GViewWebView.js +144 -0
- package/lib/module/components/Modals/FilePreviewModal/GViewWebView.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +3 -17
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +20 -34
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +644 -67
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/Button.js +9 -3
- package/lib/module/components/styled/Button.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +240 -42
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +31 -18
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +47 -5
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/context/xmppProvider.js +70 -4
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +4 -2
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +67 -3
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/hooks/useEventHandlers.js +1 -1
- package/lib/module/hooks/useEventHandlers.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +6 -3
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/networking/xmppClient.js +26 -1
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +10 -10
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +63 -3
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +0 -7
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/GViewWebView.d.ts +8 -0
- package/lib/typescript/components/Modals/FilePreviewModal/GViewWebView.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts +8 -2
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/Button.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +5 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts +5 -0
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +3 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +31 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +18 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/modal.model.d.ts +3 -0
- package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +15 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/assets/icons.tsx +30 -25
- package/src/components/MainComponents/ChatRoom.tsx +61 -23
- package/src/components/MainComponents/MediaMessage.tsx +295 -5
- package/src/components/MainComponents/ReduxWrapper.tsx +23 -9
- package/src/components/MessageBubble/MessageInteractions.tsx +35 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +3 -40
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +39 -3
- package/src/components/Modals/FilePreviewModal/GViewWebView.tsx +142 -0
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -18
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +20 -35
- package/src/components/styled/AudioMessage.tsx +724 -59
- package/src/components/styled/Button.tsx +20 -11
- package/src/components/styled/SendInput.tsx +255 -46
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +29 -18
- package/src/components/styled/UnsupportedType.tsx +60 -6
- package/src/context/xmppProvider.tsx +61 -3
- package/src/helpers/keyboardLayout.ts +5 -1
- package/src/helpers/mimeToExtension.ts +116 -2
- package/src/hooks/useEventHandlers.tsx +1 -1
- package/src/hooks/useSendMessage.tsx +12 -6
- package/src/networking/xmppClient.ts +24 -1
- package/src/roomStore/Middleware/unreadMidlleware.tsx +11 -8
- package/src/roomStore/roomsSlice.ts +66 -2
- package/src/types/models/modal.model.ts +3 -0
- package/src/types/types.ts +32 -0
|
@@ -23,25 +23,34 @@ export const ReduxWrapper = /*#__PURE__*/React.memo(({
|
|
|
23
23
|
const memoizedConfig = useMemo(() => {
|
|
24
24
|
return props.config;
|
|
25
25
|
}, [props.config]);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
|
|
27
|
+
// Host apps that own their keyboard handling (their own
|
|
28
|
+
// KeyboardProvider + KeyboardAvoidingView around <Chat>) set
|
|
29
|
+
// `disableKeyboardAvoidingView` — drop the built-in KeyboardProvider
|
|
30
|
+
// here too so there aren't two nested providers (the second is part of
|
|
31
|
+
// the Android keyboard flicker in bug #6; ChatRoom drops the matching
|
|
32
|
+
// KeyboardAvoidingView under the same flag).
|
|
33
|
+
const ownKeyboardHandling = !memoizedConfig?.disableKeyboardAvoidingView;
|
|
34
|
+
const tree = /*#__PURE__*/_jsx(XmppProvider, {
|
|
35
|
+
config: memoizedConfig,
|
|
36
|
+
isVisible: props.isVisible,
|
|
37
|
+
children: /*#__PURE__*/_jsx(ToastProvider, {
|
|
38
|
+
children: /*#__PURE__*/_jsx(MessageNotificationProvider, {
|
|
39
|
+
config: memoizedConfig,
|
|
40
|
+
children: /*#__PURE__*/_jsx(LoginWrapper, {
|
|
31
41
|
config: memoizedConfig,
|
|
32
|
-
|
|
33
|
-
children: /*#__PURE__*/_jsx(ToastProvider, {
|
|
34
|
-
children: /*#__PURE__*/_jsx(MessageNotificationProvider, {
|
|
35
|
-
config: memoizedConfig,
|
|
36
|
-
children: /*#__PURE__*/_jsx(LoginWrapper, {
|
|
37
|
-
config: memoizedConfig,
|
|
38
|
-
...props
|
|
39
|
-
})
|
|
40
|
-
})
|
|
41
|
-
})
|
|
42
|
+
...props
|
|
42
43
|
})
|
|
43
44
|
})
|
|
44
45
|
})
|
|
45
46
|
});
|
|
47
|
+
return /*#__PURE__*/_jsx(Provider, {
|
|
48
|
+
store: store,
|
|
49
|
+
children: /*#__PURE__*/_jsx(SafeAreaProvider, {
|
|
50
|
+
children: ownKeyboardHandling ? /*#__PURE__*/_jsx(KeyboardProvider, {
|
|
51
|
+
children: tree
|
|
52
|
+
}) : tree
|
|
53
|
+
})
|
|
54
|
+
});
|
|
46
55
|
});
|
|
47
56
|
//# sourceMappingURL=ReduxWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","Provider","KeyboardProvider","SafeAreaProvider","store","XmppProvider","MessageNotificationProvider","ToastProvider","LoginWrapper","installPromiseRejectionTracker","jsx","_jsx","ReduxWrapper","memo","props","memoizedConfig","config","
|
|
1
|
+
{"version":3,"names":["React","useMemo","Provider","KeyboardProvider","SafeAreaProvider","store","XmppProvider","MessageNotificationProvider","ToastProvider","LoginWrapper","installPromiseRejectionTracker","jsx","_jsx","ReduxWrapper","memo","props","memoizedConfig","config","ownKeyboardHandling","disableKeyboardAvoidingView","tree","isVisible","children"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ReduxWrapper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,SAAQC,QAAQ,QAAO,aAAa;AACpC,SAAQC,gBAAgB,QAAO,kCAAkC;AACjE,SAAQC,gBAAgB,QAAO,gCAAgC;AAC/D,SAAQC,KAAK,QAAO,iBAAiB;AAErC,SAAQC,YAAY,QAAO,4BAA4B;AACvD,SAAQC,2BAA2B,QAAO,0CAA0C;AACpF,SAAQC,aAAa,QAAO,4BAA4B;AACxD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAO,4BAA4B;AACnC,SAAQC,8BAA8B,QAAO,4CAA4C;;AAEzF;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACAF,8BAA8B,CAAC,CAAC;AAahC,OAAO,MAAMG,YAAwC,gBAAGb,KAAK,CAACc,IAAI,CAChE,CAAC;EAAC,GAAGC;AAAK,CAAC,KAAK;EACd,MAAMC,cAAc,GAAGf,OAAO,CAAC,MAAM;IACnC,OAAOc,KAAK,CAACE,MAAM;EACrB,CAAC,EAAE,CAACF,KAAK,CAACE,MAAM,CAAC,CAAC;;EAElB;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,mBAAmB,GAAG,CAACF,cAAc,EAAEG,2BAA2B;EAExE,MAAMC,IAAI,gBACRR,IAAA,CAACN,YAAY;IAACW,MAAM,EAAED,cAAe;IAACK,SAAS,EAAEN,KAAK,CAACM,SAAU;IAAAC,QAAA,eAC/DV,IAAA,CAACJ,aAAa;MAAAc,QAAA,eACZV,IAAA,CAACL,2BAA2B;QAACU,MAAM,EAAED,cAAe;QAAAM,QAAA,eAClDV,IAAA,CAACH,YAAY;UAACQ,MAAM,EAAED,cAAe;UAAA,GAAKD;QAAK,CAAG;MAAC,CACxB;IAAC,CACjB;EAAC,CACJ,CACf;EAED,oBACEH,IAAA,CAACV,QAAQ;IAACG,KAAK,EAAEA,KAAM;IAAAiB,QAAA,eACrBV,IAAA,CAACR,gBAAgB;MAAAkB,QAAA,EACdJ,mBAAmB,gBAClBN,IAAA,CAACT,gBAAgB;QAAAmB,QAAA,EAAEF;MAAI,CAAmB,CAAC,GAE3CA;IACD,CACe;EAAC,CACX,CAAC;AAEf,CACF,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import React, { useEffect, useId, useMemo, useState } from 'react';
|
|
|
4
4
|
import { Delimeter, MenuItem } from '../ContextMenu/ContextMenuComponents';
|
|
5
5
|
import { useSelector } from 'react-redux';
|
|
6
6
|
import { MESSAGE_INTERACTIONS, MESSAGE_INTERACTIONS_ICONS } from '../../helpers/constants/MESSAGE_INTERACTIONS';
|
|
7
|
-
import { Text, StyleSheet, View, Pressable, Dimensions } from 'react-native';
|
|
7
|
+
import { Text, StyleSheet, View, Pressable, Dimensions, Keyboard } from 'react-native';
|
|
8
8
|
import * as Clipboard from 'expo-clipboard';
|
|
9
9
|
import { useToast } from '../../context/ToastContext';
|
|
10
10
|
import { useInteractionsOverlay } from './InteractionsOverlay';
|
|
@@ -34,6 +34,20 @@ const MessageInteractions = ({
|
|
|
34
34
|
width: 0,
|
|
35
35
|
height: 0
|
|
36
36
|
});
|
|
37
|
+
|
|
38
|
+
// Live keyboard height so the menu knows the REAL space below the message.
|
|
39
|
+
// Without this the position math used the full screen height and happily
|
|
40
|
+
// opened the menu downward into the area the keyboard now covers, hiding
|
|
41
|
+
// it under the keyboard / behind the input. Seeded from current metrics so
|
|
42
|
+
// an already-open keyboard (the common case: menu opened while typing) is
|
|
43
|
+
// accounted for on first render, not only after the next show event.
|
|
44
|
+
const [keyboardHeight, setKeyboardHeight] = useState(() => Keyboard.metrics?.()?.height ?? 0);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
const onShow = e => setKeyboardHeight(e?.endCoordinates?.height ?? 0);
|
|
47
|
+
const onHide = () => setKeyboardHeight(0);
|
|
48
|
+
const subs = [Keyboard.addListener('keyboardDidShow', onShow), Keyboard.addListener('keyboardDidChangeFrame', onShow), Keyboard.addListener('keyboardDidHide', onHide)];
|
|
49
|
+
return () => subs.forEach(s => s.remove());
|
|
50
|
+
}, []);
|
|
37
51
|
const handleMenuLayout = e => {
|
|
38
52
|
const {
|
|
39
53
|
width,
|
|
@@ -87,7 +101,13 @@ const MessageInteractions = ({
|
|
|
87
101
|
const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
|
|
88
102
|
const topReserve = 16;
|
|
89
103
|
const sideMargin = 8;
|
|
90
|
-
|
|
104
|
+
|
|
105
|
+
// The keyboard occludes the bottom `keyboardHeight` px, so the real
|
|
106
|
+
// visible bottom edge is above it. Measuring space below against this
|
|
107
|
+
// (not the full screen) is what makes the menu flip ABOVE the message
|
|
108
|
+
// when the keyboard is open and the message sits near the input.
|
|
109
|
+
const visibleBottom = screenHeight - keyboardHeight;
|
|
110
|
+
const spaceBelow = visibleBottom - position.bottom - bottomReserve;
|
|
91
111
|
const spaceAbove = position.top - topReserve;
|
|
92
112
|
let top;
|
|
93
113
|
if (spaceBelow >= menuSize.height) {
|
|
@@ -95,7 +115,7 @@ const MessageInteractions = ({
|
|
|
95
115
|
} else if (spaceAbove >= menuSize.height) {
|
|
96
116
|
top = position.top - menuSize.height;
|
|
97
117
|
} else {
|
|
98
|
-
top = Math.max(topReserve,
|
|
118
|
+
top = Math.max(topReserve, visibleBottom - menuSize.height - bottomReserve);
|
|
99
119
|
}
|
|
100
120
|
const leftMargin = position.left;
|
|
101
121
|
const rightMargin = screenWidth - position.right;
|
|
@@ -106,7 +126,7 @@ const MessageInteractions = ({
|
|
|
106
126
|
top,
|
|
107
127
|
left
|
|
108
128
|
};
|
|
109
|
-
}, [position, menuSize, config?.keyboardVerticalOffset]);
|
|
129
|
+
}, [position, menuSize, config?.keyboardVerticalOffset, keyboardHeight]);
|
|
110
130
|
|
|
111
131
|
// Window coords (memoPosition) → host-local coords. The overlay host
|
|
112
132
|
// sits below the status bar / header, so subtract its measured origin.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useId","useMemo","useState","Delimeter","MenuItem","useSelector","MESSAGE_INTERACTIONS","MESSAGE_INTERACTIONS_ICONS","Text","StyleSheet","View","Pressable","Dimensions","Clipboard","useToast","useInteractionsOverlay","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","present","dismiss","originX","originY","overlayId","config","state","chatSettingStore","menuSize","setMenuSize","width","height","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useId","useMemo","useState","Delimeter","MenuItem","useSelector","MESSAGE_INTERACTIONS","MESSAGE_INTERACTIONS_ICONS","Text","StyleSheet","View","Pressable","Dimensions","Keyboard","Clipboard","useToast","useInteractionsOverlay","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","present","dismiss","originX","originY","overlayId","config","state","chatSettingStore","menuSize","setMenuSize","width","height","keyboardHeight","setKeyboardHeight","metrics","onShow","e","endCoordinates","onHide","subs","addListener","forEach","s","remove","handleMenuLayout","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","undefined","top","bottom","left","opacity","screenWidth","screenHeight","get","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","visibleBottom","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","localPosition","content","disableInteractions","isDeleted","style","styles","overlayFill","children","absoluteFill","onPress","contextMenu","onLayout","body","menuText","COPY","isMediafile","EDIT","DELETE","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","minWidth","overflow","fontSize","color","includeFontPadding","textAlignVertical","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,35 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import GViewWebView from './GViewWebView';
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
/**
|
|
8
8
|
* Inline preview for office documents (DOC / DOCX / XLS / XLSX / PPT /
|
|
9
9
|
* PPTX / TXT / RTF / CSV) and other non-PDF formats supported by
|
|
10
10
|
* Google's free gview rendering service.
|
|
11
11
|
*
|
|
12
|
-
* Strategy: embed `https://docs.google.com/gview?url=<encoded>&embedded=true`
|
|
13
|
-
* inside a WebView. Google fetches the doc from its public URL and
|
|
14
|
-
* renders it to a viewable iframe — no client-side dependency on
|
|
15
|
-
* native office libraries, no extra peer dep. Works for any backend
|
|
16
|
-
* whose file URLs are publicly reachable (which Ethora's `/files/`
|
|
17
|
-
* already are — they're CDN URLs returned in `item.location`).
|
|
18
12
|
*
|
|
19
13
|
* Limitations (documented for the integrator):
|
|
20
14
|
* - Requires public URL — won't work for auth-gated downloads.
|
|
21
15
|
* - First load can take 2-5s on slow networks.
|
|
22
16
|
* - Read-only — no editing, no print/share buttons.
|
|
23
17
|
*
|
|
24
|
-
* For PDFs use the existing PdfViewer (downloads then renders locally).
|
|
25
18
|
*/
|
|
26
19
|
const DocumentViewer = ({
|
|
27
20
|
url,
|
|
28
21
|
fileName
|
|
29
22
|
}) => {
|
|
30
|
-
const [loaded, setLoaded] = useState(false);
|
|
31
23
|
const [errored, setErrored] = useState(false);
|
|
32
|
-
const viewerUrl = `https://docs.google.com/gview?url=${encodeURIComponent(url)}&embedded=true`;
|
|
33
24
|
if (errored) {
|
|
34
25
|
return /*#__PURE__*/_jsxs(View, {
|
|
35
26
|
style: styles.center,
|
|
@@ -42,44 +33,13 @@ const DocumentViewer = ({
|
|
|
42
33
|
})]
|
|
43
34
|
});
|
|
44
35
|
}
|
|
45
|
-
return /*#__PURE__*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
source: {
|
|
49
|
-
uri: viewerUrl
|
|
50
|
-
},
|
|
51
|
-
style: styles.webview,
|
|
52
|
-
originWhitelist: ['*'],
|
|
53
|
-
startInLoadingState: true,
|
|
54
|
-
onLoadEnd: () => setLoaded(true),
|
|
55
|
-
onError: () => setErrored(true),
|
|
56
|
-
onHttpError: () => setErrored(true)
|
|
57
|
-
}), !loaded && /*#__PURE__*/_jsx(View, {
|
|
58
|
-
style: styles.loadingOverlay,
|
|
59
|
-
pointerEvents: "none",
|
|
60
|
-
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
61
|
-
size: "large"
|
|
62
|
-
})
|
|
63
|
-
})]
|
|
36
|
+
return /*#__PURE__*/_jsx(GViewWebView, {
|
|
37
|
+
url: url,
|
|
38
|
+
onError: () => setErrored(true)
|
|
64
39
|
});
|
|
65
40
|
};
|
|
66
41
|
export default DocumentViewer;
|
|
67
42
|
const styles = StyleSheet.create({
|
|
68
|
-
container: {
|
|
69
|
-
flex: 1,
|
|
70
|
-
width: '100%',
|
|
71
|
-
backgroundColor: '#fff'
|
|
72
|
-
},
|
|
73
|
-
webview: {
|
|
74
|
-
flex: 1,
|
|
75
|
-
backgroundColor: '#fff'
|
|
76
|
-
},
|
|
77
|
-
loadingOverlay: {
|
|
78
|
-
...StyleSheet.absoluteFillObject,
|
|
79
|
-
justifyContent: 'center',
|
|
80
|
-
alignItems: 'center',
|
|
81
|
-
backgroundColor: '#ffffff'
|
|
82
|
-
},
|
|
83
43
|
center: {
|
|
84
44
|
flex: 1,
|
|
85
45
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","
|
|
1
|
+
{"version":3,"names":["React","useState","StyleSheet","Text","View","GViewWebView","jsx","_jsx","jsxs","_jsxs","DocumentViewer","url","fileName","errored","setErrored","style","styles","center","children","errorTitle","errorBody","onError","create","flex","alignItems","justifyContent","padding","gap","fontSize","fontWeight","color","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/DocumentViewer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACrD,OAAOC,YAAY,MAAM,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAS1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAA6C,GAAGA,CAAC;EAAEC,GAAG;EAAEC;AAAS,CAAC,KAAK;EAC3E,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EAE7C,IAAIY,OAAO,EAAE;IACX,oBACEJ,KAAA,CAACL,IAAI;MAACW,KAAK,EAAEC,MAAM,CAACC,MAAO;MAAAC,QAAA,gBACzBX,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAEC,MAAM,CAACG,UAAW;QAAAD,QAAA,EAC5BN,QAAQ,IAAI;MAAU,CACnB,CAAC,eACPL,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAEC,MAAM,CAACI,SAAU;QAAAF,QAAA,EAAC;MAG/B,CAAM,CAAC;IAAA,CACH,CAAC;EAEX;EAEA,oBAAOX,IAAA,CAACF,YAAY;IAACM,GAAG,EAAEA,GAAI;IAACU,OAAO,EAAEA,CAAA,KAAMP,UAAU,CAAC,IAAI;EAAE,CAAE,CAAC;AACpE,CAAC;AAED,eAAeJ,cAAc;AAE7B,MAAMM,MAAM,GAAGd,UAAU,CAACoB,MAAM,CAAC;EAC/BL,MAAM,EAAE;IACNM,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE,EAAE;IACXC,GAAG,EAAE;EACP,CAAC;EACDR,UAAU,EAAE;IAAES,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAC/CT,SAAS,EAAE;IAAEU,KAAK,EAAE,MAAM;IAAEC,SAAS,EAAE;EAAS;AAClD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -203,11 +203,39 @@ const FilePreviewModal = ({
|
|
|
203
203
|
return /*#__PURE__*/_jsx(ModalVideo, {
|
|
204
204
|
uri: activeFile.fileURL
|
|
205
205
|
});
|
|
206
|
+
case activeFile.mimetype.includes('application/octet-stream'):
|
|
207
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
208
|
+
style: {
|
|
209
|
+
width: '100%',
|
|
210
|
+
padding: 20,
|
|
211
|
+
gap: 12,
|
|
212
|
+
backgroundColor: '#FFF8ED',
|
|
213
|
+
borderRadius: 16
|
|
214
|
+
},
|
|
215
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
216
|
+
style: {
|
|
217
|
+
fontSize: 16,
|
|
218
|
+
fontWeight: '600'
|
|
219
|
+
},
|
|
220
|
+
children: "Voice message"
|
|
221
|
+
}), /*#__PURE__*/_jsx(AudioMessage, {
|
|
222
|
+
src: activeFile.fileURL,
|
|
223
|
+
mimeType: activeFile.mimetype,
|
|
224
|
+
fileName: activeFile.fileName,
|
|
225
|
+
originalName: activeFile.originalName,
|
|
226
|
+
duration: activeFile.duration,
|
|
227
|
+
waveForm: activeFile.waveForm
|
|
228
|
+
})]
|
|
229
|
+
});
|
|
206
230
|
// Mirrors the MediaMessage heuristic: treat octet-stream voicemails
|
|
207
231
|
// with audio-shaped filenames / URLs as audio so the preview shows
|
|
208
232
|
// the player instead of an "Unsupported" card. Customer-reported
|
|
209
233
|
// #9 voicemail fix — see isLikelyAudio in mimeToExtension.ts.
|
|
210
|
-
case isLikelyAudio(activeFile.mimetype, activeFile.fileName, activeFile.fileURL
|
|
234
|
+
case isLikelyAudio(activeFile.mimetype, activeFile.fileName, activeFile.fileURL, {
|
|
235
|
+
duration: activeFile.duration,
|
|
236
|
+
waveForm: activeFile.waveForm,
|
|
237
|
+
originalName: activeFile.originalName
|
|
238
|
+
}):
|
|
211
239
|
return /*#__PURE__*/_jsxs(View, {
|
|
212
240
|
style: {
|
|
213
241
|
width: '100%',
|
|
@@ -221,9 +249,14 @@ const FilePreviewModal = ({
|
|
|
221
249
|
fontSize: 16,
|
|
222
250
|
fontWeight: '600'
|
|
223
251
|
},
|
|
224
|
-
children: ensureFilenameHasExtension(activeFile.fileName, activeFile.mimetype)
|
|
252
|
+
children: ensureFilenameHasExtension(activeFile.originalName || activeFile.fileName, activeFile.mimetype)
|
|
225
253
|
}), /*#__PURE__*/_jsx(AudioMessage, {
|
|
226
|
-
src: activeFile.fileURL
|
|
254
|
+
src: activeFile.fileURL,
|
|
255
|
+
mimeType: activeFile.mimetype,
|
|
256
|
+
fileName: activeFile.fileName,
|
|
257
|
+
originalName: activeFile.originalName,
|
|
258
|
+
duration: activeFile.duration,
|
|
259
|
+
waveForm: activeFile.waveForm
|
|
227
260
|
})]
|
|
228
261
|
});
|
|
229
262
|
case activeFile.mimetype === 'application/pdf':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","useVideoPlayer","VideoView","PlayIcon","FileSystem","MediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","ensureFilenameHasExtension","isLikelyAudio","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","activeOpacity","onPress","absoluteFillObject","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","activeFile","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","alert","fileName","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","OS","createAssetAsync","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","fontSize","fontWeight","src","pdfUrl","displayName","url","color","marginTop","headerTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SACEC,eAAe,EACfC,wBAAwB,QACnB,0BAA0B;AACjC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,oBAAoB,MAAM,yBAAyB;AAC1D,SAASC,WAAW,EAAEC,WAAW,QAAQ,aAAa;AACtD,OAAOC,MAAM,MAAM,qBAAqB;AAExC,SAASC,eAAe,QAAQ,oDAAoD;AACpF,SAASC,aAAa,QAAQ,sCAAsC;AACpE,SACEC,KAAK,EACLC,IAAI,EACJC,IAAI,EACJC,QAAQ,EACRC,gBAAgB,EAChBC,UAAU,QACL,cAAc;AACrB,SAASC,cAAc,EAAEC,SAAS,QAAQ,YAAY;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAO,KAAKC,UAAU,MAAM,yBAAyB;AACrD,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAClD,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,YAAY,MAAM,2BAA2B;AACpD,SAASC,0BAA0B,EAAEC,aAAa,QAAQ,kCAAkC;;AAE5F;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAS,CACxC,oBAAoB,EACpB,yEAAyE,EACzE,0BAA0B,EAC1B,mEAAmE,EACnE,+BAA+B,EAC/B,2EAA2E,EAC3E,YAAY,EACZ,UAAU,EACV,iBAAiB,CAClB,CAAC;AACF,MAAMC,kBAAkB,GAAIC,IAA+B,IAAK;EAC9D,IAAI,CAACA,IAAI,EAAE;IAAC,OAAO,KAAK;EAAC;EACzB,OAAOH,iBAAiB,CAACI,GAAG,CAACD,IAAI,CAACE,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAEC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAqC,GAAGA,CAAC;EAAEC;AAAI,CAAC,KAAK;EACzD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG5C,QAAQ,CAAC,IAAI,CAAC;EAE9C,MAAM6C,MAAM,GAAG7B,cAAc,CAAC0B,GAAG,EAAGI,CAAC,IAAK;IACxCA,CAAC,CAACC,KAAK,GAAG,KAAK;EACjB,CAAC,CAAC;EAEFhD,SAAS,CAAC,MAAM;IACd,MAAMiD,GAAG,GAAGH,MAAM,CAACI,WAAW,CAAC,eAAe,EAAE,CAAC;MAAEC;IAAU,CAAC,KAAK;MACjE,IAAIA,SAAS,EAAE;QAACN,WAAW,CAAC,KAAK,CAAC;MAAC;IACrC,CAAC,CAAC;IACF,OAAO,MAAMI,GAAG,CAACG,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACN,MAAM,CAAC,CAAC;EAEZ,MAAMO,UAAU,GAAGA,CAAA,KAAM;IACvBR,WAAW,CAAC,KAAK,CAAC;IAClBC,MAAM,CAACQ,IAAI,CAAC,CAAC;EACf,CAAC;EAED,oBACEvB,KAAA,CAAClB,IAAI;IAAC0C,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAO,CAAE;IAAAC,QAAA,gBACtC7B,IAAA,CAACX,SAAS;MACR4B,MAAM,EAAEA,MAAO;MACfS,KAAK,EAAE;QAAEC,IAAI,EAAE,CAAC;QAAEG,eAAe,EAAE;MAAc,CAAE;MACnDC,UAAU,EAAC,SAAS;MACpBC,cAAc;MACdC,WAAW,EAAC,aAAa;MACzBC,gBAAgB;IAAA,CACjB,CAAC,EAGDnB,QAAQ,iBACPf,IAAA,CAACd,gBAAgB;MACfiD,aAAa,EAAE,GAAI;MACnBC,OAAO,EAAEZ,UAAW;MACpBE,KAAK,EAAEvC,UAAU,CAACkD,kBAAmB;MAAAR,QAAA,eAErC7B,IAAA,CAAChB,IAAI;QAAC0C,KAAK,EAAEY,MAAM,CAACC,WAAY;QAAAV,QAAA,eAC9B7B,IAAA,CAAChB,IAAI;UAAC0C,KAAK,EAAEY,MAAM,CAACE,UAAW;UAAAX,QAAA,eAC7B7B,IAAA,CAACV,QAAQ;YAACsC,KAAK,EAAE,EAAG;YAACa,MAAM,EAAE;UAAG,CAAE;QAAC,CAC/B;MAAC,CACH;IAAC,CACS,CACnB;EAAA,CACG,CAAC;AAEX,CAAC;AAMD,MAAMC,gBAAiD,GAAGA,CAAC;EACzDC;AACF,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAGnE,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEoE;EAAU,CAAC,GAAGpD,QAAQ,CAAC,CAAC;EAEhC,MAAM;IAAEqD;EAAW,CAAC,GAAGpE,WAAW,CAC/BqE,KAAgB,IAAKA,KAAK,CAACC,gBAC9B,CAAC;EAED,IAAI,CAACF,UAAU,EAAE;IAAC,OAAO,IAAI;EAAC;EAE9B,MAAMG,wBAAwB,GAAG,MAAAA,CAAA,KAAY;IAC3C,IAAI;MACF,MAAM;QAAEC;MAAO,CAAC,GAAG,MAAM1D,YAAY,CAAC2D,uBAAuB,CAAC,CAAC;MAC/D,OAAOD,MAAM,KAAK,SAAS;IAC7B,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAME,aAAa,GAAG,MAAAA,CAAA,KAAY;IAChC,MAAMC,aAAa,GAAG,MAAMN,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAACM,aAAa,EAAE;MAClBzE,KAAK,CAAC0E,KAAK,CACT,mBAAmB,EACnB,8DACF,CAAC;MACD;IACF;IAEA,IAAI;MACF,MAAMC,QAAQ,GAAG5D,0BAA0B,CACzCiD,UAAU,CAACW,QAAQ,EACnBX,UAAU,CAACY,QACb,CAAC;MAED,MAAMC,QAAQ,GAAGpE,UAAU,CAACqE,cAAc,GAAGH,QAAQ;MACrD,MAAMI,QAAQ,GAAG,MAAMtE,UAAU,CAACuE,aAAa,CAAChB,UAAU,CAACiB,OAAO,EAAEJ,QAAQ,CAAC;MAE7E,IAAIE,QAAQ,CAACX,MAAM,KAAK,GAAG,EAAE;QAC3B,MAAM1D,YAAY,CAACwE,kBAAkB,CAACH,QAAQ,CAAC/C,GAAG,CAAC;QACnD+B,SAAS,CAAC;UACRoB,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UACzBC,KAAK,EAAE,SAAS;UAChBC,OAAO,EAAE,iBAAiB;UAC1BC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,CAAC,MAAM;QACLzF,KAAK,CAAC0E,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;MAClD;IACF,CAAC,CAAC,OAAOgB,GAAG,EAAE;MACZ1F,KAAK,CAAC0E,KAAK,CAAC,OAAO,EAAE,4BAA4BV,UAAU,CAACW,QAAQ,EAAE,CAAC;IACzE;EACF,CAAC;EAED,MAAMgB,mBAAmB,GAAG,MAAAA,CAAA,KAAY;IACtC,IAAI;MACF;MACA;MACA;MACA;MACA,MAAMhB,QAAQ,GAAG5D,0BAA0B,CACzCiD,UAAU,CAACW,QAAQ,EACnBX,UAAU,CAACY,QACb,CAAC;MACD,MAAMC,QAAQ,GAAGpE,UAAU,CAACqE,cAAc,GAAGH,QAAQ;MACrD,MAAMI,QAAQ,GAAG,MAAMtE,UAAU,CAACuE,aAAa,CAAChB,UAAU,CAACiB,OAAO,EAAEJ,QAAQ,CAAC;MAE7E,IAAIE,QAAQ,CAACX,MAAM,KAAK,GAAG,EAAE;QAC3B,IAAIjE,QAAQ,CAACyF,EAAE,KAAK,SAAS,EAAE;UAC7B,MAAMnB,aAAa,GAAG,MAAMN,wBAAwB,CAAC,CAAC;UACtD,IAAIM,aAAa,EAAE;YACjB,MAAM/D,YAAY,CAACmF,gBAAgB,CAACd,QAAQ,CAAC/C,GAAG,CAAC;UACnD;QACF;QACA+B,SAAS,CAAC;UACRoB,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UACzBC,KAAK,EAAE,SAAS;UAChBC,OAAO,EAAE,iBAAiB;UAC1BC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,CAAC,MAAM;QACLzF,KAAK,CAAC0E,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;MAClD;IACF,CAAC,CAAC,OAAOgB,GAAG,EAAE;MACZnB,OAAO,CAACD,KAAK,CAAC,oBAAoB,EAAEoB,GAAG,CAAC;MACxC1F,KAAK,CAAC0E,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAClD;EACF,CAAC;EAED,MAAMoB,SAAS,GAAG,MAAAA,CAAA,KAAY;IAC5B,IACE9B,UAAU,CAACY,QAAQ,CAACmB,UAAU,CAAC,QAAQ,CAAC,IACxC/B,UAAU,CAACY,QAAQ,CAACmB,UAAU,CAAC,QAAQ,CAAC,EACxC;MACA,MAAMvB,aAAa,CAAC,CAAC;IACvB,CAAC,MAAM;MACL,MAAMmB,mBAAmB,CAAC,CAAC;IAC7B;EACF,CAAC;EAED,MAAMK,UAAU,GAAGA,CAAA,KAAM;IACvBlC,QAAQ,CACN/D,aAAa,CAAC;MACZ4E,QAAQ,EAAE,EAAE;MACZM,OAAO,EAAE,EAAE;MACXL,QAAQ,EAAE;IACZ,CAAC,CACH,CAAC;IACDf,gBAAgB,GAAG,CAAC;EACtB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoC,iBAAkC,GAAG,CAAC,MAAM;IAChD,QAAQ,IAAI;MACV,KAAKjC,UAAU,CAACY,QAAQ,CAACmB,UAAU,CAAC,QAAQ,CAAC;QAC3C,oBACE7E,IAAA,CAACpB,eAAe;UACdoG,MAAM,EAAE;YACNlE,GAAG,EACDgC,UAAU,CAACiB,OAAO,IAClB;UACJ,CAAE;UACFkB,UAAU,EAAC,SAAS;UACpBC,kBAAkB,EAAEpC,UAAU,CAACW;QAAS,CACzC,CAAC;MAEN,KAAKX,UAAU,CAACY,QAAQ,CAACmB,UAAU,CAAC,QAAQ,CAAC;QAC3C,oBAAO7E,IAAA,CAACa,UAAU;UAACC,GAAG,EAAEgC,UAAU,CAACiB;QAAQ,CAAE,CAAC;MAChD;MACA;MACA;MACA;MACA,KAAKjE,aAAa,CAChBgD,UAAU,CAACY,QAAQ,EACnBZ,UAAU,CAACW,QAAQ,EACnBX,UAAU,CAACiB,OACb,CAAC;QACC,oBACE7D,KAAA,CAAClB,IAAI;UACH0C,KAAK,EAAE;YACLE,KAAK,EAAE,MAAM;YACbuD,OAAO,EAAE,EAAE;YACXC,GAAG,EAAE,EAAE;YACPtD,eAAe,EAAE,SAAS;YAC1BuD,YAAY,EAAE;UAChB,CAAE;UAAAxD,QAAA,gBAEF7B,IAAA,CAACjB,IAAI;YAAC2C,KAAK,EAAE;cAAE4D,QAAQ,EAAE,EAAE;cAAEC,UAAU,EAAE;YAAM,CAAE;YAAA1D,QAAA,EAC9ChC,0BAA0B,CACzBiD,UAAU,CAACW,QAAQ,EACnBX,UAAU,CAACY,QACb;UAAC,CACG,CAAC,eACP1D,IAAA,CAACJ,YAAY;YAAC4F,GAAG,EAAE1C,UAAU,CAACiB;UAAQ,CAAE,CAAC;QAAA,CACrC,CAAC;MAEX,KAAKjB,UAAU,CAACY,QAAQ,KAAK,iBAAiB;QAC5C,oBAAO1D,IAAA,CAACN,SAAS;UAAC+F,MAAM,EAAE3C,UAAU,CAACiB;QAAQ,CAAE,CAAC;MAClD;QAAS;UACP,MAAM2B,WAAW,GAAG7F,0BAA0B,CAC5CiD,UAAU,CAACW,QAAQ,EACnBX,UAAU,CAACY,QACb,CAAC;UACD;UACA;UACA;UACA,IAAInD,kBAAkB,CAACuC,UAAU,CAACY,QAAQ,CAAC,EAAE;YAC3C,oBACE1D,IAAA,CAACL,cAAc;cACbgG,GAAG,EAAE7C,UAAU,CAACiB,OAAQ;cACxBN,QAAQ,EAAEiC;YAAY,CACvB,CAAC;UAEN;UACA;UACA;UACA;UACA,oBACExF,KAAA,CAAClB,IAAI;YACH0C,KAAK,EAAE;cACLI,eAAe,EAAE,SAAS;cAC1BuD,YAAY,EAAE,EAAE;cAChBF,OAAO,EAAE,EAAE;cACXC,GAAG,EAAE;YACP,CAAE;YAAAvD,QAAA,gBAEF7B,IAAA,CAACjB,IAAI;cAAC2C,KAAK,EAAE;gBAAE4D,QAAQ,EAAE,EAAE;gBAAEC,UAAU,EAAE;cAAM,CAAE;cAAA1D,QAAA,EAC9C6D;YAAW,CACR,CAAC,eACP1F,IAAA,CAACjB,IAAI;cAAC2C,KAAK,EAAE;gBAAEkE,KAAK,EAAE;cAAO,CAAE;cAAA/D,QAAA,EAC5BiB,UAAU,CAACY,QAAQ,IAAI;YAAc,CAClC,CAAC,eACP1D,IAAA,CAACjB,IAAI;cAAC2C,KAAK,EAAE;gBAAEmE,SAAS,EAAE;cAAE,CAAE;cAAAhE,QAAA,EAAC;YAG/B,CAAM,CAAC;UAAA,CACH,CAAC;QAEX;IACF;EACF,CAAC,EAAE,CAAC;EAEJ,oBACE3B,KAAA,CAAC5B,wBAAwB;IAAAuD,QAAA,gBACvB7B,IAAA,CAACxB,oBAAoB;MACnBmE,gBAAgB,EAAEmC,UAAW;MAC7BgB,WAAW,EAAE,cAAe;MAC5BC,SAAS,eACP/F,IAAA,CAAAI,SAAA;QAAAyB,QAAA,eACE7B,IAAA,CAACrB,MAAM;UAACyD,OAAO,EAAEwC,SAAU;UAAA/C,QAAA,eACzB7B,IAAA,CAACzB,QAAQ,IAAE;QAAC,CACN;MAAC,CACT;IACH,CACF,CAAC,eAEFyB,IAAA,CAAC3B,eAAe;MACdqD,KAAK,EAAE;QACLsE,OAAO,EAAE,MAAM;QACfrE,IAAI,EAAE,CAAC;QACPsE,cAAc,EAAE,QAAQ;QACxB;QACA;QACA;QACA;QACAC,QAAQ,EAAE,SAAS;QACnBf,OAAO,EAAE,EAAE;QACXgB,aAAa,EAAE;MACjB,CAAE;MAAAtE,QAAA,EAEDkD;IAAiB,CACH,CAAC;EAAA,CAEM,CAAC;AAE/B,CAAC;AAED,MAAMzC,MAAM,GAAGnD,UAAU,CAACiH,MAAM,CAAC;EAC/B7D,WAAW,EAAE;IACX,GAAGpD,UAAU,CAACkD,kBAAkB;IAChC4D,cAAc,EAAE,QAAQ;IACxBI,UAAU,EAAE;EACd,CAAC;EACD7D,UAAU,EAAE;IACVZ,KAAK,EAAE,EAAE;IACTa,MAAM,EAAE,EAAE;IACV4C,YAAY,EAAE,EAAE;IAChBvD,eAAe,EAAE,qBAAqB;IACtCmE,cAAc,EAAE,QAAQ;IACxBI,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAe3D,gBAAgB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","useVideoPlayer","VideoView","PlayIcon","FileSystem","MediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","ensureFilenameHasExtension","isLikelyAudio","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","activeOpacity","onPress","absoluteFillObject","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","activeFile","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","alert","fileName","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","OS","createAssetAsync","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","includes","padding","gap","borderRadius","fontSize","fontWeight","src","mimeType","originalName","duration","waveForm","pdfUrl","displayName","url","color","marginTop","headerTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { ActivityIndicator, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { WebView } from 'react-native-webview';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
const MAX_ATTEMPTS = 6;
|
|
8
|
+
const LOAD_BUDGET_MS = 8000;
|
|
9
|
+
const ATTEMPT_TIMEOUT_MS = 3000;
|
|
10
|
+
const RENDER_POLLER = `
|
|
11
|
+
(function () {
|
|
12
|
+
if (window.__ethoraGviewProbe) { return; }
|
|
13
|
+
window.__ethoraGviewProbe = true;
|
|
14
|
+
var tries = 0;
|
|
15
|
+
function rendered() {
|
|
16
|
+
try {
|
|
17
|
+
var imgs = document.querySelectorAll('img');
|
|
18
|
+
for (var i = 0; i < imgs.length; i++) {
|
|
19
|
+
// naturalHeight is readable even for cross-origin images; gview's
|
|
20
|
+
// page images are tall, the preparing page has none.
|
|
21
|
+
if (imgs[i].naturalHeight > 80) { return true; }
|
|
22
|
+
}
|
|
23
|
+
// Some gview render paths paint pages into <canvas> instead.
|
|
24
|
+
var canvases = document.querySelectorAll('canvas');
|
|
25
|
+
for (var j = 0; j < canvases.length; j++) {
|
|
26
|
+
if (canvases[j].height > 80) { return true; }
|
|
27
|
+
}
|
|
28
|
+
var txt = ((document.body && document.body.innerText) || '').trim();
|
|
29
|
+
return txt.length > 80;
|
|
30
|
+
} catch (e) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function tick() {
|
|
35
|
+
tries++;
|
|
36
|
+
if (rendered()) {
|
|
37
|
+
try {
|
|
38
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ rendered: true }));
|
|
39
|
+
} catch (e) {}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (tries < 40) { setTimeout(tick, 500); }
|
|
43
|
+
}
|
|
44
|
+
tick();
|
|
45
|
+
})();
|
|
46
|
+
true;
|
|
47
|
+
`;
|
|
48
|
+
const GViewWebView = ({
|
|
49
|
+
url,
|
|
50
|
+
onError
|
|
51
|
+
}) => {
|
|
52
|
+
const [attempt, setAttempt] = useState(0);
|
|
53
|
+
const [ready, setReady] = useState(false);
|
|
54
|
+
const readyRef = useRef(false);
|
|
55
|
+
const attemptRef = useRef(0);
|
|
56
|
+
const watchdog = useRef(null);
|
|
57
|
+
const viewerUrl = `https://docs.google.com/gview?embedded=true&url=${encodeURIComponent(url)}`;
|
|
58
|
+
const clearWatchdog = () => {
|
|
59
|
+
if (watchdog.current) {
|
|
60
|
+
clearTimeout(watchdog.current);
|
|
61
|
+
watchdog.current = null;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const giveUpAttempt = useCallback(() => {
|
|
65
|
+
if (readyRef.current) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (attemptRef.current < MAX_ATTEMPTS - 1) {
|
|
69
|
+
attemptRef.current += 1;
|
|
70
|
+
setAttempt(attemptRef.current);
|
|
71
|
+
} else {
|
|
72
|
+
readyRef.current = true;
|
|
73
|
+
setReady(true);
|
|
74
|
+
}
|
|
75
|
+
}, []);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
if (readyRef.current) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
clearWatchdog();
|
|
81
|
+
watchdog.current = setTimeout(giveUpAttempt, LOAD_BUDGET_MS);
|
|
82
|
+
return clearWatchdog;
|
|
83
|
+
}, [attempt, giveUpAttempt]);
|
|
84
|
+
const handleLoadEnd = useCallback(() => {
|
|
85
|
+
if (readyRef.current) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
clearWatchdog();
|
|
89
|
+
watchdog.current = setTimeout(giveUpAttempt, ATTEMPT_TIMEOUT_MS);
|
|
90
|
+
}, [giveUpAttempt]);
|
|
91
|
+
const handleMessage = useCallback(e => {
|
|
92
|
+
let isRendered = false;
|
|
93
|
+
try {
|
|
94
|
+
isRendered = !!JSON.parse(e.nativeEvent.data)?.rendered;
|
|
95
|
+
} catch {
|
|
96
|
+
isRendered = false;
|
|
97
|
+
}
|
|
98
|
+
if (isRendered && !readyRef.current) {
|
|
99
|
+
clearWatchdog();
|
|
100
|
+
readyRef.current = true;
|
|
101
|
+
setReady(true);
|
|
102
|
+
}
|
|
103
|
+
}, []);
|
|
104
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
105
|
+
style: styles.container,
|
|
106
|
+
children: [/*#__PURE__*/_jsx(WebView, {
|
|
107
|
+
source: {
|
|
108
|
+
uri: viewerUrl
|
|
109
|
+
},
|
|
110
|
+
style: styles.webview,
|
|
111
|
+
originWhitelist: ['*'],
|
|
112
|
+
injectedJavaScript: RENDER_POLLER,
|
|
113
|
+
onLoadEnd: handleLoadEnd,
|
|
114
|
+
onMessage: handleMessage,
|
|
115
|
+
onError: onError,
|
|
116
|
+
onHttpError: onError
|
|
117
|
+
}, attempt), !ready && /*#__PURE__*/_jsx(View, {
|
|
118
|
+
style: styles.loadingOverlay,
|
|
119
|
+
pointerEvents: "none",
|
|
120
|
+
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
121
|
+
size: "large"
|
|
122
|
+
})
|
|
123
|
+
})]
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
export default GViewWebView;
|
|
127
|
+
const styles = StyleSheet.create({
|
|
128
|
+
container: {
|
|
129
|
+
flex: 1,
|
|
130
|
+
width: '100%',
|
|
131
|
+
backgroundColor: '#fff'
|
|
132
|
+
},
|
|
133
|
+
webview: {
|
|
134
|
+
flex: 1,
|
|
135
|
+
backgroundColor: '#fff'
|
|
136
|
+
},
|
|
137
|
+
loadingOverlay: {
|
|
138
|
+
...StyleSheet.absoluteFillObject,
|
|
139
|
+
justifyContent: 'center',
|
|
140
|
+
alignItems: 'center',
|
|
141
|
+
backgroundColor: '#ffffff'
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
//# sourceMappingURL=GViewWebView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","ActivityIndicator","StyleSheet","View","WebView","jsx","_jsx","jsxs","_jsxs","MAX_ATTEMPTS","LOAD_BUDGET_MS","ATTEMPT_TIMEOUT_MS","RENDER_POLLER","GViewWebView","url","onError","attempt","setAttempt","ready","setReady","readyRef","attemptRef","watchdog","viewerUrl","encodeURIComponent","clearWatchdog","current","clearTimeout","giveUpAttempt","setTimeout","handleLoadEnd","handleMessage","e","isRendered","JSON","parse","nativeEvent","data","rendered","style","styles","container","children","source","uri","webview","originWhitelist","injectedJavaScript","onLoadEnd","onMessage","onHttpError","loadingOverlay","pointerEvents","size","create","flex","width","backgroundColor","absoluteFillObject","justifyContent","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/GViewWebView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import React, { useEffect, useState } from 'react';
|
|
|
4
4
|
import { ActivityIndicator, Platform, StyleSheet, Text, View } from 'react-native';
|
|
5
5
|
import { WebView } from 'react-native-webview';
|
|
6
6
|
import * as FileSystem from 'expo-file-system/legacy';
|
|
7
|
+
import GViewWebView from './GViewWebView';
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
const PdfViewer = ({
|
|
9
10
|
pdfUrl
|
|
@@ -42,23 +43,8 @@ const PdfViewer = ({
|
|
|
42
43
|
};
|
|
43
44
|
}, [pdfUrl, isAndroid]);
|
|
44
45
|
if (isAndroid) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
style: styles.container,
|
|
48
|
-
children: /*#__PURE__*/_jsx(WebView, {
|
|
49
|
-
source: {
|
|
50
|
-
uri: gviewUrl
|
|
51
|
-
},
|
|
52
|
-
style: styles.webview,
|
|
53
|
-
originWhitelist: ['*'],
|
|
54
|
-
startInLoadingState: true,
|
|
55
|
-
renderLoading: () => /*#__PURE__*/_jsx(View, {
|
|
56
|
-
style: styles.center,
|
|
57
|
-
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
58
|
-
size: "large"
|
|
59
|
-
})
|
|
60
|
-
})
|
|
61
|
-
})
|
|
46
|
+
return /*#__PURE__*/_jsx(GViewWebView, {
|
|
47
|
+
url: pdfUrl
|
|
62
48
|
});
|
|
63
49
|
}
|
|
64
50
|
if (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","GViewWebView","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","url","style","styles","center","children","size","container","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":"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","ignoreList":[]}
|