@ethora/chat-component-rn 26.5.4 → 26.5.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.
Files changed (91) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +25 -4
  3. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +1 -7
  4. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  5. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +1 -38
  6. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  7. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -28
  8. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  9. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +9 -6
  10. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  11. package/lib/commonjs/components/UsersList/Checkbox.js +68 -0
  12. package/lib/commonjs/components/UsersList/Checkbox.js.map +1 -0
  13. package/lib/commonjs/components/UsersList/StyledComponents.js +1 -7
  14. package/lib/commonjs/components/UsersList/StyledComponents.js.map +1 -1
  15. package/lib/commonjs/components/UsersList/UsersList.js +3 -1
  16. package/lib/commonjs/components/UsersList/UsersList.js.map +1 -1
  17. package/lib/module/components/ContextMenu/ContextMenuComponents.js +0 -6
  18. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  19. package/lib/module/components/MessageBubble/MessageInteractions.js +3 -40
  20. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  21. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +21 -29
  22. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  23. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +9 -6
  24. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  25. package/lib/module/components/UsersList/Checkbox.js +63 -0
  26. package/lib/module/components/UsersList/Checkbox.js.map +1 -0
  27. package/lib/module/components/UsersList/StyledComponents.js +0 -6
  28. package/lib/module/components/UsersList/StyledComponents.js.map +1 -1
  29. package/lib/module/components/UsersList/UsersList.js +2 -1
  30. package/lib/module/components/UsersList/UsersList.js.map +1 -1
  31. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts +0 -1
  32. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  33. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  34. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  35. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +8 -0
  36. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
  37. package/lib/typescript/components/UsersList/Checkbox.d.ts +16 -0
  38. package/lib/typescript/components/UsersList/Checkbox.d.ts.map +1 -0
  39. package/lib/typescript/components/UsersList/StyledComponents.d.ts +0 -1
  40. package/lib/typescript/components/UsersList/StyledComponents.d.ts.map +1 -1
  41. package/metro.js +17 -57
  42. package/package.json +1 -1
  43. package/src/components/ContextMenu/ContextMenuComponents.tsx +0 -7
  44. package/src/components/MessageBubble/MessageInteractions.tsx +2 -105
  45. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +20 -41
  46. package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +9 -7
  47. package/src/components/UsersList/Checkbox.tsx +68 -0
  48. package/src/components/UsersList/StyledComponents.ts +0 -8
  49. package/src/components/UsersList/UsersList.tsx +1 -1
  50. package/lib/commonjs/components/InputComponents/AudioInput.js +0 -23
  51. package/lib/commonjs/components/InputComponents/AudioInput.js.map +0 -1
  52. package/lib/commonjs/components/InputComponents/AudioRecorder.js +0 -101
  53. package/lib/commonjs/components/InputComponents/AudioRecorder.js.map +0 -1
  54. package/lib/commonjs/components/InputComponents/MediaInput.js +0 -98
  55. package/lib/commonjs/components/InputComponents/MediaInput.js.map +0 -1
  56. package/lib/commonjs/components/InputComponents/RecordingIndicator.js +0 -70
  57. package/lib/commonjs/components/InputComponents/RecordingIndicator.js.map +0 -1
  58. package/lib/commonjs/components/Modals/ModalSelectMedia/ModalSelectMedia.js +0 -207
  59. package/lib/commonjs/components/Modals/ModalSelectMedia/ModalSelectMedia.js.map +0 -1
  60. package/lib/commonjs/components/OperationalModal/OperationalModal.js +0 -83
  61. package/lib/commonjs/components/OperationalModal/OperationalModal.js.map +0 -1
  62. package/lib/module/components/InputComponents/AudioInput.js +0 -18
  63. package/lib/module/components/InputComponents/AudioInput.js.map +0 -1
  64. package/lib/module/components/InputComponents/AudioRecorder.js +0 -95
  65. package/lib/module/components/InputComponents/AudioRecorder.js.map +0 -1
  66. package/lib/module/components/InputComponents/MediaInput.js +0 -92
  67. package/lib/module/components/InputComponents/MediaInput.js.map +0 -1
  68. package/lib/module/components/InputComponents/RecordingIndicator.js +0 -65
  69. package/lib/module/components/InputComponents/RecordingIndicator.js.map +0 -1
  70. package/lib/module/components/Modals/ModalSelectMedia/ModalSelectMedia.js +0 -200
  71. package/lib/module/components/Modals/ModalSelectMedia/ModalSelectMedia.js.map +0 -1
  72. package/lib/module/components/OperationalModal/OperationalModal.js +0 -77
  73. package/lib/module/components/OperationalModal/OperationalModal.js.map +0 -1
  74. package/lib/typescript/components/InputComponents/AudioInput.d.ts +0 -9
  75. package/lib/typescript/components/InputComponents/AudioInput.d.ts.map +0 -1
  76. package/lib/typescript/components/InputComponents/AudioRecorder.d.ts +0 -9
  77. package/lib/typescript/components/InputComponents/AudioRecorder.d.ts.map +0 -1
  78. package/lib/typescript/components/InputComponents/MediaInput.d.ts +0 -16
  79. package/lib/typescript/components/InputComponents/MediaInput.d.ts.map +0 -1
  80. package/lib/typescript/components/InputComponents/RecordingIndicator.d.ts +0 -4
  81. package/lib/typescript/components/InputComponents/RecordingIndicator.d.ts.map +0 -1
  82. package/lib/typescript/components/Modals/ModalSelectMedia/ModalSelectMedia.d.ts +0 -9
  83. package/lib/typescript/components/Modals/ModalSelectMedia/ModalSelectMedia.d.ts.map +0 -1
  84. package/lib/typescript/components/OperationalModal/OperationalModal.d.ts +0 -9
  85. package/lib/typescript/components/OperationalModal/OperationalModal.d.ts.map +0 -1
  86. package/src/components/InputComponents/AudioInput.tsx +0 -24
  87. package/src/components/InputComponents/AudioRecorder.tsx +0 -100
  88. package/src/components/InputComponents/MediaInput.tsx +0 -113
  89. package/src/components/InputComponents/RecordingIndicator.tsx +0 -77
  90. package/src/components/Modals/ModalSelectMedia/ModalSelectMedia.tsx +0 -283
  91. package/src/components/OperationalModal/OperationalModal.tsx +0 -78
@@ -1,65 +0,0 @@
1
- "use strict";
2
-
3
- import React, { useEffect, useRef } from 'react';
4
- import { View, StyleSheet, Animated } from 'react-native';
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- const RecordingIndicator = () => {
7
- const scaleAnim = useRef(new Animated.Value(1)).current; // For scaling the circle
8
- const opacityAnim = useRef(new Animated.Value(1)).current; // For pulsating effect
9
-
10
- useEffect(() => {
11
- Animated.loop(Animated.sequence([Animated.parallel([Animated.timing(scaleAnim, {
12
- toValue: 1.3,
13
- duration: 750,
14
- useNativeDriver: true
15
- }), Animated.timing(opacityAnim, {
16
- toValue: 0.6,
17
- duration: 750,
18
- useNativeDriver: true
19
- })]), Animated.parallel([Animated.timing(scaleAnim, {
20
- toValue: 1,
21
- duration: 750,
22
- useNativeDriver: true
23
- }), Animated.timing(opacityAnim, {
24
- toValue: 1,
25
- duration: 750,
26
- useNativeDriver: true
27
- })])])).start();
28
- }, [scaleAnim, opacityAnim]);
29
- return /*#__PURE__*/_jsxs(View, {
30
- style: styles.wrapper,
31
- children: [/*#__PURE__*/_jsx(Animated.View, {
32
- style: [styles.outerCircle, {
33
- transform: [{
34
- scale: scaleAnim
35
- }],
36
- opacity: opacityAnim
37
- }]
38
- }), /*#__PURE__*/_jsx(View, {
39
- style: styles.innerCircle
40
- })]
41
- });
42
- };
43
- const styles = StyleSheet.create({
44
- wrapper: {
45
- justifyContent: 'center',
46
- alignItems: 'center',
47
- marginRight: 10
48
- },
49
- outerCircle: {
50
- width: 18,
51
- height: 18,
52
- borderRadius: 9,
53
- backgroundColor: 'rgba(255, 0, 0, 0.6)',
54
- position: 'absolute'
55
- },
56
- innerCircle: {
57
- width: 16,
58
- height: 16,
59
- borderRadius: 8,
60
- backgroundColor: 'red',
61
- position: 'relative'
62
- }
63
- });
64
- export default RecordingIndicator;
65
- //# sourceMappingURL=RecordingIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useRef","View","StyleSheet","Animated","jsx","_jsx","jsxs","_jsxs","RecordingIndicator","scaleAnim","Value","current","opacityAnim","loop","sequence","parallel","timing","toValue","duration","useNativeDriver","start","style","styles","wrapper","children","outerCircle","transform","scale","opacity","innerCircle","create","justifyContent","alignItems","marginRight","width","height","borderRadius","backgroundColor","position"],"sourceRoot":"../../../../src","sources":["components/InputComponents/RecordingIndicator.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,SAAS,EAAEC,MAAM,QAAO,OAAO;AAC9C,SAAQC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,QAAO,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EAC/B,MAAMC,SAAS,GAAGT,MAAM,CAAC,IAAIG,QAAQ,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EACzD,MAAMC,WAAW,GAAGZ,MAAM,CAAC,IAAIG,QAAQ,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;;EAE3DZ,SAAS,CAAC,MAAM;IACdI,QAAQ,CAACU,IAAI,CACXV,QAAQ,CAACW,QAAQ,CAAC,CAChBX,QAAQ,CAACY,QAAQ,CAAC,CAChBZ,QAAQ,CAACa,MAAM,CAACP,SAAS,EAAE;MACzBQ,OAAO,EAAE,GAAG;MACZC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFhB,QAAQ,CAACa,MAAM,CAACJ,WAAW,EAAE;MAC3BK,OAAO,EAAE,GAAG;MACZC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,EACFhB,QAAQ,CAACY,QAAQ,CAAC,CAChBZ,QAAQ,CAACa,MAAM,CAACP,SAAS,EAAE;MACzBQ,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFhB,QAAQ,CAACa,MAAM,CAACJ,WAAW,EAAE;MAC3BK,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,CACH,CACH,CAAC,CAACC,KAAK,CAAC,CAAC;EACX,CAAC,EAAE,CAACX,SAAS,EAAEG,WAAW,CAAC,CAAC;EAE5B,oBACEL,KAAA,CAACN,IAAI;IAACoB,KAAK,EAAEC,MAAM,CAACC,OAAQ;IAAAC,QAAA,gBAC1BnB,IAAA,CAACF,QAAQ,CAACF,IAAI;MACZoB,KAAK,EAAE,CACLC,MAAM,CAACG,WAAW,EAClB;QACEC,SAAS,EAAE,CAAC;UAACC,KAAK,EAAElB;QAAS,CAAC,CAAC;QAC/BmB,OAAO,EAAEhB;MACX,CAAC;IACD,CACH,CAAC,eACFP,IAAA,CAACJ,IAAI;MAACoB,KAAK,EAAEC,MAAM,CAACO;IAAY,CAAE,CAAC;EAAA,CAC/B,CAAC;AAEX,CAAC;AAED,MAAMP,MAAM,GAAGpB,UAAU,CAAC4B,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACPQ,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE;EACf,CAAC;EACDR,WAAW,EAAE;IACXS,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE,sBAAsB;IACvCC,QAAQ,EAAE;EACZ,CAAC;EACDT,WAAW,EAAE;IACXK,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE,KAAK;IACtBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAe9B,kBAAkB","ignoreList":[]}
@@ -1,200 +0,0 @@
1
- "use strict";
2
-
3
- import React, { useMemo } from 'react';
4
- import { Alert, Linking, Platform } from 'react-native';
5
- import Button from '../../styled/Button';
6
- import DropdownMenu from '../../DropdownMenu/DropdownMenu';
7
- import DocumentPicker from 'react-native-document-picker';
8
- import ImagePicker from 'react-native-image-crop-picker';
9
- import { check, request, PERMISSIONS, RESULTS } from 'react-native-permissions';
10
- import { AttachIcon, CameraIcon, DocumentIcon, MediaIcon } from '../../../assets/icons';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- export const ModalSelectMedia = ({
13
- onFileSelect,
14
- config
15
- }) => {
16
- const checkPermission = async permission => {
17
- const status = await check(permission);
18
- if (status === RESULTS.GRANTED) {
19
- return status;
20
- } else if (status === RESULTS.DENIED) {
21
- const requestStatus = await request(permission);
22
- if (requestStatus === RESULTS.GRANTED) {
23
- return requestStatus;
24
- } else if (requestStatus === RESULTS.DENIED) {
25
- return requestStatus;
26
- }
27
- } else if (status === RESULTS.UNAVAILABLE) {
28
- return status;
29
- } else {
30
- return status;
31
- }
32
- };
33
- const handleCameraSelection = async () => {
34
- const permission = Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA;
35
- const permissionStatus = await checkPermission(permission);
36
- if (permissionStatus !== RESULTS.GRANTED) {
37
- Alert.alert('Permission required', 'Camera permission is needed to take photos.', [{
38
- text: 'Cancel',
39
- onPress: () => console.log('Camera permission cancelled'),
40
- style: 'cancel'
41
- }, {
42
- text: 'Open Settings',
43
- onPress: () => Linking.openSettings()
44
- }]);
45
- return;
46
- }
47
- try {
48
- const image = await ImagePicker.openCamera({
49
- width: 300,
50
- height: 400,
51
- cropping: true
52
- });
53
- const originalName = image.path.split('/').pop();
54
- const file = {
55
- uri: image.path,
56
- type: image.mime,
57
- name: originalName || `camera_${Date.now()}.jpg`
58
- };
59
- onFileSelect([file]);
60
- } catch (error) {
61
- const errorMessage = error?.message || String(error);
62
- const isSimulatorError = errorMessage.includes('simulator') || errorMessage.includes('Cannot run camera') || errorMessage.includes('Camera not available');
63
- if (isSimulatorError) {
64
- Alert.alert('Camera unavailable', 'Camera is not available on iOS Simulator. Please test on a real device.', [{
65
- text: 'OK'
66
- }]);
67
- } else if (error?.code !== 'E_PICKER_CANCELLED') {
68
- console.error('Camera error:', error);
69
- Alert.alert('Camera error', errorMessage || 'Failed to open camera. Please try again.', [{
70
- text: 'OK'
71
- }]);
72
- }
73
- }
74
- };
75
- const handleGallerySelection = async () => {
76
- try {
77
- let permission;
78
- if (Platform.OS === 'ios') {
79
- permission = PERMISSIONS.IOS.PHOTO_LIBRARY;
80
- } else if (Number(Platform.Version) >= 33) {
81
- permission = PERMISSIONS.ANDROID.READ_MEDIA_IMAGES;
82
- } else {
83
- permission = PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE;
84
- }
85
- console.log('handleGallerySelection - checking permission:', permission);
86
- const permissionStatus = await checkPermission(permission);
87
- console.log('handleGallerySelection - permission status:', permissionStatus);
88
- if (permissionStatus !== RESULTS.GRANTED) {
89
- console.log('handleGallerySelection - permission not granted, showing alert');
90
- Alert.alert('Permission required', 'Gallery permission is needed to select photos.', [{
91
- text: 'Cancel',
92
- onPress: () => console.log('Gallery permission cancelled'),
93
- style: 'cancel'
94
- }, {
95
- text: 'Open Settings',
96
- onPress: () => Linking.openSettings()
97
- }]);
98
- return;
99
- }
100
- await new Promise(resolve => setTimeout(resolve, 300));
101
- const image = await ImagePicker.openPicker({
102
- multiple: false,
103
- mediaType: 'any'
104
- });
105
- console.log('handleGallerySelection - image selected:', image);
106
- const originalName = image.path.split('/').pop();
107
- const file = {
108
- uri: image.path,
109
- type: image.mime,
110
- name: originalName || `gallery_${Date.now()}${image.mime.includes('video') ? '.mp4' : '.jpg'}`
111
- };
112
- onFileSelect([file]);
113
- } catch (error) {
114
- if (error?.code === 'E_PICKER_CANCELLED') {
115
- return;
116
- }
117
- console.error('Gallery error:', error);
118
- console.error('Gallery error code:', error?.code);
119
- console.error('Gallery error message:', error?.message);
120
- const errorMessage = error?.message || String(error);
121
- Alert.alert('Gallery error', errorMessage || 'Failed to open gallery. Please try again.', [{
122
- text: 'OK'
123
- }]);
124
- }
125
- };
126
- const handleFileSelection = async () => {
127
- try {
128
- const result = await DocumentPicker.pick({
129
- type: [DocumentPicker.types.allFiles],
130
- allowMultiSelection: false
131
- });
132
- const files = result.map(file => {
133
- const originalName = file.name;
134
- return {
135
- uri: file.uri,
136
- type: file.type || 'unknown',
137
- name: originalName || `file_${Date.now()}`
138
- };
139
- });
140
- onFileSelect(files);
141
- } catch (err) {
142
- if (DocumentPicker.isCancel(err)) {
143
- console.log('User cancelled file picker');
144
- } else {
145
- console.error('DocumentPicker Error:', err);
146
- const errorMessage = err?.message || String(err);
147
- Alert.alert('File selection error', errorMessage || 'Failed to select file. Please try again.', [{
148
- text: 'OK'
149
- }]);
150
- }
151
- }
152
- };
153
- const menuOptions = useMemo(() => [{
154
- label: 'Camera',
155
- icon: /*#__PURE__*/_jsx(CameraIcon, {}),
156
- onClick: async () => {
157
- setTimeout(async () => {
158
- await handleCameraSelection();
159
- }, 500);
160
- }
161
- }, {
162
- label: 'Media File',
163
- icon: /*#__PURE__*/_jsx(MediaIcon, {}),
164
- onClick: async () => {
165
- await handleGallerySelection();
166
- }
167
- }, {
168
- label: 'Document',
169
- icon: /*#__PURE__*/_jsx(DocumentIcon, {}),
170
- onClick: async () => {
171
- setTimeout(async () => {
172
- await handleFileSelection();
173
- }, 500);
174
- }
175
- }], []);
176
- return /*#__PURE__*/_jsx(DropdownMenu, {
177
- position: "leftBottom",
178
- options: menuOptions,
179
- openButton: onPress => {
180
- return /*#__PURE__*/_jsx(Button, {
181
- style: {
182
- padding: 0,
183
- height: 40,
184
- width: 40,
185
- justifyContent: 'center',
186
- alignItems: 'center',
187
- backgroundColor: 'transparent',
188
- margin: 0
189
- },
190
- EndIcon: /*#__PURE__*/_jsx(AttachIcon, {
191
- color: config?.colors?.primary || '#0052CD'
192
- }),
193
- onPress: () => {
194
- onPress();
195
- }
196
- });
197
- }
198
- });
199
- };
200
- //# sourceMappingURL=ModalSelectMedia.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useMemo","Alert","Linking","Platform","Button","DropdownMenu","DocumentPicker","ImagePicker","check","request","PERMISSIONS","RESULTS","AttachIcon","CameraIcon","DocumentIcon","MediaIcon","jsx","_jsx","ModalSelectMedia","onFileSelect","config","checkPermission","permission","status","GRANTED","DENIED","requestStatus","UNAVAILABLE","handleCameraSelection","OS","IOS","CAMERA","ANDROID","permissionStatus","alert","text","onPress","console","log","style","openSettings","image","openCamera","width","height","cropping","originalName","path","split","pop","file","uri","type","mime","name","Date","now","error","errorMessage","message","String","isSimulatorError","includes","code","handleGallerySelection","PHOTO_LIBRARY","Number","Version","READ_MEDIA_IMAGES","READ_EXTERNAL_STORAGE","Promise","resolve","setTimeout","openPicker","multiple","mediaType","handleFileSelection","result","pick","types","allFiles","allowMultiSelection","files","map","err","isCancel","menuOptions","label","icon","onClick","position","options","openButton","padding","justifyContent","alignItems","backgroundColor","margin","EndIcon","color","colors","primary"],"sourceRoot":"../../../../../src","sources":["components/Modals/ModalSelectMedia/ModalSelectMedia.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- import React from 'react';
4
- // import QRCode from 'react-qr-code';
5
- import { CloseButton } from '../Modals/styledModalComponents';
6
- import { Overlay, StyledModal } from '../styled/MediaModal';
7
- import { StyledInput } from '../styled/StyledInputComponents/StyledInputComponents';
8
- import Button from '../styled/Button';
9
- import { Text, View } from 'react-native';
10
- import { QRCODE_URL } from '../../helpers/constants/PLATFORM_CONSTANTS';
11
- import Clipboard from '@react-native-clipboard/clipboard';
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const OperationalModal = ({
14
- isVisible,
15
- chatJid,
16
- setVisible
17
- }) => {
18
- const handleCopyClick = () => {
19
- Clipboard.setString(`${QRCODE_URL}${chatJid}`);
20
- };
21
- return isVisible && /*#__PURE__*/_jsx(Overlay, {
22
- style: {
23
- position: 'absolute'
24
- },
25
- children: /*#__PURE__*/_jsxs(StyledModal, {
26
- style: {
27
- borderRadius: 16,
28
- width: 'auto',
29
- height: 'auto',
30
- paddingHorizontal: 64,
31
- paddingVertical: 32,
32
- minWidth: 480
33
- },
34
- children: [/*#__PURE__*/_jsx(CloseButton, {
35
- onPress: () => setVisible(false),
36
- children: /*#__PURE__*/_jsx(Text, {
37
- style: {
38
- fontSize: 24
39
- },
40
- children: "\xD7"
41
- })
42
- }), /*#__PURE__*/_jsxs(View, {
43
- style: {
44
- display: 'flex',
45
- flexDirection: 'column',
46
- gap: 16,
47
- alignItems: 'center'
48
- },
49
- children: [/*#__PURE__*/_jsx(View, {
50
- style: {
51
- width: '70%',
52
- position: 'relative'
53
- }
54
- }), /*#__PURE__*/_jsxs(View, {
55
- style: {
56
- display: 'flex',
57
- gap: 8,
58
- alignItems: 'center',
59
- minWidth: 400
60
- },
61
- children: [/*#__PURE__*/_jsx(StyledInput, {
62
- value: chatJid,
63
- editable: true,
64
- style: {
65
- width: '80%'
66
- }
67
- }), /*#__PURE__*/_jsx(Button, {
68
- text: "Copy",
69
- onPress: handleCopyClick
70
- })]
71
- })]
72
- })]
73
- })
74
- });
75
- };
76
- export default OperationalModal;
77
- //# sourceMappingURL=OperationalModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","CloseButton","Overlay","StyledModal","StyledInput","Button","Text","View","QRCODE_URL","Clipboard","jsx","_jsx","jsxs","_jsxs","OperationalModal","isVisible","chatJid","setVisible","handleCopyClick","setString","style","position","children","borderRadius","width","height","paddingHorizontal","paddingVertical","minWidth","onPress","fontSize","display","flexDirection","gap","alignItems","value","editable","text"],"sourceRoot":"../../../../src","sources":["components/OperationalModal/OperationalModal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAoB,OAAO;AACvC;AACA,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,OAAO,EAAEC,WAAW,QAAQ,sBAAsB;AAC3D,SAASC,WAAW,QAAQ,uDAAuD;AACnF,OAAOC,MAAM,MAAM,kBAAkB;AACrC,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,4CAA4C;AACvE,OAAOC,SAAS,MAAM,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ1D,MAAMC,gBAAiD,GAAGA,CAAC;EACzDC,SAAS;EACTC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,eAAe,GAAGA,CAAA,KAAM;IAC5BT,SAAS,CAACU,SAAS,CAAC,GAAGX,UAAU,GAAGQ,OAAO,EAAE,CAAC;EAChD,CAAC;EAED,OACED,SAAS,iBACPJ,IAAA,CAACT,OAAO;IACNkB,KAAK,EAAE;MACLC,QAAQ,EAAE;IACZ,CAAE;IAAAC,QAAA,eAEFT,KAAA,CAACV,WAAW;MACViB,KAAK,EAAE;QACLG,YAAY,EAAE,EAAE;QAChBC,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;QACdC,iBAAiB,EAAE,EAAE;QACrBC,eAAe,EAAE,EAAE;QACnBC,QAAQ,EAAE;MACZ,CAAE;MAAAN,QAAA,gBAEFX,IAAA,CAACV,WAAW;QAAC4B,OAAO,EAAEA,CAAA,KAAMZ,UAAU,CAAC,KAAK,CAAE;QAAAK,QAAA,eAC5CX,IAAA,CAACL,IAAI;UAACc,KAAK,EAAE;YAAEU,QAAQ,EAAE;UAAG,CAAE;UAAAR,QAAA,EAAC;QAAO,CAAM;MAAC,CAClC,CAAC,eACdT,KAAA,CAACN,IAAI;QACHa,KAAK,EAAE;UACLW,OAAO,EAAE,MAAM;UACfC,aAAa,EAAE,QAAQ;UACvBC,GAAG,EAAE,EAAE;UACPC,UAAU,EAAE;QACd,CAAE;QAAAZ,QAAA,gBAEFX,IAAA,CAACJ,IAAI;UAACa,KAAK,EAAE;YAAEI,KAAK,EAAE,KAAK;YAAEH,QAAQ,EAAE;UAAW;QAAE,CAAE,CAAC,eAEvDR,KAAA,CAACN,IAAI;UACHa,KAAK,EAAE;YACLW,OAAO,EAAE,MAAM;YACfE,GAAG,EAAE,CAAC;YACNC,UAAU,EAAE,QAAQ;YACpBN,QAAQ,EAAE;UACZ,CAAE;UAAAN,QAAA,gBAEFX,IAAA,CAACP,WAAW;YACV+B,KAAK,EAAEnB,OAAQ;YACfoB,QAAQ,EAAE,IAAK;YACfhB,KAAK,EAAE;cAAEI,KAAK,EAAE;YAAM;UAAE,CACzB,CAAC,eACFb,IAAA,CAACN,MAAM;YAACgC,IAAI,EAAC,MAAM;YAACR,OAAO,EAAEX;UAAgB,CAAE,CAAC;QAAA,CAC5C,CAAC;MAAA,CACH,CAAC;IAAA,CACI;EAAC,CACP,CACV;AAEL,CAAC;AAED,eAAeJ,gBAAgB","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface AudioInputProps {
3
- isRecording: boolean;
4
- setIsRecording: (value: boolean) => void;
5
- handleSendClick: (audioUrl?: string) => void;
6
- }
7
- declare const AudioInput: React.FC<AudioInputProps>;
8
- export default AudioInput;
9
- //# sourceMappingURL=AudioInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioInput.d.ts","sourceRoot":"","sources":["../../../../src/components/InputComponents/AudioInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,eAAe;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAYzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface AudioRecorderProps {
3
- setIsRecording: (state: boolean) => void;
4
- isRecording: boolean;
5
- handleSendClick: (audioBlob?: any) => void;
6
- }
7
- declare const AudioRecorder: React.FC<AudioRecorderProps>;
8
- export default AudioRecorder;
9
- //# sourceMappingURL=AudioRecorder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../../src/components/InputComponents/AudioRecorder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAYxE,UAAU,kBAAkB;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAED,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+E/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { IConfig } from '../../types/types';
3
- interface FilePreview {
4
- uri: string;
5
- name: string;
6
- type: string;
7
- }
8
- interface MediaInputProps {
9
- filePreviews: FilePreview[];
10
- setFilePreviews: (update: FilePreview[] | ((prev: FilePreview[]) => FilePreview[])) => void;
11
- handleSendClick: () => void;
12
- config?: IConfig;
13
- }
14
- declare const MediaInput: React.FC<MediaInputProps>;
15
- export default MediaInput;
16
- //# sourceMappingURL=MediaInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MediaInput.d.ts","sourceRoot":"","sources":["../../../../src/components/InputComponents/MediaInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAM3C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,EAAE,CACf,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC,KAC7D,IAAI,CAAC;IACV,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuFzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- declare const RecordingIndicator: () => React.JSX.Element;
3
- export default RecordingIndicator;
4
- //# sourceMappingURL=RecordingIndicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecordingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/InputComponents/RecordingIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAG/C,QAAA,MAAM,kBAAkB,yBAiDvB,CAAC;AAwBF,eAAe,kBAAkB,CAAC"}
@@ -1,9 +0,0 @@
1
- import { FC } from 'react';
2
- import { MediaFile } from '../../../types/types';
3
- interface ModalSelectMediaProps {
4
- onFileSelect: (files: MediaFile[]) => void;
5
- config?: any;
6
- }
7
- export declare const ModalSelectMedia: FC<ModalSelectMediaProps>;
8
- export {};
9
- //# sourceMappingURL=ModalSelectMedia.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModalSelectMedia.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/ModalSelectMedia/ModalSelectMedia.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAmB3C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,UAAU,qBAAqB;IAC7B,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAUD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAwPtD,CAAC"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface OperationalModalProps {
3
- isVisible: boolean;
4
- chatJid: string;
5
- setVisible: React.Dispatch<React.SetStateAction<boolean>>;
6
- }
7
- declare const OperationalModal: React.FC<OperationalModalProps>;
8
- export default OperationalModal;
9
- //# sourceMappingURL=OperationalModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationalModal.d.ts","sourceRoot":"","sources":["../../../../src/components/OperationalModal/OperationalModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,UAAU,qBAAqB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3D;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2DrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import AudioRecorder from '../InputComponents/AudioRecorder';
3
-
4
- interface AudioInputProps {
5
- isRecording: boolean;
6
- setIsRecording: (value: boolean) => void;
7
- handleSendClick: (audioUrl?: string) => void;
8
- }
9
-
10
- const AudioInput: React.FC<AudioInputProps> = ({
11
- isRecording,
12
- setIsRecording,
13
- handleSendClick,
14
- }) => {
15
- return (
16
- <AudioRecorder
17
- setIsRecording={setIsRecording}
18
- isRecording={isRecording}
19
- handleSendClick={handleSendClick}
20
- />
21
- );
22
- };
23
-
24
- export default AudioInput;
@@ -1,100 +0,0 @@
1
- import React, { useState, useRef, useCallback, useEffect } from 'react';
2
- import {
3
- RecordContainer,
4
- Timer,
5
- } from '../styled/StyledInputComponents/StyledInputComponents';
6
- import { RecordIcon, RemoveIcon, SendIcon } from '../../assets/icons';
7
- import Button from '../styled/Button';
8
- import RecordingIndicator from './RecordingIndicator';
9
- import { Platform, View } from 'react-native';
10
- import AudioRecorderPlayer from 'react-native-audio-recorder-player';
11
- import RNFS from 'react-native-fs';
12
-
13
- interface AudioRecorderProps {
14
- setIsRecording: (state: boolean) => void;
15
- isRecording: boolean;
16
- handleSendClick: (audioBlob?: any) => void;
17
- }
18
-
19
- const AudioRecorder: React.FC<AudioRecorderProps> = ({
20
- setIsRecording,
21
- isRecording,
22
- handleSendClick,
23
- }) => {
24
- const audioRecorderPlayer = useRef(new AudioRecorderPlayer()).current;
25
- const [timer, setTimer] = useState('00:00');
26
- const [audioPath, setAudioPath] = useState<string | null>(null);
27
-
28
- useEffect(() => {
29
- return () => {
30
- audioRecorderPlayer.stopRecorder();
31
- audioRecorderPlayer.removeRecordBackListener();
32
- };
33
- }, [audioRecorderPlayer]);
34
-
35
- const startRecording = async () => {
36
- try {
37
- const path = Platform.select({
38
- ios: `${RNFS.DocumentDirectoryPath}/recording.m4a`,
39
- android: `${RNFS.CachesDirectoryPath}/recording.mp4`,
40
- });
41
- const uri = await audioRecorderPlayer.startRecorder(path);
42
- setAudioPath(uri);
43
-
44
- audioRecorderPlayer.addRecordBackListener((e: any) => {
45
- const minutes = Math.floor(e.currentPosition / 60000);
46
- const seconds = Math.floor((e.currentPosition % 60000) / 1000);
47
- setTimer(
48
- `${minutes.toString().padStart(2, '0')}:${seconds
49
- .toString()
50
- .padStart(2, '0')}`
51
- );
52
- });
53
-
54
- setIsRecording(true);
55
- } catch (error) {
56
- console.error('Error starting recording:', error);
57
- }
58
- };
59
-
60
- const stopRecording = async () => {
61
- try {
62
- await audioRecorderPlayer.stopRecorder();
63
- audioRecorderPlayer.removeRecordBackListener();
64
- setIsRecording(false);
65
- } catch (error) {
66
- console.error('Error stopping recording:', error);
67
- }
68
- };
69
-
70
- const sendAudio = () => {
71
- if (audioPath) {
72
- console.log('Audio sent:', audioPath);
73
- handleSendClick(audioPath);
74
- resetState();
75
- }
76
- };
77
-
78
- const resetState = () => {
79
- setAudioPath(null);
80
- setTimer('00:00');
81
- setIsRecording(false);
82
- };
83
- return isRecording ? (
84
- <RecordContainer>
85
- <View style={{ display: 'flex', alignItems: 'center' }}>
86
- {isRecording && <RecordingIndicator />}
87
- <Timer>{timer}</Timer>
88
- </View>
89
-
90
- <View style={{ display: 'flex', gap: 8 }}>
91
- <Button onPress={stopRecording} EndIcon={<RemoveIcon />} unstyled />
92
- <Button onPress={sendAudio} EndIcon={<SendIcon />} unstyled />
93
- </View>
94
- </RecordContainer>
95
- ) : (
96
- <Button onPress={startRecording} EndIcon={<RecordIcon />} />
97
- );
98
- };
99
-
100
- export default AudioRecorder;