@ethora/chat-component-rn 26.5.10 → 26.5.11

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 (111) hide show
  1. package/CHANGELOG.md +59 -1
  2. package/README.md +29 -1
  3. package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
  4. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatRoom.js +17 -3
  6. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatWrapper.js +17 -14
  8. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/MediaMessage.js +12 -9
  10. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  11. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
  12. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  13. package/lib/commonjs/components/MessageBubble/Message.js +39 -3
  14. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  15. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +64 -36
  16. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  17. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +153 -62
  18. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  19. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  20. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  21. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +5 -1
  22. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  23. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
  24. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  25. package/lib/commonjs/components/Modals/styledModalComponents.js +13 -4
  26. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  27. package/lib/commonjs/components/styled/StyledComponents.js +6 -3
  28. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  29. package/lib/commonjs/components/styled/VideoMessage.js +44 -25
  30. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  31. package/lib/commonjs/helpers/mimeToExtension.js +56 -0
  32. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  33. package/lib/commonjs/hooks/useLogout.js +33 -8
  34. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  35. package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
  36. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  37. package/lib/module/components/MainComponents/ChatHeader.js +31 -16
  38. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  39. package/lib/module/components/MainComponents/ChatRoom.js +18 -4
  40. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  41. package/lib/module/components/MainComponents/ChatWrapper.js +17 -14
  42. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  43. package/lib/module/components/MainComponents/MediaMessage.js +13 -10
  44. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  45. package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
  46. package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  47. package/lib/module/components/MessageBubble/Message.js +40 -4
  48. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  49. package/lib/module/components/MessageBubble/MessageInteractions.js +66 -38
  50. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  51. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -64
  52. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  53. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  54. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  55. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  56. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  57. package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
  58. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  59. package/lib/module/components/Modals/styledModalComponents.js +13 -4
  60. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/module/components/styled/StyledComponents.js +6 -3
  62. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  63. package/lib/module/components/styled/VideoMessage.js +45 -26
  64. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  65. package/lib/module/helpers/mimeToExtension.js +55 -0
  66. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  67. package/lib/module/hooks/useLogout.js +33 -8
  68. package/lib/module/hooks/useLogout.js.map +1 -1
  69. package/lib/module/networking/api-requests/rooms.api.js +29 -4
  70. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  71. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  72. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  73. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  74. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  75. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
  76. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
  77. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  78. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  79. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  80. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  81. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  82. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  83. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  84. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  85. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  86. package/lib/typescript/helpers/mimeToExtension.d.ts +8 -0
  87. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  88. package/lib/typescript/hooks/useLogout.d.ts +23 -1
  89. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  90. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  91. package/lib/typescript/types/types.d.ts +16 -0
  92. package/lib/typescript/types/types.d.ts.map +1 -1
  93. package/package.json +7 -4
  94. package/src/components/MainComponents/ChatHeader.tsx +46 -15
  95. package/src/components/MainComponents/ChatRoom.tsx +17 -3
  96. package/src/components/MainComponents/ChatWrapper.tsx +28 -21
  97. package/src/components/MainComponents/MediaMessage.tsx +11 -8
  98. package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
  99. package/src/components/MessageBubble/Message.tsx +44 -3
  100. package/src/components/MessageBubble/MessageInteractions.tsx +67 -48
  101. package/src/components/Modals/AttachSheet/AttachSheet.tsx +144 -51
  102. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
  103. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +10 -2
  104. package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
  105. package/src/components/Modals/styledModalComponents.tsx +13 -4
  106. package/src/components/styled/StyledComponents.ts +6 -3
  107. package/src/components/styled/VideoMessage.tsx +21 -5
  108. package/src/helpers/mimeToExtension.ts +64 -0
  109. package/src/hooks/useLogout.tsx +33 -10
  110. package/src/networking/api-requests/rooms.api.ts +31 -7
  111. package/src/types/types.ts +16 -0
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import React, { useMemo, useState } from 'react';
3
+ import React, { useEffect, useId, useMemo, useState } from 'react';
4
4
  import { Delimeter, MenuItem } from '../ContextMenu/ContextMenuComponents';
5
5
  import { useSelector } from 'react-redux';
6
6
  import { MESSAGE_INTERACTIONS, MESSAGE_INTERACTIONS_ICONS } from '../../helpers/constants/MESSAGE_INTERACTIONS';
7
- import { Modal, Text, StyleSheet, View, Pressable, Dimensions } from 'react-native';
7
+ import { Text, StyleSheet, View, Pressable, Dimensions } from 'react-native';
8
8
  import * as Clipboard from 'expo-clipboard';
9
9
  import { useToast } from '../../context/ToastContext';
10
+ import { useInteractionsOverlay } from './InteractionsOverlay';
10
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
12
  const MessageInteractions = ({
12
13
  isReply,
@@ -21,6 +22,13 @@ const MessageInteractions = ({
21
22
  const {
22
23
  showToast
23
24
  } = useToast();
25
+ const {
26
+ present,
27
+ dismiss,
28
+ originX,
29
+ originY
30
+ } = useInteractionsOverlay();
31
+ const overlayId = useId();
24
32
  const config = useSelector(state => state.chatSettingStore.config);
25
33
  const [menuSize, setMenuSize] = useState({
26
34
  width: 0,
@@ -99,48 +107,68 @@ const MessageInteractions = ({
99
107
  left
100
108
  };
101
109
  }, [position, menuSize, config?.keyboardVerticalOffset]);
102
- if (config?.disableInteractions) {
103
- return null;
104
- }
105
- return /*#__PURE__*/_jsx(Modal, {
106
- transparent: true,
107
- animationType: "fade",
108
- visible: true,
109
- onRequestClose: closeMenu,
110
- children: !message.isDeleted && /*#__PURE__*/_jsxs(View, {
111
- style: styles.overlayFill,
112
- children: [/*#__PURE__*/_jsx(Pressable, {
113
- style: StyleSheet.absoluteFill,
114
- onPress: closeMenu
115
- }), /*#__PURE__*/_jsxs(View, {
116
- style: [styles.contextMenu, memoPosition],
117
- onLayout: handleMenuLayout,
118
- children: [/*#__PURE__*/_jsxs(MenuItem, {
119
- onPress: () => handleCopyMessage(message.body),
120
- children: [/*#__PURE__*/_jsx(Text, {
121
- style: styles.menuText,
122
- children: MESSAGE_INTERACTIONS.COPY
123
- }), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.COPY, {})]
124
- }), isUser && /*#__PURE__*/_jsxs(_Fragment, {
125
- children: [message?.isMediafile !== 'true' && /*#__PURE__*/_jsxs(_Fragment, {
126
- children: [/*#__PURE__*/_jsx(Delimeter, {}), /*#__PURE__*/_jsxs(MenuItem, {
127
- onPress: handleEditMessage,
128
- children: [/*#__PURE__*/_jsx(Text, {
129
- style: styles.menuText,
130
- children: MESSAGE_INTERACTIONS.EDIT
131
- }), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.EDIT, {})]
132
- })]
133
- }), /*#__PURE__*/_jsx(Delimeter, {}), /*#__PURE__*/_jsxs(MenuItem, {
134
- onPress: handleDeleteMessage,
110
+
111
+ // Window coords (memoPosition) → host-local coords. The overlay host
112
+ // sits below the status bar / header, so subtract its measured origin.
113
+ const localPosition = useMemo(() => {
114
+ if (!memoPosition) {
115
+ return undefined;
116
+ }
117
+ return {
118
+ ...memoPosition,
119
+ top: memoPosition.top - originY,
120
+ left: memoPosition.left - originX
121
+ };
122
+ }, [memoPosition, originX, originY]);
123
+ const content = config?.disableInteractions || message.isDeleted ? null : /*#__PURE__*/_jsxs(View, {
124
+ style: styles.overlayFill,
125
+ children: [/*#__PURE__*/_jsx(Pressable, {
126
+ style: StyleSheet.absoluteFill,
127
+ onPress: closeMenu
128
+ }), /*#__PURE__*/_jsxs(View, {
129
+ style: [styles.contextMenu, localPosition],
130
+ onLayout: handleMenuLayout,
131
+ children: [/*#__PURE__*/_jsxs(MenuItem, {
132
+ onPress: () => handleCopyMessage(message.body),
133
+ children: [/*#__PURE__*/_jsx(Text, {
134
+ style: styles.menuText,
135
+ children: MESSAGE_INTERACTIONS.COPY
136
+ }), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.COPY, {})]
137
+ }), isUser && /*#__PURE__*/_jsxs(_Fragment, {
138
+ children: [message?.isMediafile !== 'true' && /*#__PURE__*/_jsxs(_Fragment, {
139
+ children: [/*#__PURE__*/_jsx(Delimeter, {}), /*#__PURE__*/_jsxs(MenuItem, {
140
+ onPress: handleEditMessage,
135
141
  children: [/*#__PURE__*/_jsx(Text, {
136
142
  style: styles.menuText,
137
- children: MESSAGE_INTERACTIONS.DELETE
138
- }), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.DELETE, {})]
143
+ children: MESSAGE_INTERACTIONS.EDIT
144
+ }), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.EDIT, {})]
139
145
  })]
146
+ }), /*#__PURE__*/_jsx(Delimeter, {}), /*#__PURE__*/_jsxs(MenuItem, {
147
+ onPress: handleDeleteMessage,
148
+ children: [/*#__PURE__*/_jsx(Text, {
149
+ style: styles.menuText,
150
+ children: MESSAGE_INTERACTIONS.DELETE
151
+ }), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.DELETE, {})]
140
152
  })]
141
153
  })]
142
- })
154
+ })]
155
+ });
156
+
157
+ // Render the menu in the in-tree overlay host instead of a React Native
158
+ // <Modal>. A Modal opens its own window on Android, which steals focus
159
+ // from the chat input and dismisses the keyboard when the menu opens;
160
+ // hosting it in the same view tree keeps the keyboard up. Re-run every
161
+ // render so menuSize/position updates refresh the hosted node.
162
+ // eslint-disable-next-line react-hooks/exhaustive-deps
163
+ useEffect(() => {
164
+ if (content) {
165
+ present(overlayId, content);
166
+ } else {
167
+ dismiss(overlayId);
168
+ }
143
169
  });
170
+ useEffect(() => () => dismiss(overlayId), [dismiss, overlayId]);
171
+ return null;
144
172
  };
145
173
  export default MessageInteractions;
146
174
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useState","Delimeter","MenuItem","useSelector","MESSAGE_INTERACTIONS","MESSAGE_INTERACTIONS_ICONS","Modal","Text","StyleSheet","View","Pressable","Dimensions","Clipboard","useToast","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","config","state","chatSettingStore","menuSize","setMenuSize","width","height","handleMenuLayout","e","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","undefined","top","bottom","left","opacity","screenWidth","screenHeight","get","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","disableInteractions","transparent","animationType","visible","onRequestClose","children","isDeleted","style","styles","overlayFill","absoluteFill","onPress","contextMenu","onLayout","body","menuText","COPY","isMediafile","EDIT","DELETE","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","minWidth","overflow","fontSize","color","includeFontPadding","textAlignVertical","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useId","useMemo","useState","Delimeter","MenuItem","useSelector","MESSAGE_INTERACTIONS","MESSAGE_INTERACTIONS_ICONS","Text","StyleSheet","View","Pressable","Dimensions","Clipboard","useToast","useInteractionsOverlay","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","present","dismiss","originX","originY","overlayId","config","state","chatSettingStore","menuSize","setMenuSize","width","height","handleMenuLayout","e","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","undefined","top","bottom","left","opacity","screenWidth","screenHeight","get","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","localPosition","content","disableInteractions","isDeleted","style","styles","overlayFill","children","absoluteFill","onPress","contextMenu","onLayout","body","menuText","COPY","isMediafile","EDIT","DELETE","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","minWidth","overflow","fontSize","color","includeFontPadding","textAlignVertical","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,10 +2,14 @@
2
2
 
3
3
  /** @format */
4
4
 
5
- import React, { useRef } from 'react';
6
- import { Modal, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
+ import React, { useEffect, useRef, useState } from 'react';
6
+ import { Animated, Easing, Modal, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
7
7
  import { CameraIcon, DocumentIcon, MediaIcon } from '../../../assets/icons';
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ // Starting translateY for the sheet. Larger than any realistic sheet
10
+ // height so it sits fully below the viewport before opening; the exact
11
+ // number doesn't matter visually because it animates to 0.
12
+ const SHEET_OFFSCREEN = 600;
9
13
  const AttachSheet = ({
10
14
  visible,
11
15
  onClose,
@@ -14,20 +18,91 @@ const AttachSheet = ({
14
18
  onDocument,
15
19
  primaryColor = '#0052CD'
16
20
  }) => {
21
+ // Pending handler captured on row tap — runs once the EXIT animation
22
+ // finishes so iOS doesn't try to present an image picker over a
23
+ // still-dismissing modal (was the original reason for the
24
+ // platform-split + Modal.onDismiss dance). The animation completion
25
+ // callback now drives this on both platforms.
17
26
  const pendingRef = useRef(null);
18
- const runPending = () => {
19
- const fn = pendingRef.current;
20
- pendingRef.current = null;
21
- fn?.();
22
- };
23
- const trigger = handler => () => {
24
- if (Platform.OS === 'ios') {
25
- pendingRef.current = handler;
26
- onClose();
27
- } else {
28
- onClose();
29
- setTimeout(handler, 150);
27
+
28
+ // Local "modal stays mounted while animating out" state. The parent
29
+ // controls `visible`; we mirror it but delay unmount until the exit
30
+ // animation has played so the slide-down is actually seen.
31
+ const [mounted, setMounted] = useState(visible);
32
+
33
+ // Two separate Animated values — the whole point of the rewrite:
34
+ // • backdropOpacity: fades the dim layer in/out (no slide).
35
+ // • sheetTranslateY: slides ONLY the sheet up from below.
36
+ // RN Modal's built-in `animationType="slide"` slides the entire
37
+ // contents (backdrop included) so the dim shade entered from the
38
+ // bottom — what looked "awful". Splitting these gives the standard
39
+ // bottom-sheet feel.
40
+ const backdropOpacity = useRef(new Animated.Value(0)).current;
41
+ const sheetTranslateY = useRef(new Animated.Value(SHEET_OFFSCREEN)).current;
42
+ useEffect(() => {
43
+ if (visible) {
44
+ setMounted(true);
45
+ // Reset to starting positions BEFORE the Modal becomes visible so
46
+ // the first animated frame is below-the-fold (not a flash of the
47
+ // settled sheet).
48
+ backdropOpacity.setValue(0);
49
+ sheetTranslateY.setValue(SHEET_OFFSCREEN);
50
+ // requestAnimationFrame lets the Modal commit its mount before the
51
+ // animation starts; without this the first frame can be skipped.
52
+ const raf = requestAnimationFrame(() => {
53
+ Animated.parallel([Animated.timing(backdropOpacity, {
54
+ toValue: 1,
55
+ duration: 220,
56
+ easing: Easing.out(Easing.cubic),
57
+ useNativeDriver: true
58
+ }), Animated.spring(sheetTranslateY, {
59
+ toValue: 0,
60
+ // Tuned for a quick-but-not-bouncy entry. tension is the
61
+ // "stiffness" knob, friction the "damping" knob in RN's
62
+ // spring config.
63
+ tension: 90,
64
+ friction: 14,
65
+ useNativeDriver: true
66
+ })]).start();
67
+ });
68
+ return () => cancelAnimationFrame(raf);
69
+ }
70
+ if (!mounted) {
71
+ return;
30
72
  }
73
+ // Exit: fade the backdrop, slide the sheet down, then unmount and
74
+ // fire any pending picker handler.
75
+ Animated.parallel([Animated.timing(backdropOpacity, {
76
+ toValue: 0,
77
+ duration: 180,
78
+ easing: Easing.in(Easing.cubic),
79
+ useNativeDriver: true
80
+ }), Animated.timing(sheetTranslateY, {
81
+ toValue: SHEET_OFFSCREEN,
82
+ duration: 220,
83
+ easing: Easing.in(Easing.cubic),
84
+ useNativeDriver: true
85
+ })]).start(({
86
+ finished
87
+ }) => {
88
+ if (!finished) {
89
+ return;
90
+ } // interrupted (rapid re-open) → leave state alone
91
+ setMounted(false);
92
+ const fn = pendingRef.current;
93
+ pendingRef.current = null;
94
+ fn?.();
95
+ });
96
+ return undefined;
97
+ }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
98
+
99
+ const trigger = handler => () => {
100
+ // Capture the handler and ask parent to close. The exit-animation
101
+ // completion above fires `handler` AFTER the sheet has slid away,
102
+ // so iOS no longer tries to present a picker over a dismissing
103
+ // modal — and Android no longer needs the ad-hoc 150ms setTimeout.
104
+ pendingRef.current = handler;
105
+ onClose();
31
106
  };
32
107
  const rows = [{
33
108
  label: 'Take photo',
@@ -47,60 +122,76 @@ const AttachSheet = ({
47
122
  }];
48
123
  return /*#__PURE__*/_jsx(Modal, {
49
124
  transparent: true,
50
- visible: visible,
51
- animationType: "slide",
52
- onRequestClose: onClose,
53
- onDismiss: runPending,
54
- children: /*#__PURE__*/_jsx(TouchableOpacity, {
55
- style: styles.backdrop,
56
- activeOpacity: 1,
57
- onPress: onClose,
58
- children: /*#__PURE__*/_jsxs(TouchableOpacity, {
125
+ visible: mounted
126
+ // We drive the animation ourselves — disable RN's built-in slide
127
+ // (which slid the backdrop too) so the fade + spring above are the
128
+ // only motion.
129
+ ,
130
+ animationType: "none",
131
+ onRequestClose: onClose
132
+ // Hardware-back / iOS gesture also routes through onClose, which
133
+ // flips `visible` and triggers our exit animation above.
134
+ ,
135
+ children: /*#__PURE__*/_jsxs(Animated.View, {
136
+ style: [styles.backdrop, {
137
+ opacity: backdropOpacity
138
+ }],
139
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
140
+ style: StyleSheet.absoluteFill,
59
141
  activeOpacity: 1,
60
- style: styles.sheet,
61
- children: [/*#__PURE__*/_jsx(View, {
62
- style: styles.grabber
63
- }), /*#__PURE__*/_jsx(Text, {
64
- style: styles.title,
65
- children: "Attach"
66
- }), rows.map(({
67
- label,
68
- hint,
69
- Icon,
70
- handler
71
- }, idx) => /*#__PURE__*/_jsxs(TouchableOpacity, {
72
- activeOpacity: 0.6,
73
- style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
74
- onPress: trigger(handler),
142
+ onPress: onClose
143
+ }), /*#__PURE__*/_jsx(Animated.View, {
144
+ style: [styles.sheet, {
145
+ transform: [{
146
+ translateY: sheetTranslateY
147
+ }]
148
+ }],
149
+ children: /*#__PURE__*/_jsxs(TouchableOpacity, {
150
+ activeOpacity: 1,
75
151
  children: [/*#__PURE__*/_jsx(View, {
76
- style: [styles.iconBubble, {
77
- backgroundColor: primaryColor + '14'
78
- }],
79
- children: /*#__PURE__*/_jsx(Icon, {
80
- color: primaryColor,
81
- width: 20,
82
- height: 20
83
- })
84
- }), /*#__PURE__*/_jsxs(View, {
85
- style: styles.rowText,
86
- children: [/*#__PURE__*/_jsx(Text, {
87
- style: styles.rowLabel,
88
- children: label
89
- }), /*#__PURE__*/_jsx(Text, {
90
- style: styles.rowHint,
91
- children: hint
152
+ style: styles.grabber
153
+ }), /*#__PURE__*/_jsx(Text, {
154
+ style: styles.title,
155
+ children: "Attach"
156
+ }), rows.map(({
157
+ label,
158
+ hint,
159
+ Icon,
160
+ handler
161
+ }, idx) => /*#__PURE__*/_jsxs(TouchableOpacity, {
162
+ activeOpacity: 0.6,
163
+ style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
164
+ onPress: trigger(handler),
165
+ children: [/*#__PURE__*/_jsx(View, {
166
+ style: [styles.iconBubble, {
167
+ backgroundColor: primaryColor + '14'
168
+ }],
169
+ children: /*#__PURE__*/_jsx(Icon, {
170
+ color: primaryColor,
171
+ width: 20,
172
+ height: 20
173
+ })
174
+ }), /*#__PURE__*/_jsxs(View, {
175
+ style: styles.rowText,
176
+ children: [/*#__PURE__*/_jsx(Text, {
177
+ style: styles.rowLabel,
178
+ children: label
179
+ }), /*#__PURE__*/_jsx(Text, {
180
+ style: styles.rowHint,
181
+ children: hint
182
+ })]
92
183
  })]
184
+ }, label)), /*#__PURE__*/_jsx(TouchableOpacity, {
185
+ activeOpacity: 0.6,
186
+ style: styles.cancelRow,
187
+ onPress: onClose,
188
+ children: /*#__PURE__*/_jsx(Text, {
189
+ style: styles.cancelLabel,
190
+ children: "Cancel"
191
+ })
93
192
  })]
94
- }, label)), /*#__PURE__*/_jsx(TouchableOpacity, {
95
- activeOpacity: 0.6,
96
- style: styles.cancelRow,
97
- onPress: onClose,
98
- children: /*#__PURE__*/_jsx(Text, {
99
- style: styles.cancelLabel,
100
- children: "Cancel"
101
- })
102
- })]
103
- })
193
+ })
194
+ })]
104
195
  })
105
196
  });
106
197
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","jsx","_jsx","jsxs","_jsxs","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","pendingRef","runPending","fn","current","trigger","handler","OS","setTimeout","rows","label","hint","Icon","transparent","animationType","onRequestClose","onDismiss","children","style","styles","backdrop","activeOpacity","onPress","sheet","grabber","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","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":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","Animated","Easing","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","jsx","_jsx","jsxs","_jsxs","SHEET_OFFSCREEN","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","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","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":[]}
@@ -245,13 +245,20 @@ const ChatProfileModal = ({
245
245
  }), /*#__PURE__*/_jsxs(CenterContainer, {
246
246
  children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
247
247
  name: activeRoom.title || activeRoom.name,
248
- icon: activeRoom.icon,
248
+ icon: activeRoom.icon
249
+ // Two gates control whether the icon is editable:
250
+ // 1. role — only non-participants could edit before.
251
+ // 2. NEW: `disableChatInfo.disableIconEdit` — hard kill from
252
+ // config so a consumer can make the icon read-only for
253
+ // everyone (e.g. branded rooms, patient-facing apps).
254
+ // Both must allow it for the picker/remove affordances to show.
255
+ ,
249
256
  upload: {
250
257
  onUpload,
251
- active: activeRoom?.role !== 'participant' ? true : false
258
+ active: !config?.disableChatInfo?.disableIconEdit && activeRoom?.role !== 'participant'
252
259
  },
253
260
  remove: {
254
- enabled: true,
261
+ enabled: !config?.disableChatInfo?.disableIconEdit,
255
262
  onRemoveClick
256
263
  },
257
264
  role: activeRoom?.role,
@@ -314,8 +321,16 @@ const ChatProfileModal = ({
314
321
  alignItems: 'center',
315
322
  justifyContent: 'flex-start',
316
323
  gap: 16
317
- },
318
- onPress: () => handleUserAvatarClick(user),
324
+ }
325
+ // `disableChatInfo.disableMemberTap` blocks the
326
+ // tap entirely so the user-profile popup never
327
+ // opens. `disableMemberProfileActions` only hid
328
+ // the action buttons INSIDE that popup, leaving
329
+ // the popup itself to open on tap — this gate
330
+ // closes the door. Customer-reported #16.
331
+ ,
332
+ onPress: config?.disableChatInfo?.disableMemberTap ? undefined : () => handleUserAvatarClick(user),
333
+ disabled: !!config?.disableChatInfo?.disableMemberTap,
319
334
  children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
320
335
  name: `${user.firstName} ${user.lastName}`,
321
336
  size: 40
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useState","CenterContainer","UserInfo","UserName","UserStatus","ModalContainerFullScreen","Label","BorderedContainer","LabelData","Divider","Pressable","View","Text","ScrollView","Alert","Linking","ModalHeaderComponent","ProfileImagePlaceholder","useDispatch","useSelector","getActiveRoom","uploadFile","useXmppClient","updateRoom","ImagePicker","Loader","Button","DeleteIcon","MoreIcon","QrIcon","useChatSettingState","deleteRoomMember","setActiveModal","setSelectedUser","MODAL_TYPES","DropdownMenu","SelectUsersModal","useToast","DeleteChatModal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ChatProfileModal","handleCloseModal","loading","setLoading","visible","setVisible","isModalOpen","setIsModalOpen","showToast","chatMenuOptions","label","icon","onClick","styles","color","dispatch","client","user","stateUser","config","activeRoom","state","jid","getRoomMembersStanza","onUpload","loadingSet","perm","requestMediaLibraryPermissionsAsync","granted","alert","text","onPress","style","openSettings","result","launchImageLibraryAsync","mediaTypes","allowsEditing","aspect","quality","canceled","assets","asset","originalName","fileName","uri","split","pop","fileObject","type","mimeType","name","Date","now","mediaData","FormData","append","uploadResult","location","data","results","setRoomImageStanza","updates","id","toString","title","message","error","code","console","log","handleDeleteUser","userId","roomId","members","roomMembers","filter","xmppUsername","onRemoveClick","handleUserAvatarClick","PROFILE","_id","firstName","lastName","userJID","token","refreshToken","menuOptions","SETTINGS","e","preventDefault","undefined","position","children","headerTitle","rightMenu","EndIcon","role","options","openButton","padding","height","unstyled","upload","active","remove","enabled","size","usersCnt","disableChatInfo","disableDescription","description","disableType","hideMembers","paddingHorizontal","paddingVertical","length","opacity","textAlign","maxHeight","showsVerticalScrollIndicator","nestedScrollEnabled","map","index","flexDirection","alignItems","justifyContent","width","gap","fontSize","fontWeight","last_active","toLocaleString","backgroundColor","ban_status","borderRadius","onClose"],"sourceRoot":"../../../../../src","sources":["components/Modals/ChatProfileModal/ChatProfileModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useState","CenterContainer","UserInfo","UserName","UserStatus","ModalContainerFullScreen","Label","BorderedContainer","LabelData","Divider","Pressable","View","Text","ScrollView","Alert","Linking","ModalHeaderComponent","ProfileImagePlaceholder","useDispatch","useSelector","getActiveRoom","uploadFile","useXmppClient","updateRoom","ImagePicker","Loader","Button","DeleteIcon","MoreIcon","QrIcon","useChatSettingState","deleteRoomMember","setActiveModal","setSelectedUser","MODAL_TYPES","DropdownMenu","SelectUsersModal","useToast","DeleteChatModal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ChatProfileModal","handleCloseModal","loading","setLoading","visible","setVisible","isModalOpen","setIsModalOpen","showToast","chatMenuOptions","label","icon","onClick","styles","color","dispatch","client","user","stateUser","config","activeRoom","state","jid","getRoomMembersStanza","onUpload","loadingSet","perm","requestMediaLibraryPermissionsAsync","granted","alert","text","onPress","style","openSettings","result","launchImageLibraryAsync","mediaTypes","allowsEditing","aspect","quality","canceled","assets","asset","originalName","fileName","uri","split","pop","fileObject","type","mimeType","name","Date","now","mediaData","FormData","append","uploadResult","location","data","results","setRoomImageStanza","updates","id","toString","title","message","error","code","console","log","handleDeleteUser","userId","roomId","members","roomMembers","filter","xmppUsername","onRemoveClick","handleUserAvatarClick","PROFILE","_id","firstName","lastName","userJID","token","refreshToken","menuOptions","SETTINGS","e","preventDefault","undefined","position","children","headerTitle","rightMenu","EndIcon","role","options","openButton","padding","height","unstyled","upload","active","disableChatInfo","disableIconEdit","remove","enabled","size","usersCnt","disableDescription","description","disableType","hideMembers","paddingHorizontal","paddingVertical","length","opacity","textAlign","maxHeight","showsVerticalScrollIndicator","nestedScrollEnabled","map","index","flexDirection","alignItems","justifyContent","width","gap","disableMemberTap","disabled","fontSize","fontWeight","last_active","toLocaleString","backgroundColor","ban_status","borderRadius","onClose"],"sourceRoot":"../../../../../src","sources":["components/Modals/ChatProfileModal/ChatProfileModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ import { useToast } from '../../../context/ToastContext';
17
17
  import PdfViewer from './PdfView';
18
18
  import DocumentViewer from './DocumentViewer';
19
19
  import AudioMessage from '../../styled/AudioMessage';
20
- import { ensureFilenameHasExtension } from '../../../helpers/mimeToExtension';
20
+ import { ensureFilenameHasExtension, isLikelyAudio } from '../../../helpers/mimeToExtension';
21
21
 
22
22
  // MIME types Google's gview embed renders reliably. Everything else
23
23
  // falls through to the info-card so the user can still download.
@@ -203,7 +203,11 @@ const FilePreviewModal = ({
203
203
  return /*#__PURE__*/_jsx(ModalVideo, {
204
204
  uri: activeFile.fileURL
205
205
  });
206
- case activeFile.mimetype.startsWith('audio/'):
206
+ // Mirrors the MediaMessage heuristic: treat octet-stream voicemails
207
+ // with audio-shaped filenames / URLs as audio so the preview shows
208
+ // the player instead of an "Unsupported" card. Customer-reported
209
+ // #9 voicemail fix — see isLikelyAudio in mimeToExtension.ts.
210
+ case isLikelyAudio(activeFile.mimetype, activeFile.fileName, activeFile.fileURL):
207
211
  return /*#__PURE__*/_jsxs(View, {
208
212
  style: {
209
213
  width: '100%',