@ethora/chat-component-rn 26.7.3 → 26.7.5
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 +0 -9
- package/README.md +0 -22
- package/lib/commonjs/assets/icons.js +2 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +10 -10
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +22 -5
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +8 -9
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +37 -110
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +14 -16
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +10 -0
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +35 -6
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/updateMessagesTillLast.js +40 -12
- package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/commonjs/hooks/useChatRoomFocus.js +9 -3
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +5 -0
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +50 -23
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/main.js +0 -6
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/outboundQueue.js +18 -0
- package/lib/commonjs/networking/outboundQueue.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +10 -1
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +107 -7
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +22 -3
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +1 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +10 -10
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +23 -6
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +8 -9
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +38 -110
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +14 -16
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
- package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +11 -1
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/context/xmppProvider.js +35 -6
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/updateMessagesTillLast.js +41 -13
- package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/module/hooks/useChatRoomFocus.js +9 -3
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useLogout.js +5 -0
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +51 -24
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/main.js +1 -1
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/outboundQueue.js +17 -0
- package/lib/module/networking/outboundQueue.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +10 -1
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmppClient.js +107 -7
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +20 -2
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +0 -4
- 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/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.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/outboundQueue.d.ts +16 -0
- package/lib/typescript/networking/outboundQueue.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +33 -1
- package/lib/typescript/networking/xmppClient.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/room.model.d.ts +15 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +15 -12
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/icons.tsx +0 -19
- package/src/components/MainComponents/ChatRoom.tsx +13 -9
- package/src/components/MainComponents/MessageList.tsx +23 -6
- package/src/components/MainComponents/ProfileImagePlaceholder.tsx +9 -16
- package/src/components/Menu/HeaderRoomListMenu.tsx +11 -105
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +14 -16
- package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
- package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
- package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
- package/src/components/styled/SendInput.tsx +10 -0
- package/src/context/xmppProvider.tsx +41 -8
- package/src/helpers/updateMessagesTillLast.tsx +42 -17
- package/src/hooks/useChatRoomFocus.ts +11 -3
- package/src/hooks/useLogout.tsx +7 -0
- package/src/hooks/useSendMessage.tsx +60 -24
- package/src/main.ts +1 -1
- package/src/networking/outboundQueue.ts +29 -0
- package/src/networking/stanzaHandlers.ts +9 -1
- package/src/networking/xmppClient.ts +118 -7
- package/src/roomStore/roomsSlice.ts +20 -2
- package/src/types/models/room.model.ts +15 -0
- package/src/types/types.ts +15 -14
- package/lib/commonjs/helpers/pickImageAsset.js +0 -68
- package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
- package/lib/module/helpers/pickImageAsset.js +0 -63
- package/lib/module/helpers/pickImageAsset.js.map +0 -1
- package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
- package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
- package/src/helpers/pickImageAsset.ts +0 -68
|
@@ -1,61 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useMemo } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import { AddNewIcon,
|
|
4
|
+
import { Animated, Text, TouchableOpacity, TouchableWithoutFeedback, StyleSheet, Dimensions, View } from 'react-native';
|
|
5
|
+
import { AddNewIcon, ProfileIcon, SettingIcon } from '../../assets/icons';
|
|
6
6
|
import { useDispatch } from 'react-redux';
|
|
7
7
|
import { setActiveModal } from '../../roomStore/chatSettingsSlice';
|
|
8
8
|
import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
|
|
9
|
-
import { useChatSettingState } from '../../hooks/useChatSettingState';
|
|
10
|
-
import { useLogout } from '../../hooks/useLogout';
|
|
11
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
12
|
-
const DEFAULT_LOGOUT_LABEL = 'Sign out';
|
|
13
|
-
const confirmLogout = (confirm, label) => {
|
|
14
|
-
if (confirm === false) {
|
|
15
|
-
return Promise.resolve(true);
|
|
16
|
-
}
|
|
17
|
-
const copy = typeof confirm === 'object' && confirm ? confirm : {};
|
|
18
|
-
return new Promise(resolve => {
|
|
19
|
-
Alert.alert(copy.title ?? label, copy.message ?? 'Are you sure you want to sign out?', [{
|
|
20
|
-
text: copy.cancelText ?? 'Cancel',
|
|
21
|
-
style: 'cancel',
|
|
22
|
-
onPress: () => resolve(false)
|
|
23
|
-
}, {
|
|
24
|
-
text: copy.confirmText ?? label,
|
|
25
|
-
style: 'destructive',
|
|
26
|
-
onPress: () => resolve(true)
|
|
27
|
-
}], {
|
|
28
|
-
cancelable: true,
|
|
29
|
-
onDismiss: () => resolve(false)
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
export const runLogoutFlow = async (logoutConfig, performLogout) => {
|
|
34
|
-
const label = logoutConfig.label ?? DEFAULT_LOGOUT_LABEL;
|
|
35
|
-
const confirmed = await confirmLogout(logoutConfig.confirm ?? true, label);
|
|
36
|
-
if (!confirmed) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (logoutConfig.onBeforeLogout) {
|
|
40
|
-
try {
|
|
41
|
-
const proceed = await logoutConfig.onBeforeLogout();
|
|
42
|
-
if (proceed === false) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
} catch (e) {
|
|
46
|
-
console.warn('HeaderRoomListMenu: onBeforeLogout threw, logout cancelled', e);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
await performLogout(); // never rejects (see useLogout)
|
|
51
|
-
if (logoutConfig.onAfterLogout) {
|
|
52
|
-
try {
|
|
53
|
-
await logoutConfig.onAfterLogout();
|
|
54
|
-
} catch (e) {
|
|
55
|
-
console.warn('HeaderRoomListMenu: onAfterLogout threw', e);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
10
|
const {
|
|
60
11
|
width
|
|
61
12
|
} = Dimensions.get('window');
|
|
@@ -66,66 +17,46 @@ export const HeaderRoomListMenu = ({
|
|
|
66
17
|
closeDrawer
|
|
67
18
|
}) => {
|
|
68
19
|
const dispatch = useDispatch();
|
|
69
|
-
const {
|
|
70
|
-
config
|
|
71
|
-
} = useChatSettingState();
|
|
72
|
-
const performLogout = useLogout();
|
|
73
|
-
const logoutConfig = config?.logout?.enabled ? config.logout : undefined;
|
|
74
|
-
const primaryColor = config?.colors?.primary ?? '#0052CD';
|
|
75
20
|
const drawerTranslateX = drawerAnimation.interpolate({
|
|
76
21
|
inputRange: [0, 1],
|
|
77
22
|
outputRange: [width, 0]
|
|
78
23
|
});
|
|
79
|
-
const menuOptions = useMemo(() => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
color: '#141414'
|
|
91
|
-
}
|
|
92
|
-
}, {
|
|
93
|
-
label: 'Profile',
|
|
94
|
-
icon: /*#__PURE__*/_jsx(ProfileIcon, {
|
|
95
|
-
color: "#8C8C8C"
|
|
96
|
-
}),
|
|
97
|
-
onClick: () => {
|
|
98
|
-
dispatch(setActiveModal(MODAL_TYPES.PROFILE));
|
|
99
|
-
console.log('Profile clicked');
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
label: 'Settings',
|
|
103
|
-
icon: /*#__PURE__*/_jsx(SettingIcon, {
|
|
104
|
-
color: "#8C8C8C"
|
|
105
|
-
}),
|
|
106
|
-
onClick: () => {
|
|
107
|
-
dispatch(setActiveModal(MODAL_TYPES.SETTINGS));
|
|
108
|
-
console.log('Settings clicked');
|
|
109
|
-
}
|
|
110
|
-
}];
|
|
111
|
-
if (logoutConfig) {
|
|
112
|
-
options.push({
|
|
113
|
-
label: logoutConfig.label ?? DEFAULT_LOGOUT_LABEL,
|
|
114
|
-
icon: /*#__PURE__*/_jsx(LogoutIcon, {
|
|
115
|
-
color: primaryColor
|
|
116
|
-
}),
|
|
117
|
-
styles: {
|
|
118
|
-
color: primaryColor
|
|
119
|
-
},
|
|
120
|
-
closesDrawer: true,
|
|
121
|
-
onClick: () => {
|
|
122
|
-
closeDrawer();
|
|
123
|
-
runLogoutFlow(logoutConfig, performLogout).catch(() => {});
|
|
124
|
-
}
|
|
125
|
-
});
|
|
24
|
+
const menuOptions = useMemo(() => [{
|
|
25
|
+
label: 'New Chat',
|
|
26
|
+
icon: /*#__PURE__*/_jsx(AddNewIcon, {
|
|
27
|
+
color: "#8C8C8C"
|
|
28
|
+
}),
|
|
29
|
+
onClick: () => {
|
|
30
|
+
dispatch(setActiveModal(MODAL_TYPES.NEW_CHAT));
|
|
31
|
+
console.log('New chat clicked');
|
|
32
|
+
},
|
|
33
|
+
styles: {
|
|
34
|
+
color: '#141414'
|
|
126
35
|
}
|
|
127
|
-
|
|
128
|
-
|
|
36
|
+
}, {
|
|
37
|
+
label: 'Profile',
|
|
38
|
+
icon: /*#__PURE__*/_jsx(ProfileIcon, {
|
|
39
|
+
color: "#8C8C8C"
|
|
40
|
+
}),
|
|
41
|
+
onClick: () => {
|
|
42
|
+
dispatch(setActiveModal(MODAL_TYPES.PROFILE));
|
|
43
|
+
console.log('Profile clicked');
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
label: 'Settings',
|
|
47
|
+
icon: /*#__PURE__*/_jsx(SettingIcon, {
|
|
48
|
+
color: "#8C8C8C"
|
|
49
|
+
}),
|
|
50
|
+
onClick: () => {
|
|
51
|
+
dispatch(setActiveModal(MODAL_TYPES.SETTINGS));
|
|
52
|
+
console.log('Settings clicked');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// {
|
|
56
|
+
// label: "Logout",
|
|
57
|
+
// onClick: handleLogout,
|
|
58
|
+
// },
|
|
59
|
+
], []);
|
|
129
60
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
130
61
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
131
62
|
style: [styles.drawer, {
|
|
@@ -137,12 +68,9 @@ export const HeaderRoomListMenu = ({
|
|
|
137
68
|
style: styles.menuItemWrapper,
|
|
138
69
|
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
139
70
|
style: styles.menuItem,
|
|
140
|
-
testID: `header-menu-${option.label}`,
|
|
141
71
|
onPress: () => {
|
|
142
72
|
option.onClick();
|
|
143
|
-
|
|
144
|
-
closeDrawer();
|
|
145
|
-
}
|
|
73
|
+
closeDrawer();
|
|
146
74
|
},
|
|
147
75
|
children: [/*#__PURE__*/_jsx(View, {
|
|
148
76
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","
|
|
1
|
+
{"version":3,"names":["React","useMemo","Animated","Text","TouchableOpacity","TouchableWithoutFeedback","StyleSheet","Dimensions","View","AddNewIcon","ProfileIcon","SettingIcon","useDispatch","setActiveModal","MODAL_TYPES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","width","get","HeaderRoomListMenu","isDrawerOpen","drawerAnimation","overlayAnimation","closeDrawer","dispatch","drawerTranslateX","interpolate","inputRange","outputRange","menuOptions","label","icon","color","onClick","NEW_CHAT","console","log","styles","PROFILE","SETTINGS","children","style","drawer","transform","translateX","map","option","index","menuItemWrapper","menuItem","onPress","alignItems","length","divider","overlay","opacity","create","display","flexDirection","padding","fontSize","marginLeft","height","backgroundColor","position","top","bottom","right","shadowColor","shadowOpacity","shadowOffset","shadowRadius","elevation","zIndex","drawerTitle","fontWeight","marginBottom","drawerItem","left","flex"],"sourceRoot":"../../../../src","sources":["components/Menu/HeaderRoomListMenu.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,13 +24,12 @@ const AttachSheet = ({
|
|
|
24
24
|
config
|
|
25
25
|
} = useChatSettingState();
|
|
26
26
|
const ts = config?.typography?.attachSheet;
|
|
27
|
+
// Pending handler captured on row tap — runs once the EXIT animation
|
|
28
|
+
// finishes so iOS doesn't try to present an image picker over a
|
|
29
|
+
// still-dismissing modal (was the original reason for the
|
|
30
|
+
// platform-split + Modal.onDismiss dance). The animation completion
|
|
31
|
+
// callback now drives this on both platforms.
|
|
27
32
|
const pendingRef = useRef(null);
|
|
28
|
-
const runPending = () => {
|
|
29
|
-
console.log('[timing] runPending', Date.now());
|
|
30
|
-
const fn = pendingRef.current;
|
|
31
|
-
pendingRef.current = null;
|
|
32
|
-
fn?.();
|
|
33
|
-
};
|
|
34
33
|
|
|
35
34
|
// Local "modal stays mounted while animating out" state. The parent
|
|
36
35
|
// controls `visible`; we mirror it but delay unmount until the exit
|
|
@@ -77,6 +76,8 @@ const AttachSheet = ({
|
|
|
77
76
|
if (!mounted) {
|
|
78
77
|
return;
|
|
79
78
|
}
|
|
79
|
+
// Exit: fade the backdrop, slide the sheet down, then unmount and
|
|
80
|
+
// fire any pending picker handler.
|
|
80
81
|
Animated.parallel([Animated.timing(backdropOpacity, {
|
|
81
82
|
toValue: 0,
|
|
82
83
|
duration: 180,
|
|
@@ -94,19 +95,19 @@ const AttachSheet = ({
|
|
|
94
95
|
return;
|
|
95
96
|
} // interrupted (rapid re-open) → leave state alone
|
|
96
97
|
setMounted(false);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const fn = pendingRef.current;
|
|
99
|
+
pendingRef.current = null;
|
|
100
|
+
fn?.();
|
|
100
101
|
});
|
|
101
102
|
return undefined;
|
|
102
103
|
}, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
103
104
|
|
|
104
105
|
const trigger = handler => () => {
|
|
105
|
-
|
|
106
|
+
// Capture the handler and ask parent to close. The exit-animation
|
|
107
|
+
// completion above fires `handler` AFTER the sheet has slid away,
|
|
108
|
+
// so iOS no longer tries to present a picker over a dismissing
|
|
109
|
+
// modal — and Android no longer needs the ad-hoc 150ms setTimeout.
|
|
106
110
|
pendingRef.current = handler;
|
|
107
|
-
if (Platform.OS === 'ios') {
|
|
108
|
-
setMounted(false);
|
|
109
|
-
}
|
|
110
111
|
onClose();
|
|
111
112
|
};
|
|
112
113
|
const rows = [{
|
|
@@ -137,13 +138,11 @@ const AttachSheet = ({
|
|
|
137
138
|
// Hardware-back / iOS gesture also routes through onClose, which
|
|
138
139
|
// flips `visible` and triggers our exit animation above.
|
|
139
140
|
,
|
|
140
|
-
onDismiss: Platform.OS === 'ios' ? runPending : undefined,
|
|
141
141
|
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
142
142
|
style: [styles.backdrop, {
|
|
143
143
|
opacity: backdropOpacity
|
|
144
144
|
}],
|
|
145
145
|
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
146
|
-
testID: "attach-backdrop",
|
|
147
146
|
style: StyleSheet.absoluteFill,
|
|
148
147
|
activeOpacity: 1,
|
|
149
148
|
onPress: onClose
|
|
@@ -166,7 +165,6 @@ const AttachSheet = ({
|
|
|
166
165
|
Icon,
|
|
167
166
|
handler
|
|
168
167
|
}, idx) => /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
169
|
-
testID: `attach-row-${label}`,
|
|
170
168
|
activeOpacity: 0.6,
|
|
171
169
|
style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
|
|
172
170
|
onPress: trigger(handler),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","Animated","Easing","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","useChatSettingState","chatTextStyle","jsx","_jsx","jsxs","_jsxs","SHEET_OFFSCREEN","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","config","ts","typography","attachSheet","pendingRef","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Animated","Easing","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","useChatSettingState","chatTextStyle","jsx","_jsx","jsxs","_jsxs","SHEET_OFFSCREEN","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","config","ts","typography","attachSheet","pendingRef","mounted","setMounted","backdropOpacity","Value","current","sheetTranslateY","setValue","raf","requestAnimationFrame","parallel","timing","toValue","duration","easing","out","cubic","useNativeDriver","spring","tension","friction","start","cancelAnimationFrame","in","finished","fn","undefined","trigger","handler","rows","label","hint","Icon","transparent","animationType","onRequestClose","children","style","styles","backdrop","opacity","absoluteFill","activeOpacity","onPress","sheet","transform","translateY","grabber","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","cancelButton","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","OS","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,7 +16,6 @@ const ModalContent = ({
|
|
|
16
16
|
roomDescription,
|
|
17
17
|
chatType,
|
|
18
18
|
profileImage,
|
|
19
|
-
onUploadImage,
|
|
20
19
|
setActiveTab,
|
|
21
20
|
handleRoomNameChange,
|
|
22
21
|
setChatType,
|
|
@@ -45,7 +44,7 @@ const ModalContent = ({
|
|
|
45
44
|
size: 120,
|
|
46
45
|
upload: {
|
|
47
46
|
active: true,
|
|
48
|
-
onUpload:
|
|
47
|
+
onUpload: setProfileImage
|
|
49
48
|
},
|
|
50
49
|
remove: {
|
|
51
50
|
enabled: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ModalContainer","CloseButton","ModalTitle","GroupContainer","InputWithLabel","Select","Button","UsersList","ProfileImagePlaceholder","AddPhotoIcon","Text","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ModalContent","activeTab","roomName","roomDescription","chatType","profileImage","
|
|
1
|
+
{"version":3,"names":["React","ModalContainer","CloseButton","ModalTitle","GroupContainer","InputWithLabel","Select","Button","UsersList","ProfileImagePlaceholder","AddPhotoIcon","Text","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ModalContent","activeTab","roomName","roomDescription","chatType","profileImage","setActiveTab","handleRoomNameChange","setChatType","setProfileImage","selectedUsers","setSelectedUsers","handleCreateRoom","handleCloseModal","errors","setErrors","options","children","onPress","style","fontSize","size","upload","active","onUpload","remove","enabled","onRemoveClick","placeholderIcon","icon","disableOverlay","role","flexDirection","position","width","flex","id","value","onChange","placeholder","helperText","name","error","onSelect","selectedValue","variant","unstyled","text","minHeight","minWidth"],"sourceRoot":"../../../../../src","sources":["components/Modals/NewChatModal/ModalContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useState, useMemo } from 'react';
|
|
4
|
-
import { pickImageAsset } from '../../../helpers/pickImageAsset';
|
|
5
4
|
import Button from '../../styled/Button';
|
|
6
5
|
import { AddNewIcon } from '../../../assets/icons';
|
|
7
6
|
import { useDispatch, useSelector } from 'react-redux';
|
|
@@ -28,12 +27,6 @@ const NewChatModal = () => {
|
|
|
28
27
|
id: 'public'
|
|
29
28
|
});
|
|
30
29
|
const [profileImage, setProfileImage] = useState(null);
|
|
31
|
-
const handleUploadImage = async () => {
|
|
32
|
-
const picked = await pickImageAsset();
|
|
33
|
-
if (picked) {
|
|
34
|
-
setProfileImage(picked);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
30
|
const [errors, setErrors] = useState({
|
|
38
31
|
name: '',
|
|
39
32
|
description: ''
|
|
@@ -119,7 +112,6 @@ const NewChatModal = () => {
|
|
|
119
112
|
setRoomDescription: setRoomDescription,
|
|
120
113
|
setChatType: setChatType,
|
|
121
114
|
setProfileImage: setProfileImage,
|
|
122
|
-
onUploadImage: handleUploadImage,
|
|
123
115
|
selectedUsers: selectedUsers,
|
|
124
116
|
setSelectedUsers: setSelectedUsers,
|
|
125
117
|
handleCreateRoom: handleCreateRoom,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useMemo","
|
|
1
|
+
{"version":3,"names":["React","useState","useMemo","Button","AddNewIcon","useDispatch","useSelector","useXmppClient","uploadFile","createRoomFromApi","postRoom","ModalContent","ModalBackground","addRoom","setCurrentRoom","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NewChatModal","config","state","chatSettingStore","dispatch","client","isModalOpen","setIsModalOpen","activeTab","setActiveTab","roomName","setRoomName","roomDescription","setRoomDescription","chatType","setChatType","name","id","profileImage","setProfileImage","errors","setErrors","description","selectedUsers","setSelectedUsers","options","isValid","length","handleOpenModal","handleCloseModal","validateRoomName","trim","handleRoomNameChange","e","prevErrors","handleCreateRoom","mediaData","FormData","append","uploadResult","location","data","results","namesArray","map","user","xmppUsername","newChat","title","picture","type","members","normalizedChat","xmppSettings","conference","roomData","roomJID","jid","presenceInRoomStanza","children","style","padding","borderRadius","backgroundColor","unstyled","EndIcon","color","colors","primary","onPress"],"sourceRoot":"../../../../../src","sources":["components/Modals/NewChatModal/UpdNewChatModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,10 +10,24 @@ import { updateProfile } from '../../../networking/api-requests/user.api';
|
|
|
10
10
|
import { useDispatch } from 'react-redux';
|
|
11
11
|
import { updateUser } from '../../../roomStore/chatSettingsSlice';
|
|
12
12
|
import { View } from 'react-native';
|
|
13
|
-
import { pickImageAsset } from '../../../helpers/pickImageAsset';
|
|
14
|
-
|
|
15
|
-
// import { actionUpdateUser } from '../actions';
|
|
16
13
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
+
// import { actionUpdateUser } from '../actions';
|
|
15
|
+
|
|
16
|
+
const base64ToFile = (base64String, fileName) => {
|
|
17
|
+
const byteString = atob(base64String.split(',')[1]);
|
|
18
|
+
const arrayBuffer = new ArrayBuffer(byteString.length);
|
|
19
|
+
const uintArray = new Uint8Array(arrayBuffer);
|
|
20
|
+
for (let i = 0; i < byteString.length; i++) {
|
|
21
|
+
uintArray[i] = byteString.charCodeAt(i);
|
|
22
|
+
}
|
|
23
|
+
const blob = new Blob([uintArray], {
|
|
24
|
+
type: 'image/jpeg'
|
|
25
|
+
});
|
|
26
|
+
return new File([blob], fileName, {
|
|
27
|
+
type: 'image/jpeg',
|
|
28
|
+
lastModified: Date.now()
|
|
29
|
+
});
|
|
30
|
+
};
|
|
17
31
|
const EditUserModal = ({
|
|
18
32
|
setIsEditing,
|
|
19
33
|
modalUser,
|
|
@@ -27,7 +41,10 @@ const EditUserModal = ({
|
|
|
27
41
|
const onSave = async () => {
|
|
28
42
|
try {
|
|
29
43
|
let fd = new FormData();
|
|
30
|
-
if (
|
|
44
|
+
if (typeof profileImage === 'string' && profileImage.startsWith('data:image/')) {
|
|
45
|
+
const file = base64ToFile(profileImage, 'profileImage.jpg');
|
|
46
|
+
fd.append('file', file);
|
|
47
|
+
} else if (profileImage instanceof File) {
|
|
31
48
|
fd.append('file', profileImage);
|
|
32
49
|
}
|
|
33
50
|
fd.append('firstName', firstName);
|
|
@@ -49,11 +66,8 @@ const EditUserModal = ({
|
|
|
49
66
|
console.log('error', error);
|
|
50
67
|
}
|
|
51
68
|
};
|
|
52
|
-
const handleProfileImageChange =
|
|
53
|
-
|
|
54
|
-
if (picked) {
|
|
55
|
-
setProfileImage(picked);
|
|
56
|
-
}
|
|
69
|
+
const handleProfileImageChange = image => {
|
|
70
|
+
setProfileImage(image);
|
|
57
71
|
};
|
|
58
72
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
59
73
|
children: [/*#__PURE__*/_jsx(ModalHeaderComponent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","ProfileImagePlaceholder","Button","InputWithLabel","ModalHeaderComponent","CenterContainer","updateProfile","useDispatch","updateUser","View","
|
|
1
|
+
{"version":3,"names":["React","useState","ProfileImagePlaceholder","Button","InputWithLabel","ModalHeaderComponent","CenterContainer","updateProfile","useDispatch","updateUser","View","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","base64ToFile","base64String","fileName","byteString","atob","split","arrayBuffer","ArrayBuffer","length","uintArray","Uint8Array","i","charCodeAt","blob","Blob","type","File","lastModified","Date","now","EditUserModal","setIsEditing","modalUser","config","dispatch","firstName","setFirstName","lastName","setLastName","description","setDescription","profileImage","setProfileImage","onSave","fd","FormData","startsWith","file","append","user","updates","error","console","log","handleProfileImageChange","image","children","handleCloseModal","rightMenu","onPress","variant","style","width","color","text","icon","name","size","upload","onUpload","active","display","flexDirection","gap","justifyContent","alignItems","colors","primary","placeholder","label","value","onChangeText"],"sourceRoot":"../../../../../src","sources":["components/Modals/UserProfileModal/EditUserModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import React, { useState, useCallback, useEffect, useRef } from 'react';
|
|
|
6
6
|
import { MessageInputContainer, InputContainer, MessageInput } from './StyledInputComponents/StyledInputComponents';
|
|
7
7
|
import Button from './Button';
|
|
8
8
|
import { SendIcon, AttachIcon, RecordIcon } from '../../assets/icons';
|
|
9
|
-
import { View, Text, TouchableOpacity, Alert, Linking } from 'react-native';
|
|
9
|
+
import { Platform, View, Text, TouchableOpacity, Alert, Linking } from 'react-native';
|
|
10
10
|
import AttachSheet from '../Modals/AttachSheet/AttachSheet';
|
|
11
11
|
import { MediaFilePreview } from './MediaFilePreview';
|
|
12
12
|
import { getIconColor } from '../../helpers/getIconColor';
|
|
@@ -225,6 +225,16 @@ const SendInput = ({
|
|
|
225
225
|
}
|
|
226
226
|
pickingDocRef.current = true;
|
|
227
227
|
try {
|
|
228
|
+
// Let the attach-sheet's modal finish its NATIVE dismissal before we
|
|
229
|
+
// present the picker. The sheet fires this handler right after its
|
|
230
|
+
// slide-out animation, but the underlying RN Modal view-controller
|
|
231
|
+
// dismissal is async — presenting the document picker over a still-
|
|
232
|
+
// dismissing modal makes iOS tear it down without a cancel callback,
|
|
233
|
+
// which strands expo-document-picker's pickingContext and makes every
|
|
234
|
+
// subsequent open throw "Different document picking in progress".
|
|
235
|
+
if (Platform.OS === 'ios') {
|
|
236
|
+
await new Promise(resolve => setTimeout(resolve, 350));
|
|
237
|
+
}
|
|
228
238
|
const result = await DocumentPicker.getDocumentAsync({
|
|
229
239
|
type: '*/*',
|
|
230
240
|
multiple: false,
|