@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.
- package/CHANGELOG.md +7 -0
- package/README.md +1 -1
- package/lib/commonjs/components/MainComponents/AlbumGrid.js +6 -2
- package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +16 -11
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +13 -0
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +7 -16
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +3 -3
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +27 -1
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js +159 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +203 -134
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js +180 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -162
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js +824 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js +179 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js +22 -5
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/useCallKeep.js +1 -3
- package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +4 -1
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +5 -1
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/MediaSourceContext.js +18 -0
- package/lib/commonjs/context/MediaSourceContext.js.map +1 -0
- package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js +3 -1
- package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
- package/lib/commonjs/helpers/constants/MODAL_TYPES.js +2 -0
- package/lib/commonjs/helpers/constants/MODAL_TYPES.js.map +1 -1
- package/lib/commonjs/helpers/publicChatsEntry.js +8 -6
- package/lib/commonjs/helpers/publicChatsEntry.js.map +1 -1
- package/lib/commonjs/helpers/roomMedia.js +118 -0
- package/lib/commonjs/helpers/roomMedia.js.map +1 -0
- package/lib/commonjs/i18n/strings.js +36 -0
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +9 -13
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/callTokenStanza.js +13 -1
- package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
- package/lib/commonjs/push/sealedPushTask.js +20 -1
- package/lib/commonjs/push/sealedPushTask.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/MainComponents/AlbumGrid.js +6 -2
- package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +18 -13
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +13 -0
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +7 -16
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +3 -3
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +27 -1
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js +154 -0
- package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +204 -136
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js +175 -0
- package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -163
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js +819 -0
- package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js +172 -0
- package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js +20 -4
- package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
- package/lib/module/components/VideoCalls/useCallKeep.js +2 -4
- package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +4 -1
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +5 -1
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/MediaSourceContext.js +13 -0
- package/lib/module/context/MediaSourceContext.js.map +1 -0
- package/lib/module/helpers/constants/MODAL_COMPONENTS.js +2 -1
- package/lib/module/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
- package/lib/module/helpers/constants/MODAL_TYPES.js +2 -0
- package/lib/module/helpers/constants/MODAL_TYPES.js.map +1 -1
- package/lib/module/helpers/publicChatsEntry.js +8 -6
- package/lib/module/helpers/publicChatsEntry.js.map +1 -1
- package/lib/module/helpers/roomMedia.js +112 -0
- package/lib/module/helpers/roomMedia.js.map +1 -0
- package/lib/module/i18n/strings.js +36 -0
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +9 -13
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/callTokenStanza.js +13 -1
- package/lib/module/networking/callTokenStanza.js.map +1 -1
- package/lib/module/push/sealedPushTask.js +20 -1
- package/lib/module/push/sealedPushTask.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts +3 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts +16 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts +18 -0
- package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +16 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts +27 -0
- package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts +9 -0
- package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts +8 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/MediaSourceContext.d.ts +4 -0
- package/lib/typescript/context/MediaSourceContext.d.ts.map +1 -0
- package/lib/typescript/helpers/constants/MODAL_COMPONENTS.d.ts.map +1 -1
- package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts +2 -0
- package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts.map +1 -1
- package/lib/typescript/helpers/publicChatsEntry.d.ts +7 -5
- package/lib/typescript/helpers/publicChatsEntry.d.ts.map +1 -1
- package/lib/typescript/helpers/roomMedia.d.ts +26 -0
- package/lib/typescript/helpers/roomMedia.d.ts.map +1 -0
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +1 -1
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +6 -5
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
- package/lib/typescript/push/sealedPushTask.d.ts +13 -0
- package/lib/typescript/push/sealedPushTask.d.ts.map +1 -1
- package/lib/typescript/types/models/modal.model.d.ts +18 -0
- package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +18 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/lib/typescript/version.d.ts.map +1 -1
- package/package.json +9 -2
- package/plugins/notification-service/NotificationService.swift +105 -19
- package/plugins/withNotificationServiceExtension.js +44 -4
- package/src/components/MainComponents/AlbumGrid.tsx +5 -1
- package/src/components/MainComponents/ChatHeader.tsx +16 -11
- package/src/components/MainComponents/MediaMessage.tsx +13 -2
- package/src/components/MainComponents/RoomList.tsx +8 -19
- package/src/components/Menu/HeaderRoomListMenu.tsx +13 -8
- package/src/components/MessageBubble/Message.tsx +24 -1
- package/src/components/Modals/ChatProfileModal/ChatMediaGrid.tsx +174 -0
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +119 -48
- package/src/components/Modals/ChatProfileModal/LeaveChatModal.tsx +191 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +115 -185
- package/src/components/Modals/FilePreviewModal/MediaViewer.tsx +880 -0
- package/src/components/Modals/FilePreviewModal/useSaveFile.ts +207 -0
- package/src/components/Modals/MessageSearchModal/MessageSearchModal.tsx +56 -30
- package/src/components/VideoCalls/useCallKeep.ts +2 -4
- package/src/components/styled/MessageImage.tsx +3 -1
- package/src/components/styled/VideoMessage.tsx +5 -1
- package/src/context/MediaSourceContext.tsx +14 -0
- package/src/helpers/constants/MODAL_COMPONENTS.tsx +4 -1
- package/src/helpers/constants/MODAL_TYPES.ts +2 -0
- package/src/helpers/publicChatsEntry.ts +8 -7
- package/src/helpers/roomMedia.ts +126 -0
- package/src/i18n/strings.ts +36 -0
- package/src/main.ts +1 -1
- package/src/networking/api-requests/rooms.api.ts +13 -12
- package/src/networking/callTokenStanza.ts +10 -1
- package/src/push/sealedPushTask.ts +34 -1
- package/src/types/models/modal.model.ts +16 -0
- package/src/types/types.ts +16 -0
- 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
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
240
|
-
} = (0,
|
|
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
|
|
271
|
-
|
|
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
|
-
|
|
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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AAIA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAL,sBAAA,CAAAL,OAAA;AAEA,IAAAW,gBAAA,GAAAX,OAAA;AACA,IAAAY,kBAAA,GAAAZ,OAAA;AAEA,IAAAa,YAAA,GAAAR,sBAAA,CAAAL,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,UAAA,GAAAf,OAAA;AACA,IAAAgB,gBAAA,GAAAhB,OAAA;AACA,IAAAiB,eAAA,GAAAjB,OAAA;AACA,IAAAkB,aAAA,GAAAlB,OAAA;AACA,IAAAmB,YAAA,GAAAnB,OAAA;AAQA,IAAAoB,UAAA,GAAApB,OAAA;AAEA,IAAAqB,KAAA,GAAArB,OAAA;AACA,IAAAsB,QAAA,GAAAjB,sBAAA,CAAAL,OAAA;AACA,IAAAuB,eAAA,GAAAlB,sBAAA,CAAAL,OAAA;AACA,IAAAwB,aAAA,GAAAnB,sBAAA,CAAAL,OAAA;AACA,IAAAyB,gBAAA,GAAAzB,OAAA;AACA,IAAA0B,WAAA,GAAA1B,OAAA;AAOA,IAAA2B,mBAAA,GAAA3B,OAAA;AAG6C,IAAA4B,WAAA,GAAA5B,OAAA;AAAA,SAAAK,uBAAAwB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAA9B,wBAAA8B,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlC,uBAAA,YAAAA,CAAA8B,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAE7C;AACA;AACA,MAAMgB,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;AAEF,MAAMC,OAAO,GAAIC,IAA+B,IAC9C,CAAC,CAACA,IAAI,KAAKA,IAAI,CAACC,UAAU,CAAC,QAAQ,CAAC,IAAID,IAAI,CAACC,UAAU,CAAC,QAAQ,CAAC,CAAC;;AAEpE;AACA,MAAMC,eAAe,GAAG,IAAIJ,GAAG,CAAS,CAAC;AACzC,MAAMK,iBAAiB,GAAG,EAAE;AAE5B,MAAMC,kBAAkB,GAAIJ,IAA+B,IAAK;EAC9D,IAAI,CAACA,IAAI,EAAE;IAAC,OAAO,KAAK;EAAC;EACzB,OAAOH,iBAAiB,CAACR,GAAG,CAACW,IAAI,CAACK,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAEC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAwD,GAAGA,CAAC;EAChEC,GAAG;EACHC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAMC,MAAM,GAAG,IAAAC,uBAAW,EAACL,GAAG,CAAC;EAC/B;EACA,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAgBJ,MAAM,GAAG,IAAI,GAAGJ,GAAG,CAAC;EACxE,MAAM,CAACS,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,IAAI,CAAC;EAC9C;EACA,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAAgB,IAAI,CAAC;EAC7D,MAAM,CAACK,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAN,eAAQ,EAAC,KAAK,CAAC;EAC3C,MAAMO,SAAS,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAC/B,MAAMC,eAAe,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EACrC,MAAME,OAAO,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAAG,gBAAS,EACP,MAAM,MAAM;IACVD,OAAO,CAACE,OAAO,GAAG,KAAK;EACzB,CAAC,EACD,EACF,CAAC;EAED,MAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACjC,IAAIL,eAAe,CAACG,OAAO,EAAE;MAAC;IAAO;IACrCH,eAAe,CAACG,OAAO,GAAG,IAAI;IAC9BR,WAAW,CAAC,CAAC,CAAC;IACd,IAAAW,gCAAoB,EAACvB,GAAG,EAAEC,QAAQ,EAAGuB,QAAQ,IAAK;MAChD,IAAIN,OAAO,CAACE,OAAO,EAAE;QAACR,WAAW,CAACY,QAAQ,CAAC;MAAC;IAC9C,CAAC,CAAC,CACCC,IAAI,CAAEC,QAAQ,IAAK;MAClB,IAAI,CAACR,OAAO,CAACE,OAAO,EAAE;QAAC;MAAO;MAC9BR,WAAW,CAAC,IAAI,CAAC;MACjBL,SAAS,CAACmB,QAAQ,CAAC;IACrB,CAAC,CAAC,CACDC,KAAK,CAAEC,GAAG,IAAK;MACdC,OAAO,CAACC,IAAI,CAAC,uBAAuB,EAAEF,GAAG,CAAC;MAC1C,IAAI,CAACV,OAAO,CAACE,OAAO,EAAE;QAAC;MAAO;MAC9BR,WAAW,CAAC,IAAI,CAAC;MACjBE,SAAS,CAAC,IAAI,CAAC;IACjB,CAAC,CAAC;EACN,CAAC,EAAE,CAACb,QAAQ,EAAED,GAAG,CAAC,CAAC;EAEnB,IAAAmB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACf,MAAM,EAAE;MAAC;IAAO;IACrB,IAAI2B,MAAM,GAAG,IAAI;IACjB,IAAAC,2BAAe,EAAChC,GAAG,EAAEC,QAAQ,CAAC,CAACwB,IAAI,CAAEQ,MAAM,IAAK;MAC9C,IAAI,CAACF,MAAM,EAAE;QAAC;MAAO;MACrB,IAAIE,MAAM,EAAE;QACV1B,SAAS,CAAC0B,MAAM,CAAC;MACnB,CAAC,MAAM,IAAI,IAAAC,kCAAsB,EAAClC,GAAG,CAAC,EAAE;QACtCqB,QAAQ,CAAC,CAAC;MACZ,CAAC,MAAM;QACLd,SAAS,CAACP,GAAG,CAAC;MAChB;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACX+B,MAAM,GAAG,KAAK;IAChB,CAAC;EACH,CAAC,EAAE,CAACV,QAAQ,EAAEpB,QAAQ,EAAEG,MAAM,EAAEJ,GAAG,CAAC,CAAC;EAErC,MAAMmC,MAAM,GAAG,IAAAC,yBAAc,EAAC9B,MAAM,EAAG+B,CAAC,IAAK;IAC3CA,CAAC,CAACC,KAAK,GAAG,KAAK;IACf;IACA;IACA,IAAIvB,SAAS,CAACK,OAAO,EAAE;MAACiB,CAAC,CAACE,IAAI,CAAC,CAAC;IAAC;EACnC,CAAC,CAAC;EAEF,IAAApB,gBAAS,EAAC,MAAM;IACd,MAAMqB,OAAO,GAAGL,MAAM,CAACM,WAAW,CAAC,eAAe,EAAE,CAAC;MAAEC;IAAU,CAAC,KAAK;MACrE,IAAIA,SAAS,EAAE;QAAChC,WAAW,CAAC,KAAK,CAAC;MAAC;IACrC,CAAC,CAAC;IACF,MAAMiC,MAAM,GAAGR,MAAM,CAACM,WAAW,CAAC,cAAc,EAAGG,KAAK,IAAK;MAC3D,IAAIA,KAAK,CAACD,MAAM,KAAK,OAAO,EAAE;QAAC;MAAO;MACtC,IAAIrC,MAAM,KAAKN,GAAG,IAAII,MAAM,EAAE;QAC5B,IAAAyC,oCAAwB,EAAC7C,GAAG,CAAC;QAC7BqB,QAAQ,CAAC,CAAC;MACZ,CAAC,MAAM;QACLP,SAAS,CAAC,IAAI,CAAC;MACjB;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACX0B,OAAO,CAACM,MAAM,CAAC,CAAC;MAChBH,MAAM,CAACG,MAAM,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACzB,QAAQ,EAAEc,MAAM,EAAE/B,MAAM,EAAEE,MAAM,EAAEN,GAAG,CAAC,CAAC;EAE3C,MAAM+C,UAAU,GAAGA,CAAA,KAAM;IACvBhC,SAAS,CAACK,OAAO,GAAG,IAAI;IACxBV,WAAW,CAAC,KAAK,CAAC;IAClByB,MAAM,CAACI,IAAI,CAAC,CAAC;EACf,CAAC;EAED,IAAI1B,MAAM,EAAE;IACV,oBACE,IAAA7C,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,YAAa;MAAAC,QAAA,gBAC/B,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;QAACL,KAAK,EAAE;UAAEM,QAAQ,EAAE,EAAE;UAAEC,UAAU,EAAE,KAAK;UAAEC,KAAK,EAAExD,KAAK,CAACyD;QAAK,CAAE;QAAAN,QAAA,EAAC;MAErE,CAAM,CAAC,eACP,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;QAACL,KAAK,EAAE;UAAEQ,KAAK,EAAExD,KAAK,CAAC0D,aAAa;UAAEC,SAAS,EAAE;QAAS,CAAE;QAAAR,QAAA,EAAC;MAElE,CAAM,CAAC;IAAA,CACH,CAAC;EAEX;EAEA,MAAMS,OAAO,GAAGnD,QAAQ,KAAK,IAAI,IAAIL,MAAM,KAAK,IAAI;EAEpD,oBACE,IAAAtC,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;IAACC,KAAK,EAAE;MAAEa,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAO,CAAE;IAAAX,QAAA,GAGrC,CAACS,OAAO,iBACP,IAAA9F,WAAA,CAAAsF,GAAA,EAAC9F,UAAA,CAAAyG,SAAS;MACR9B,MAAM,EAAEA,MAAO;MACfe,KAAK,EAAE;QAAEa,IAAI,EAAE,CAAC;QAAEG,eAAe,EAAE;MAAc,CAAE;MACnDC,UAAU,EAAC,SAAS;MACpBC,cAAc;MACdC,WAAW,EAAC;MACZ;MACA;MACA;MACA;IAAA,CACD,CACF,EACAP,OAAO,gBACN,IAAA9F,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACmB,WAAY;MAACC,aAAa,EAAC,MAAM;MAAAlB,QAAA,gBACnD,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAA0F,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACqB,UAAW;QAAAnB,QAAA,eAC7B,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAkH,iBAAiB;UAACf,KAAK,EAAC;QAAS,CAAE;MAAC,CACjC,CAAC,EACN,CAAC,CAAC/C,QAAQ,iBACT,IAAA3C,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAAgG,IAAI;QAACL,KAAK,EAAE,CAACC,MAAM,CAACxC,QAAQ,EAAE;UAAE+C,KAAK,EAAExD,KAAK,CAAC0D;QAAc,CAAC,CAAE;QAAAP,QAAA,GAC5DqB,IAAI,CAACC,KAAK,CAAChE,QAAQ,GAAG,GAAG,CAAC,EAAC,GAC9B;MAAA,CAAM,CACP;IAAA,CACG,CAAC,GAEPF,QAAQ;IAAA;IACN;IACA;IACA,IAAAzC,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAqH,gBAAgB;MACfC,aAAa,EAAE,GAAI;MACnBC,OAAO,EAAE/B,UAAW;MACpBG,KAAK,EAAE6B,uBAAU,CAACC,YAAa;MAAA3B,QAAA,eAE/B,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAA0F,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACmB,WAAY;QAAAjB,QAAA,eAC9B,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAA0F,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACqB,UAAW;UAAAnB,QAAA,eAC7B,IAAArF,WAAA,CAAAsF,GAAA,EAAC/G,MAAA,CAAA0I,QAAQ;YAACjB,KAAK,EAAE,EAAG;YAACkB,MAAM,EAAE;UAAG,CAAE;QAAC,CAC/B;MAAC,CACH;IAAC,CACS,CAErB;EAAA,CACG,CAAC;AAEX,CAAC;AAMD;AACA,MAAMC,gBAAiD,GAAGA,CAAC;EACzDC;AACF,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAMC,KAAK,GAAG,IAAAC,oBAAQ,EAAY,CAAC;EACnC,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,uBAAW,EAC/BC,KAAgB,IAAKA,KAAK,CAACC,gBAC9B,CAAC;EACD,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAC9C,MAAMC,SAAS,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAChC,MAAMC,OAAO,GAAGT,UAAU,EAAEnF,MAAM,EAAE4F,OAAO;EAC3C,MAAMC,IAAI,GAAG,IAAAT,uBAAW,EAAEC,KAAgB,IACxCO,OAAO,GAAGP,KAAK,CAACS,KAAK,CAACA,KAAK,GAAGF,OAAO,CAAC,GAAGG,SAC3C,CAAC;EACD,MAAMC,QAAQ,GAAGH,IAAI,EAAEG,QAAQ;;EAE/B;EACA;EACA,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAAC,MAAM;IACzB,IAAI,CAACf,UAAU,EAAEgB,OAAO,IAAI,CAACnH,OAAO,CAACmG,UAAU,CAACxF,QAAQ,CAAC,EAAE;MAAC,OAAOwF,UAAU;IAAC;IAC9E,OACE,IAAAiB,2BAAgB,EAACjB,UAAU,EAAEa,QAAQ,EAAE;MACrCK,EAAE,EAAEd,IAAI;MACRG,SAAS;MACTY,WAAW,EAAE,CAACd,MAAM,EAAEe,mBAAmB;MACzCC,SAAS,EAAE,CAAChB,MAAM,EAAEiB;IACtB,CAAC,CAAC,IAAItB,UAAU;EAEpB,CAAC,EAAE,CAACA,UAAU,EAAEa,QAAQ,EAAET,IAAI,EAAEG,SAAS,EAAEF,MAAM,EAAEe,mBAAmB,EAAEf,MAAM,EAAEiB,cAAc,CAAC,CAAC;;EAEhG;EACA;EACA,MAAMC,QAAQ,GAAG,CAAC,CAACT,IAAI,EAAEU,QAAQ,IAAIV,IAAI,CAACW,KAAK,KAAK,CAAC,IAAI,CAAC,CAAChB,OAAO;EAClE,MAAMiB,eAAe,GAAG,CAAC,CAAChB,IAAI,EAAEgB,eAAe;EAC/C,IAAAhG,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC6F,QAAQ,IAAIG,eAAe,IAAI,CAACjB,OAAO,EAAE;MAAC;IAAO;IACtD,IAAAkB,gCAAe,EAAC;MACdC,MAAM,EAAE,IAAAC,mCAAmB,EAAC,CAAC;MAC7BnB,IAAI,EAAEZ,KAAK,CAACgC,QAAQ,CAAC,CAAC,CAACnB,KAAK,CAACA,KAAK,GAAGF,OAAO,CAAC;MAC7CsB,QAAQ,EAAE/H,eAAe;MACzBgI,OAAO,EAAEvB,OAAO;MAChBwB,GAAG,EAAEhI;IACP,CAAC,CAAC;EACJ,CAAC,EAAE,CAACsH,QAAQ,EAAEG,eAAe,EAAEjB,OAAO,EAAEX,KAAK,CAAC,CAAC;EAE/C,IAAI,CAACgB,IAAI,EAAEE,OAAO,EAAE;IAAC,OAAO,IAAI;EAAC;EAEjC,MAAMkB,UAAU,GAAGA,CAAA,KAAM;IACvBtC,QAAQ,CACN,IAAAuC,gCAAa,EAAC;MACZC,QAAQ,EAAE,EAAE;MACZpB,OAAO,EAAE,EAAE;MACXxG,QAAQ,EAAE;IACZ,CAAC,CACH,CAAC;IACDmF,gBAAgB,GAAG,CAAC;EACtB,CAAC;EAED,oBACE,IAAApH,WAAA,CAAAsF,GAAA,EAACwE,WAAW;IACVvB,IAAI,EAAEA,IAAK;IACXwB,OAAO,EAAEJ,UAAW;IACpBK,YAAY,EAAGC,IAAI,IAAK5C,QAAQ,CAAC,IAAAuC,gCAAa,EAACK,IAAI,CAAC;EAAE,CACvD,CAAC;AAEN,CAAC;AAWD;AACA;AACA;AACA;AACA;AACO,MAAMH,WAAuC,GAAGA,CAAC;EACtDvB,IAAI,EAAEd,UAAU;EAChBsC,OAAO;EACPC,YAAY;EACZE;AACF,CAAC,KAAK;EACJ,MAAM9J,CAAC,GAAG,IAAA+J,UAAI,EAAC,CAAC;EAChB,MAAM;IAAErC;EAAO,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EACxC,MAAM7F,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB;EACA;EACA,MAAMiI,cAAc,GAAGlI,KAAK,CAACmI,IAAI,GAAGnI,KAAK,CAACoI,gBAAgB,GAAG,SAAS;;EAEtE;EACA;EACA;EACA;EACA,MAAMC,eAAe,GAAG,IAAAC,2CAAuB,EAC7C,IAAAC,sCAAkB,EAAC;IACjBC,YAAY,EAAEjD,UAAU,CAACiD,YAAY;IACrCb,QAAQ,EAAEpC,UAAU,CAACoC,QAAQ;IAC7Bc,QAAQ,EAAElD,UAAU,CAACgB,OAAO;IAC5BxG,QAAQ,EAAEwF,UAAU,CAACxF;EACvB,CAAC,CACH,CAAC;EAED,MAAM2I,QAAQ,GAAG,IAAAC,wBAAW,EAAC,CAAC;EAC9B,MAAMC,SAAS,GAAGA,CAAA,KAAMF,QAAQ,CAACnD,UAAU,CAAC;;EAE5C;EACA,MAAMsD,SAAS,GAAGtD,UAAU,CAACwB,QAAQ,EAAE+B,MAAM,IAAI,CAAC;EAClD,MAAMC,UAAU,GAAGxD,UAAU,CAACyB,KAAK,IAAI,CAAC;EACxC,MAAMgC,WAAW,GAAIjB,IAAY,IAAK;IACpC,MAAMkB,MAAM,GAAG1D,UAAU,CAACwB,QAAQ,GAAGgB,IAAI,CAAC;IAC1C,IAAI,CAACkB,MAAM,EAAE;MAAC;IAAO;IACrBnB,YAAY,CAAC;MAAE,GAAGmB,MAAM;MAAElC,QAAQ,EAAExB,UAAU,CAACwB,QAAQ;MAAEC,KAAK,EAAEe;IAAK,CAAC,CAAC;EACzE,CAAC;EACD,MAAMN,UAAU,GAAGI,OAAO;EAE1B,IACEtC,UAAU,CAACxF,QAAQ,CAACT,UAAU,CAAC,QAAQ,CAAC,IACxCiG,UAAU,CAACxF,QAAQ,CAACT,UAAU,CAAC,QAAQ,CAAC,EACxC;IACA,oBACE,IAAAxB,WAAA,CAAAsF,GAAA,EAACrG,YAAA,CAAAkB,OAAW;MACVoI,IAAI,EAAEd,UAAW;MACjBsC,OAAO,EAAEA,OAAQ;MACjBqB,MAAM,EAAEF,WAAY;MACpBG,MAAM,EAAEP,SAAU;MAClBZ,aAAa,EAAEA;IAAc,CAC9B,CAAC;EAEN;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoB,iBAAkC,GAAG,CAAC,MAAM;IAChD,QAAQ,IAAI;MACV,KAAK7D,UAAU,CAACxF,QAAQ,CAACT,UAAU,CAAC,QAAQ,CAAC;QAC3C,oBACE,IAAAxB,WAAA,CAAAsF,GAAA,EAACvG,gBAAA,CAAAwM,eAAe;UACdjJ,MAAM,EAAE;YACNN,GAAG,EACD,IAAAwJ,4BAAa,EAAC/D,UAAU,CAACgB,OAAO,CAAC,IACjC;UACJ,CAAE;UACFgD,UAAU,EAAC,SAAS;UACpBC,kBAAkB,EAAEnB;QAAgB,CACrC,CAAC;MAEN,KAAK9C,UAAU,CAACxF,QAAQ,CAACT,UAAU,CAAC,QAAQ,CAAC;QAC3C,oBACE,IAAAxB,WAAA,CAAAsF,GAAA,EAACvD;QACC;QAAA;UAEAC,GAAG,EAAE,IAAAwJ,4BAAa,EAAC/D,UAAU,CAACgB,OAAO,CAAE;UACvCxG,QAAQ,EAAEwF,UAAU,CAACxF;QAAS,GAFzBwF,UAAU,CAACgB,OAGjB,CAAC;MAEN,KAAKhB,UAAU,CAACxF,QAAQ,CAAC0J,QAAQ,CAAC,0BAA0B,CAAC;QAC3D,oBACE,IAAA3L,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;UACHC,KAAK,EAAE;YACLc,KAAK,EAAE,MAAM;YACb4F,OAAO,EAAE,EAAE;YACXC,GAAG,EAAE,EAAE;YACP3F,eAAe,EAAEkE,cAAc;YAC/B0B,YAAY,EAAE;UAChB,CAAE;UAAAzG,QAAA,gBAEF,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;YAACL,KAAK,EAAE;cAAEM,QAAQ,EAAE,EAAE;cAAEC,UAAU,EAAE,KAAK;cAAEC,KAAK,EAAExD,KAAK,CAACyD;YAAK,CAAE;YAAAN,QAAA,EAAC;UAErE,CAAM,CAAC,eACP,IAAArF,WAAA,CAAAsF,GAAA,EAAC1F,aAAA,CAAAO,OAAY;YACX4L,GAAG,EAAE,IAAAP,4BAAa,EAAC/D,UAAU,CAACgB,OAAO,CAAE;YACvCuD,QAAQ,EAAEvE,UAAU,CAACxF,QAAS;YAC9B4H,QAAQ,EAAEpC,UAAU,CAACoC,QAAS;YAC9Ba,YAAY,EAAEjD,UAAU,CAACiD,YAAa;YACtCuB,QAAQ,EAAExE,UAAU,CAACwE,QAAS;YAC9BC,QAAQ,EAAEzE,UAAU,CAACyE;UAAS,CAC/B,CAAC;QAAA,CACE,CAAC;MAEX;MACA;MACA;MACA;MACA,KAAK,IAAAC,8BAAa,EAChB1E,UAAU,CAACxF,QAAQ,EACnBwF,UAAU,CAACoC,QAAQ,EACnBpC,UAAU,CAACgB,OAAO,EAClB;QACEwD,QAAQ,EAAExE,UAAU,CAACwE,QAAQ;QAC7BC,QAAQ,EAAEzE,UAAU,CAACyE,QAAQ;QAC7BxB,YAAY,EAAEjD,UAAU,CAACiD;MAC3B,CACF,CAAC;QACC,oBACE,IAAA1K,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;UACHC,KAAK,EAAE;YACLc,KAAK,EAAE,MAAM;YACb4F,OAAO,EAAE,EAAE;YACXC,GAAG,EAAE,EAAE;YACP3F,eAAe,EAAEkE,cAAc;YAC/B0B,YAAY,EAAE;UAChB,CAAE;UAAAzG,QAAA,gBAEF,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;YAACL,KAAK,EAAE;cAAEM,QAAQ,EAAE,EAAE;cAAEC,UAAU,EAAE,KAAK;cAAEC,KAAK,EAAExD,KAAK,CAACyD;YAAK,CAAE;YAAAN,QAAA,EACjEkF;UAAe,CACZ,CAAC,eACP,IAAAvK,WAAA,CAAAsF,GAAA,EAAC1F,aAAA,CAAAO,OAAY;YACX4L,GAAG,EAAE,IAAAP,4BAAa,EAAC/D,UAAU,CAACgB,OAAO,CAAE;YACvCuD,QAAQ,EAAEvE,UAAU,CAACxF,QAAS;YAC9B4H,QAAQ,EAAEpC,UAAU,CAACoC,QAAS;YAC9Ba,YAAY,EAAEjD,UAAU,CAACiD,YAAa;YACtCuB,QAAQ,EAAExE,UAAU,CAACwE,QAAS;YAC9BC,QAAQ,EAAEzE,UAAU,CAACyE;UAAS,CAC/B,CAAC;QAAA,CACE,CAAC;MAEX,KAAKzE,UAAU,CAACxF,QAAQ,KAAK,iBAAiB,IAC5C,EAAEmK,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,IAAAC,wBAAW,EAAC7E,UAAU,CAACgB,OAAO,CAAC,CAAC;QAC/D,oBAAO,IAAAzI,WAAA,CAAAsF,GAAA,EAAC5F,QAAA,CAAAS,OAAS;UAACoM,MAAM,EAAE,IAAAf,4BAAa,EAAC/D,UAAU,CAACgB,OAAO;QAAE,CAAE,CAAC;MACjE;QAAS;UACP;UACA;UACA;UACA,IAAI9G,kBAAkB,CAAC8F,UAAU,CAACxF,QAAQ,CAAC,IAAI,CAAC,IAAAqK,wBAAW,EAAC7E,UAAU,CAACgB,OAAO,CAAC,EAAE;YAC/E,oBACE,IAAAzI,WAAA,CAAAsF,GAAA,EAAC3F,eAAA,CAAAQ,OAAc;cACbqM,GAAG,EAAE/E,UAAU,CAACgB,OAAQ;cACxBoB,QAAQ,EAAEU;YAAgB,CAC3B,CAAC;UAEN;UACA;UACA;UACA;UACA,oBACE,IAAAvK,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;YACHC,KAAK,EAAE;cACLgB,eAAe,EAAEkE,cAAc;cAC/B0B,YAAY,EAAE,EAAE;cAChBF,OAAO,EAAE,EAAE;cACXC,GAAG,EAAE;YACP,CAAE;YAAAxG,QAAA,gBAEF,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;cAACL,KAAK,EAAE;gBAAEM,QAAQ,EAAE,EAAE;gBAAEC,UAAU,EAAE,KAAK;gBAAEC,KAAK,EAAExD,KAAK,CAACyD;cAAK,CAAE;cAAAN,QAAA,EACjEkF;YAAe,CACZ,CAAC,eACP,IAAAvK,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;cAACL,KAAK,EAAE;gBAAEQ,KAAK,EAAExD,KAAK,CAAC0D;cAAc,CAAE;cAAAP,QAAA,EACzCoC,UAAU,CAACxF,QAAQ,IAAI;YAAc,CAClC,CAAC,eACP,IAAAjC,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;cAACL,KAAK,EAAE;gBAAEuH,SAAS,EAAE,CAAC;gBAAE/G,KAAK,EAAExD,KAAK,CAACyD;cAAK,CAAE;cAAAN,QAAA,EAAC;YAGlD,CAAM,CAAC;UAAA,CACH,CAAC;QAEX;IACF;EACF,CAAC,EAAE,CAAC;EAEJ,oBACE,IAAArF,WAAA,CAAAgF,IAAA,EAAC1G,sBAAA,CAAAoO,wBAAwB;IAAArH,QAAA,gBACvB,IAAArF,WAAA,CAAAsF,GAAA,EAAC9G,qBAAA,CAAA2B,OAAoB;MACnBiH,gBAAgB,EAAEuC,UAAW;MAC7BgD,WAAW,EAAEvM,CAAC,CAAC,yBAAyB,CAAE;MAC1CwM,UAAU,EAAE,IAAAC,yBAAa,EAAC/E,MAAM,EAAEgF,UAAU,EAAEC,OAAO,EAAEC,WAAW,CAAE;MACpEC,SAAS,eACP,IAAAjN,WAAA,CAAAsF,GAAA,EAAAtF,WAAA,CAAAkN,QAAA;QAAA7H,QAAA,eACE,IAAArF,WAAA,CAAAsF,GAAA,EAACxG,OAAA,CAAAqB,OAAM;UAAC2G,OAAO,EAAEgE,SAAU;UAAAzF,QAAA,eACzB,IAAArF,WAAA,CAAAsF,GAAA,EAAC/G,MAAA,CAAA4O,QAAQ;YAACzH,KAAK,EAAExD,KAAK,CAAC0D;UAAc,CAAE;QAAC,CAClC;MAAC,CACT;IACH,CACF,CAAC,eAEF,IAAA5F,WAAA,CAAAsF,GAAA,EAAChH,sBAAA,CAAA8O,eAAe;MACdlI,KAAK,EAAE;QACLmI,OAAO,EAAE,MAAM;QACftH,IAAI,EAAE,CAAC;QACPuH,cAAc,EAAE,QAAQ;QACxB;QACA;QACA;QACA;QACAC,QAAQ,EAAE,SAAS;QACnB3B,OAAO,EAAE,EAAE;QACX4B,aAAa,EAAE;MACjB,CAAE;MAAAnI,QAAA,EAEDiG;IAAiB,CACH,CAAC,EAEjBP,SAAS,GAAG,CAAC,iBACZ,IAAA/K,WAAA,CAAAgF,IAAA,EAACzF,YAAA,CAAA0F,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACsI,QAAS;MAACC,MAAM,EAAC,wBAAwB;MAAArI,QAAA,gBAC3D,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAqH,gBAAgB;QACf8G,MAAM,EAAC,mBAAmB;QAC1BC,iBAAiB,EAAC,QAAQ;QAC1BjC,kBAAkB,EAAEtL,CAAC,CAAC,qBAAqB,CAAE;QAC7CwN,QAAQ,EAAE3C,UAAU,IAAI,CAAE;QAC1BnE,OAAO,EAAEA,CAAA,KAAMoE,WAAW,CAACD,UAAU,GAAG,CAAC,CAAE;QAC3C4C,OAAO,EAAE,EAAG;QACZ3I,KAAK,EAAE,CAACC,MAAM,CAAC2I,UAAU,EAAE7C,UAAU,IAAI,CAAC,IAAI9F,MAAM,CAAC4I,aAAa,CAAE;QAAA1I,QAAA,eAEpE,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;UAACL,KAAK,EAAE,CAACC,MAAM,CAAC6I,cAAc,EAAE;YAAEtI,KAAK,EAAExD,KAAK,CAACyD;UAAK,CAAC,CAAE;UAAAN,QAAA,EAAE;QAAQ,CAAO;MAAC,CAC9D,CAAC,eACnB,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;QAACL,KAAK,EAAE;UAAEQ,KAAK,EAAExD,KAAK,CAAC0D;QAAc,CAAE;QAAAP,QAAA,EACzCjF,CAAC,CAAC,qBAAqB,EAAE;UAAE8I,KAAK,EAAE+B,UAAU,GAAG,CAAC;UAAEgD,KAAK,EAAElD;QAAU,CAAC;MAAC,CAClE,CAAC,eACP,IAAA/K,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAqH,gBAAgB;QACf8G,MAAM,EAAC,mBAAmB;QAC1BC,iBAAiB,EAAC,QAAQ;QAC1BjC,kBAAkB,EAAEtL,CAAC,CAAC,iBAAiB,CAAE;QACzCwN,QAAQ,EAAE3C,UAAU,IAAIF,SAAS,GAAG,CAAE;QACtCjE,OAAO,EAAEA,CAAA,KAAMoE,WAAW,CAACD,UAAU,GAAG,CAAC,CAAE;QAC3C4C,OAAO,EAAE,EAAG;QACZ3I,KAAK,EAAE,CACLC,MAAM,CAAC2I,UAAU,EACjB7C,UAAU,IAAIF,SAAS,GAAG,CAAC,IAAI5F,MAAM,CAAC4I,aAAa,CACnD;QAAA1I,QAAA,eAEF,IAAArF,WAAA,CAAAsF,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;UAACL,KAAK,EAAE,CAACC,MAAM,CAAC6I,cAAc,EAAE;YAAEtI,KAAK,EAAExD,KAAK,CAACyD;UAAK,CAAC,CAAE;UAAAN,QAAA,EAAE;QAAQ,CAAO;MAAC,CAC9D,CAAC;IAAA,CACf,CACP;EAAA,CAEuB,CAAC;AAE/B,CAAC;AAAC6I,OAAA,CAAApE,WAAA,GAAAA,WAAA;AAEF,MAAM3E,MAAM,GAAG4B,uBAAU,CAACoH,MAAM,CAAC;EAC/B7H,WAAW,EAAE;IACX,GAAGS,uBAAU,CAACC,YAAY;IAC1BsG,cAAc,EAAE,QAAQ;IACxBc,UAAU,EAAE;EACd,CAAC;EACD5H,UAAU,EAAE;IACVR,KAAK,EAAE,EAAE;IACTkB,MAAM,EAAE,EAAE;IACV4E,YAAY,EAAE,EAAE;IAChB5F,eAAe,EAAE,qBAAqB;IACtCoH,cAAc,EAAE,QAAQ;IACxBc,UAAU,EAAE;EACd,CAAC;EACDzL,QAAQ,EAAE;IACR8J,SAAS,EAAE,EAAE;IACbjH,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDgI,QAAQ,EAAE;IACRY,aAAa,EAAE,KAAK;IACpBD,UAAU,EAAE,QAAQ;IACpBd,cAAc,EAAE,QAAQ;IACxBzB,GAAG,EAAE,EAAE;IACP2B,aAAa,EAAE;EACjB,CAAC;EACDM,UAAU,EAAE;IACV9H,KAAK,EAAE,EAAE;IACTkB,MAAM,EAAE,EAAE;IACVkH,UAAU,EAAE,QAAQ;IACpBd,cAAc,EAAE;EAClB,CAAC;EACDS,aAAa,EAAE;IACbO,OAAO,EAAE;EACX,CAAC;EACDN,cAAc,EAAE;IACdxI,QAAQ,EAAE,EAAE;IACZ+I,UAAU,EAAE;EACd,CAAC;EACDnJ,YAAY,EAAE;IACZgJ,UAAU,EAAE,QAAQ;IACpBvC,GAAG,EAAE,CAAC;IACND,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAAC,IAAA4C,QAAA,GAAAN,OAAA,CAAA/N,OAAA,GAEYgH,gBAAgB","ignoreList":[]}
|