@ethora/chat-component-rn 26.7.1 → 26.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +22 -0
  3. package/lib/commonjs/assets/icons.js +2 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatRoom.js +60 -3
  6. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatWrapper.js +18 -0
  8. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/MessageList.js +9 -3
  10. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  11. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +110 -37
  12. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  13. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -14
  14. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  15. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +130 -125
  16. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  17. package/lib/commonjs/components/styled/SendInput.js +0 -10
  18. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  19. package/lib/commonjs/context/xmppProvider.js +12 -0
  20. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  21. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  22. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  23. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  24. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  25. package/lib/commonjs/hooks/useChatWrapperInit.js +15 -0
  26. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  27. package/lib/commonjs/hooks/useComposing.js +27 -0
  28. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  29. package/lib/commonjs/hooks/useSendMessage.js +27 -1
  30. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  31. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  32. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  33. package/lib/commonjs/main.js +6 -0
  34. package/lib/commonjs/main.js.map +1 -1
  35. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
  36. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  37. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  38. package/lib/commonjs/roomStore/roomsSlice.js +2 -2
  39. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  40. package/lib/module/assets/icons.js +1 -1
  41. package/lib/module/assets/icons.js.map +1 -1
  42. package/lib/module/components/MainComponents/ChatRoom.js +61 -4
  43. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  44. package/lib/module/components/MainComponents/ChatWrapper.js +19 -1
  45. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  46. package/lib/module/components/MainComponents/MessageList.js +9 -3
  47. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  48. package/lib/module/components/Menu/HeaderRoomListMenu.js +110 -38
  49. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  50. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +16 -14
  51. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  52. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +130 -125
  53. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  54. package/lib/module/components/styled/SendInput.js +1 -11
  55. package/lib/module/components/styled/SendInput.js.map +1 -1
  56. package/lib/module/context/xmppProvider.js +12 -0
  57. package/lib/module/context/xmppProvider.js.map +1 -1
  58. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  59. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  60. package/lib/module/helpers/shallowEqual.js +31 -0
  61. package/lib/module/helpers/shallowEqual.js.map +1 -0
  62. package/lib/module/hooks/useChatWrapperInit.js +15 -0
  63. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  64. package/lib/module/hooks/useComposing.js +28 -1
  65. package/lib/module/hooks/useComposing.js.map +1 -1
  66. package/lib/module/hooks/useSendMessage.js +28 -2
  67. package/lib/module/hooks/useSendMessage.js.map +1 -1
  68. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  69. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  70. package/lib/module/main.js +1 -1
  71. package/lib/module/main.js.map +1 -1
  72. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
  73. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  74. package/lib/module/networking/xmppClient.js.map +1 -1
  75. package/lib/module/roomStore/roomsSlice.js +1 -1
  76. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  77. package/lib/typescript/assets/icons.d.ts +4 -0
  78. package/lib/typescript/assets/icons.d.ts.map +1 -1
  79. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  80. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  81. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  82. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  83. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  84. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  85. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  86. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  87. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  88. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  89. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  90. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  91. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  92. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  93. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  94. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  95. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  96. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  97. package/lib/typescript/main.d.ts +1 -1
  98. package/lib/typescript/main.d.ts.map +1 -1
  99. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -0
  100. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  101. package/lib/typescript/networking/xmppClient.d.ts +1 -0
  102. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  103. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -0
  104. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  105. package/lib/typescript/types/types.d.ts +13 -0
  106. package/lib/typescript/types/types.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/src/assets/icons.tsx +19 -0
  109. package/src/components/MainComponents/ChatRoom.tsx +63 -1
  110. package/src/components/MainComponents/ChatWrapper.tsx +19 -1
  111. package/src/components/MainComponents/MessageList.tsx +19 -2
  112. package/src/components/Menu/HeaderRoomListMenu.tsx +105 -11
  113. package/src/components/Modals/AttachSheet/AttachSheet.tsx +16 -14
  114. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +8 -6
  115. package/src/components/styled/SendInput.tsx +0 -10
  116. package/src/context/xmppProvider.tsx +14 -0
  117. package/src/helpers/historyPreloadScheduler.ts +80 -3
  118. package/src/helpers/shallowEqual.ts +33 -0
  119. package/src/hooks/useChatWrapperInit.ts +15 -0
  120. package/src/hooks/useComposing.tsx +37 -1
  121. package/src/hooks/useSendMessage.tsx +32 -2
  122. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  123. package/src/main.ts +1 -1
  124. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +17 -3
  125. package/src/networking/xmppClient.ts +5 -1
  126. package/src/roomStore/roomsSlice.ts +1 -1
  127. package/src/types/types.ts +22 -0
@@ -1,12 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useMemo } from 'react';
4
- import { Animated, Text, TouchableOpacity, TouchableWithoutFeedback, StyleSheet, Dimensions, View } from 'react-native';
5
- import { AddNewIcon, ProfileIcon, SettingIcon } from '../../assets/icons';
4
+ import { Alert, Animated, Text, TouchableOpacity, TouchableWithoutFeedback, StyleSheet, Dimensions, View } from 'react-native';
5
+ import { AddNewIcon, LogoutIcon, 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';
9
11
  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
+ };
10
59
  const {
11
60
  width
12
61
  } = Dimensions.get('window');
@@ -17,46 +66,66 @@ export const HeaderRoomListMenu = ({
17
66
  closeDrawer
18
67
  }) => {
19
68
  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';
20
75
  const drawerTranslateX = drawerAnimation.interpolate({
21
76
  inputRange: [0, 1],
22
77
  outputRange: [width, 0]
23
78
  });
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'
79
+ const menuOptions = useMemo(() => {
80
+ const options = [{
81
+ label: 'New Chat',
82
+ icon: /*#__PURE__*/_jsx(AddNewIcon, {
83
+ color: "#8C8C8C"
84
+ }),
85
+ onClick: () => {
86
+ dispatch(setActiveModal(MODAL_TYPES.NEW_CHAT));
87
+ console.log('New chat clicked');
88
+ },
89
+ styles: {
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
+ });
35
126
  }
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
- ], []);
127
+ return options;
128
+ }, [dispatch, logoutConfig, performLogout, primaryColor, closeDrawer]);
60
129
  return /*#__PURE__*/_jsxs(_Fragment, {
61
130
  children: [/*#__PURE__*/_jsx(Animated.View, {
62
131
  style: [styles.drawer, {
@@ -68,9 +137,12 @@ export const HeaderRoomListMenu = ({
68
137
  style: styles.menuItemWrapper,
69
138
  children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
70
139
  style: styles.menuItem,
140
+ testID: `header-menu-${option.label}`,
71
141
  onPress: () => {
72
142
  option.onClick();
73
- closeDrawer();
143
+ if (!option.closesDrawer) {
144
+ closeDrawer();
145
+ }
74
146
  },
75
147
  children: [/*#__PURE__*/_jsx(View, {
76
148
  style: {
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["React","useMemo","Alert","Animated","Text","TouchableOpacity","TouchableWithoutFeedback","StyleSheet","Dimensions","View","AddNewIcon","LogoutIcon","ProfileIcon","SettingIcon","useDispatch","setActiveModal","MODAL_TYPES","useChatSettingState","useLogout","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_LOGOUT_LABEL","confirmLogout","confirm","label","Promise","resolve","copy","alert","title","message","text","cancelText","style","onPress","confirmText","cancelable","onDismiss","runLogoutFlow","logoutConfig","performLogout","confirmed","onBeforeLogout","proceed","e","console","warn","onAfterLogout","width","get","HeaderRoomListMenu","isDrawerOpen","drawerAnimation","overlayAnimation","closeDrawer","dispatch","config","logout","enabled","undefined","primaryColor","colors","primary","drawerTranslateX","interpolate","inputRange","outputRange","menuOptions","options","icon","color","onClick","NEW_CHAT","log","styles","PROFILE","SETTINGS","push","closesDrawer","catch","children","drawer","transform","translateX","map","option","index","menuItemWrapper","menuItem","testID","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,12 +24,13 @@ 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.
32
27
  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
+ };
33
34
 
34
35
  // Local "modal stays mounted while animating out" state. The parent
35
36
  // controls `visible`; we mirror it but delay unmount until the exit
@@ -76,8 +77,6 @@ const AttachSheet = ({
76
77
  if (!mounted) {
77
78
  return;
78
79
  }
79
- // Exit: fade the backdrop, slide the sheet down, then unmount and
80
- // fire any pending picker handler.
81
80
  Animated.parallel([Animated.timing(backdropOpacity, {
82
81
  toValue: 0,
83
82
  duration: 180,
@@ -95,19 +94,19 @@ const AttachSheet = ({
95
94
  return;
96
95
  } // interrupted (rapid re-open) → leave state alone
97
96
  setMounted(false);
98
- const fn = pendingRef.current;
99
- pendingRef.current = null;
100
- fn?.();
97
+ if (Platform.OS !== 'ios') {
98
+ runPending();
99
+ }
101
100
  });
102
101
  return undefined;
103
102
  }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
104
103
 
105
104
  const trigger = handler => () => {
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.
105
+ console.log('[timing] row tap', Date.now());
110
106
  pendingRef.current = handler;
107
+ if (Platform.OS === 'ios') {
108
+ setMounted(false);
109
+ }
111
110
  onClose();
112
111
  };
113
112
  const rows = [{
@@ -138,11 +137,13 @@ const AttachSheet = ({
138
137
  // Hardware-back / iOS gesture also routes through onClose, which
139
138
  // flips `visible` and triggers our exit animation above.
140
139
  ,
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",
146
147
  style: StyleSheet.absoluteFill,
147
148
  activeOpacity: 1,
148
149
  onPress: onClose
@@ -165,6 +166,7 @@ const AttachSheet = ({
165
166
  Icon,
166
167
  handler
167
168
  }, idx) => /*#__PURE__*/_jsxs(TouchableOpacity, {
169
+ testID: `attach-row-${label}`,
168
170
  activeOpacity: 0.6,
169
171
  style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
170
172
  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","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":[]}
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","runPending","console","log","Date","now","fn","current","mounted","setMounted","backdropOpacity","Value","sheetTranslateY","setValue","raf","requestAnimationFrame","parallel","timing","toValue","duration","easing","out","cubic","useNativeDriver","spring","tension","friction","start","cancelAnimationFrame","in","finished","OS","undefined","trigger","handler","rows","label","hint","Icon","transparent","animationType","onRequestClose","onDismiss","children","style","styles","backdrop","opacity","testID","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","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":[]}
@@ -248,144 +248,149 @@ const ChatProfileModal = ({
248
248
  })
249
249
  })]
250
250
  })
251
- }), /*#__PURE__*/_jsxs(CenterContainer, {
252
- children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
253
- name: activeRoom.title || activeRoom.name,
254
- icon: appendFileToken(activeRoom.icon, fileToken)
255
- // Two gates control whether the icon is editable:
256
- // 1. role — only non-participants could edit before.
257
- // 2. NEW: `disableChatInfo.disableIconEdit` — hard kill from
258
- // config so a consumer can make the icon read-only for
259
- // everyone (e.g. branded rooms, patient-facing apps).
260
- // Both must allow it for the picker/remove affordances to show.
261
- ,
262
- upload: {
263
- onUpload,
264
- active: !config?.disableChatInfo?.disableIconEdit && activeRoom?.role !== 'participant'
265
- },
266
- remove: {
267
- enabled: !config?.disableChatInfo?.disableIconEdit,
268
- onRemoveClick
269
- },
270
- role: activeRoom?.role,
271
- size: 128
272
- }), /*#__PURE__*/_jsxs(UserInfo, {
273
- children: [/*#__PURE__*/_jsx(UserName, {
274
- fontSize: config?.typography?.profile?.title?.fontSize,
275
- fontWeight: config?.typography?.profile?.title?.fontWeight,
276
- children: activeRoom.title || activeRoom.name
277
- }), /*#__PURE__*/_jsxs(UserStatus, {
278
- style: getElementFont(config, 'profileStatus'),
279
- children: [activeRoom.usersCnt, ' ', activeRoom.usersCnt > 1 ? 'members' : 'member']
280
- })]
281
- }), activeRoom.role === 'moderator' && activeRoom.type === 'group' && /*#__PURE__*/_jsx(_Fragment, {
282
- children: /*#__PURE__*/_jsx(SelectUsersModal, {})
283
- }), !config?.disableChatInfo?.disableDescription && /*#__PURE__*/_jsxs(BorderedContainer, {
284
- children: [/*#__PURE__*/_jsx(LabelData, {
285
- style: getElementFont(config, 'profileSectionLabel'),
286
- children: "Description"
287
- }), /*#__PURE__*/_jsx(Label, {
288
- children: activeRoom?.description || '—'
289
- })]
290
- }), !config?.disableChatInfo?.disableType && /*#__PURE__*/_jsxs(BorderedContainer, {
291
- children: [/*#__PURE__*/_jsx(LabelData, {
292
- style: getElementFont(config, 'profileSectionLabel'),
293
- children: "Chat type"
294
- }), /*#__PURE__*/_jsx(Label, {
295
- children: activeRoom.type || '—'
296
- })]
297
- }), !config?.disableChatInfo?.hideMembers && /*#__PURE__*/_jsx(BorderedContainer, {
298
- style: {
299
- paddingHorizontal: 16,
300
- paddingVertical: 8
301
- },
302
- children: loading ? /*#__PURE__*/_jsx(Loader, {}) : (activeRoom?.roomMembers?.length ?? 0) === 0 ? /*#__PURE__*/_jsx(Label, {
303
- style: {
304
- opacity: 0.6,
305
- textAlign: 'center',
306
- paddingVertical: 8
251
+ }), /*#__PURE__*/_jsx(ScrollView, {
252
+ style: {
253
+ width: '100%',
254
+ flex: 1
255
+ },
256
+ contentContainerStyle: {
257
+ flexGrow: 1
258
+ },
259
+ showsVerticalScrollIndicator: true,
260
+ children: /*#__PURE__*/_jsxs(CenterContainer, {
261
+ children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
262
+ name: activeRoom.title || activeRoom.name,
263
+ icon: appendFileToken(activeRoom.icon, fileToken)
264
+ // Two gates control whether the icon is editable:
265
+ // 1. role — only non-participants could edit before.
266
+ // 2. NEW: `disableChatInfo.disableIconEdit` — hard kill from
267
+ // config so a consumer can make the icon read-only for
268
+ // everyone (e.g. branded rooms, patient-facing apps).
269
+ // Both must allow it for the picker/remove affordances to show.
270
+ ,
271
+ upload: {
272
+ onUpload,
273
+ active: !config?.disableChatInfo?.disableIconEdit && activeRoom?.role !== 'participant'
307
274
  },
308
- children: "Member list unavailable"
309
- }) : /*#__PURE__*/_jsx(ScrollView, {
275
+ remove: {
276
+ enabled: !config?.disableChatInfo?.disableIconEdit,
277
+ onRemoveClick
278
+ },
279
+ role: activeRoom?.role,
280
+ size: 128
281
+ }), /*#__PURE__*/_jsxs(UserInfo, {
282
+ children: [/*#__PURE__*/_jsx(UserName, {
283
+ fontSize: config?.typography?.profile?.title?.fontSize,
284
+ fontWeight: config?.typography?.profile?.title?.fontWeight,
285
+ children: activeRoom.title || activeRoom.name
286
+ }), /*#__PURE__*/_jsxs(UserStatus, {
287
+ style: getElementFont(config, 'profileStatus'),
288
+ children: [activeRoom.usersCnt, ' ', activeRoom.usersCnt > 1 ? 'members' : 'member']
289
+ })]
290
+ }), activeRoom.role === 'moderator' && activeRoom.type === 'group' && /*#__PURE__*/_jsx(_Fragment, {
291
+ children: /*#__PURE__*/_jsx(SelectUsersModal, {})
292
+ }), !config?.disableChatInfo?.disableDescription && /*#__PURE__*/_jsxs(BorderedContainer, {
293
+ children: [/*#__PURE__*/_jsx(LabelData, {
294
+ style: getElementFont(config, 'profileSectionLabel'),
295
+ children: "Description"
296
+ }), /*#__PURE__*/_jsx(Label, {
297
+ children: activeRoom?.description || '—'
298
+ })]
299
+ }), !config?.disableChatInfo?.disableType && /*#__PURE__*/_jsxs(BorderedContainer, {
300
+ children: [/*#__PURE__*/_jsx(LabelData, {
301
+ style: getElementFont(config, 'profileSectionLabel'),
302
+ children: "Chat type"
303
+ }), /*#__PURE__*/_jsx(Label, {
304
+ children: activeRoom.type || '—'
305
+ })]
306
+ }), !config?.disableChatInfo?.hideMembers && /*#__PURE__*/_jsx(BorderedContainer, {
310
307
  style: {
311
- maxHeight: 400
308
+ paddingHorizontal: 16,
309
+ paddingVertical: 8
312
310
  },
313
- showsVerticalScrollIndicator: true,
314
- nestedScrollEnabled: true,
315
- children: activeRoom?.roomMembers?.map((user, index) => /*#__PURE__*/_jsxs(View, {
311
+ children: loading ? /*#__PURE__*/_jsx(Loader, {}) : (activeRoom?.roomMembers?.length ?? 0) === 0 ? /*#__PURE__*/_jsx(Label, {
316
312
  style: {
317
- flexDirection: 'column',
318
- alignItems: 'flex-start'
313
+ opacity: 0.6,
314
+ textAlign: 'center',
315
+ paddingVertical: 8
319
316
  },
320
- children: [/*#__PURE__*/_jsxs(View, {
317
+ children: "Member list unavailable"
318
+ }) : /*#__PURE__*/_jsx(View, {
319
+ children: activeRoom?.roomMembers?.map((user, index) => /*#__PURE__*/_jsxs(View, {
321
320
  style: {
322
- flexDirection: 'row',
323
- justifyContent: 'flex-start',
324
- paddingHorizontal: 8,
325
- paddingVertical: 0,
326
- alignItems: 'center',
327
- width: '100%'
321
+ flexDirection: 'column',
322
+ alignItems: 'flex-start'
328
323
  },
329
- children: [/*#__PURE__*/_jsxs(Pressable, {
324
+ children: [/*#__PURE__*/_jsxs(View, {
330
325
  style: {
331
326
  flexDirection: 'row',
332
- alignItems: 'center',
333
327
  justifyContent: 'flex-start',
334
- gap: 16
335
- }
336
- // `disableChatInfo.disableMemberTap` blocks the
337
- // tap entirely so the user-profile popup never
338
- // opens. `disableMemberProfileActions` only hid
339
- // the action buttons INSIDE that popup, leaving
340
- // the popup itself to open on tap — this gate
341
- // closes the door. Customer-reported #16.
342
- ,
343
- onPress: config?.disableChatInfo?.disableMemberTap ? undefined : () => handleUserAvatarClick(user),
344
- disabled: !!config?.disableChatInfo?.disableMemberTap,
345
- children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
346
- name: `${user.firstName} ${user.lastName}`,
347
- size: 40
348
- }), /*#__PURE__*/_jsxs(View, {
328
+ paddingHorizontal: 8,
329
+ paddingVertical: 0,
330
+ alignItems: 'center',
331
+ width: '100%'
332
+ },
333
+ children: [/*#__PURE__*/_jsxs(Pressable, {
349
334
  style: {
350
- flexDirection: 'column',
351
- gap: 2,
352
- alignItems: 'flex-start',
353
- justifyContent: 'center'
354
- },
355
- children: [/*#__PURE__*/_jsxs(Label, {
356
- style: [{
357
- fontSize: 16,
358
- fontWeight: 600
359
- }, chatTextStyle(config?.typography?.profile?.memberName)],
360
- children: [user.firstName, " ", user.lastName]
361
- }), user.last_active && /*#__PURE__*/_jsx(LabelData, {
362
- style: getElementFont(config, 'profileSectionLabel'),
363
- children: new Date(user.last_active * 1000).toLocaleString()
335
+ flexDirection: 'row',
336
+ alignItems: 'center',
337
+ justifyContent: 'flex-start',
338
+ gap: 16
339
+ }
340
+ // `disableChatInfo.disableMemberTap` blocks the
341
+ // tap entirely so the user-profile popup never
342
+ // opens. `disableMemberProfileActions` only hid
343
+ // the action buttons INSIDE that popup, leaving
344
+ // the popup itself to open on tap — this gate
345
+ // closes the door. Customer-reported #16.
346
+ ,
347
+ onPress: config?.disableChatInfo?.disableMemberTap ? undefined : () => handleUserAvatarClick(user),
348
+ disabled: !!config?.disableChatInfo?.disableMemberTap,
349
+ children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
350
+ name: `${user.firstName} ${user.lastName}`,
351
+ size: 40
352
+ }), /*#__PURE__*/_jsxs(View, {
353
+ style: {
354
+ flexDirection: 'column',
355
+ gap: 2,
356
+ alignItems: 'flex-start',
357
+ justifyContent: 'center'
358
+ },
359
+ children: [/*#__PURE__*/_jsxs(Label, {
360
+ style: [{
361
+ fontSize: 16,
362
+ fontWeight: 600
363
+ }, chatTextStyle(config?.typography?.profile?.memberName)],
364
+ children: [user.firstName, " ", user.lastName]
365
+ }), user.last_active && /*#__PURE__*/_jsx(LabelData, {
366
+ style: getElementFont(config, 'profileSectionLabel'),
367
+ children: new Date(user.last_active * 1000).toLocaleString()
368
+ })]
364
369
  })]
370
+ }), user.role && user.role !== 'none' && /*#__PURE__*/_jsx(Text, {
371
+ style: {
372
+ backgroundColor: user.ban_status !== 'banned' ? '#F3F6FC' : '#FFEBEE',
373
+ color: user.ban_status !== 'banned' ? '#0052CD' : '#F44336',
374
+ padding: 5,
375
+ borderRadius: 16,
376
+ fontSize: 12
377
+ },
378
+ children: user.role
379
+ }), stateUser.xmppUsername !== user.xmppUsername && activeRoom.role === 'moderator' && activeRoom.type !== 'private' && /*#__PURE__*/_jsx(DropdownMenu, {
380
+ options: menuOptions(user.xmppUsername),
381
+ openButton: /*#__PURE__*/_jsx(Button, {
382
+ onPress: () => {},
383
+ children: /*#__PURE__*/_jsx(Text, {
384
+ children: "More Options"
385
+ })
386
+ }),
387
+ onClose: () => console.log('Dropdown closed')
365
388
  })]
366
- }), user.role && user.role !== 'none' && /*#__PURE__*/_jsx(Text, {
367
- style: {
368
- backgroundColor: user.ban_status !== 'banned' ? '#F3F6FC' : '#FFEBEE',
369
- color: user.ban_status !== 'banned' ? '#0052CD' : '#F44336',
370
- padding: 5,
371
- borderRadius: 16,
372
- fontSize: 12
373
- },
374
- children: user.role
375
- }), stateUser.xmppUsername !== user.xmppUsername && activeRoom.role === 'moderator' && activeRoom.type !== 'private' && /*#__PURE__*/_jsx(DropdownMenu, {
376
- options: menuOptions(user.xmppUsername),
377
- openButton: /*#__PURE__*/_jsx(Button, {
378
- onPress: () => {},
379
- children: /*#__PURE__*/_jsx(Text, {
380
- children: "More Options"
381
- })
382
- }),
383
- onClose: () => console.log('Dropdown closed')
384
- })]
385
- }), index < (activeRoom?.roomMembers?.length || 0) - 1 && /*#__PURE__*/_jsx(Divider, {})]
386
- }, user.xmppUsername))
387
- })
388
- })]
389
+ }), index < (activeRoom?.roomMembers?.length || 0) - 1 && /*#__PURE__*/_jsx(Divider, {})]
390
+ }, user.xmppUsername))
391
+ })
392
+ })]
393
+ })
389
394
  }), /*#__PURE__*/_jsx(DeleteChatModal, {
390
395
  isModalOpen: isModalOpen,
391
396
  setIsModalOpen: setIsModalOpen