@smart-link/rn-im 1.0.23 → 1.0.24

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 (155) hide show
  1. package/dist/api/addressList.js +6 -17
  2. package/dist/api/backup.js +8 -20
  3. package/dist/api/file.js +6 -35
  4. package/dist/api/user.js +6 -16
  5. package/dist/components/CachedImage.js +14 -42
  6. package/dist/components/Camera/Camera.js +26 -54
  7. package/dist/components/Camera/CameraCapture.js +99 -128
  8. package/dist/components/Camera/CameraResult.js +33 -61
  9. package/dist/components/ChatAvatar/ChatAvatar.d.ts +1 -1
  10. package/dist/components/ChatAvatar/ChatAvatar.js +34 -62
  11. package/dist/components/ChatAvatar/ChatAvatarId.d.ts +2 -2
  12. package/dist/components/ChatAvatar/ChatAvatarId.js +26 -51
  13. package/dist/components/ChatAvatar/ChatAvatarLocal.d.ts +2 -2
  14. package/dist/components/ChatAvatar/ChatAvatarLocal.js +23 -25
  15. package/dist/components/ChatAvatar/index.js +2 -23
  16. package/dist/components/Favicon.js +6 -34
  17. package/dist/components/FormatTimeText.js +5 -10
  18. package/dist/components/Highlighter.js +9 -34
  19. package/dist/components/IndicatorText.js +14 -39
  20. package/dist/components/LocalImage.js +7 -32
  21. package/dist/components/NetworkUnconnected.js +14 -42
  22. package/dist/components/PopoverWrapper.js +22 -47
  23. package/dist/components/VideoPlayer.js +111 -138
  24. package/dist/components/styles.js +10 -13
  25. package/dist/default-assets.d.ts +1 -0
  26. package/dist/default-assets.js +8 -10
  27. package/dist/hooks/useDownloadSource.js +7 -12
  28. package/dist/hooks/useFormatMsgTime.js +5 -13
  29. package/dist/hooks/useImReady.js +7 -10
  30. package/dist/hooks/useImSelector.js +34 -48
  31. package/dist/hooks/useTranslation.js +5 -10
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.js +8 -28
  34. package/dist/init.js +30 -40
  35. package/dist/interface.js +1 -2
  36. package/dist/locales/en/addressList.js +1 -3
  37. package/dist/locales/index.js +4 -27
  38. package/dist/locales/lao/addressList.js +1 -3
  39. package/dist/locales/zh/addressList.js +1 -3
  40. package/dist/pages/address-list/AddressList.js +33 -61
  41. package/dist/pages/address-list/CardInfo.js +10 -18
  42. package/dist/pages/address-list/ChooseContact.js +50 -78
  43. package/dist/pages/address-list/Icons.js +7 -14
  44. package/dist/pages/address-list/Organization.js +59 -89
  45. package/dist/pages/address-list/UserDetail.js +55 -83
  46. package/dist/pages/address-list/UserJobs.js +31 -33
  47. package/dist/pages/address-list/UserSearch.js +29 -54
  48. package/dist/pages/address-list/addressList.routes.js +11 -16
  49. package/dist/pages/collection/Collection.js +53 -81
  50. package/dist/pages/collection/ContentFactory.js +53 -82
  51. package/dist/pages/collection/collection.routes.js +3 -9
  52. package/dist/pages/conversation/ForwardToConversation.js +63 -91
  53. package/dist/pages/conversation/List.js +74 -102
  54. package/dist/pages/conversation/components/ConversationCard.js +46 -74
  55. package/dist/pages/conversation/components/ConversationOption.js +27 -55
  56. package/dist/pages/conversation/conversation.routes.js +17 -23
  57. package/dist/pages/conversation/setting/GroupTransfer.js +32 -60
  58. package/dist/pages/conversation/setting/OptionAvatars.js +62 -90
  59. package/dist/pages/conversation/setting/OptionCancelGroup.js +14 -42
  60. package/dist/pages/conversation/setting/OptionConversation.js +20 -48
  61. package/dist/pages/conversation/setting/OptionGroup.js +20 -48
  62. package/dist/pages/conversation/setting/OptionGroupManage.js +21 -49
  63. package/dist/pages/conversation/setting/OptionGroupMoreMember.js +48 -53
  64. package/dist/pages/conversation/setting/OptionGroupNameOrNoticeEdit.js +49 -77
  65. package/dist/pages/conversation/setting/Setting.js +49 -54
  66. package/dist/pages/conversation/setting/SettingChatBg.js +26 -54
  67. package/dist/pages/index.js +7 -27
  68. package/dist/pages/message/ChooseMember.js +56 -84
  69. package/dist/pages/message/MessageBackup/Bar.js +18 -43
  70. package/dist/pages/message/MessageBackup/MessageBackup.js +42 -72
  71. package/dist/pages/message/MessageBackup/RestoreBackupPage.js +48 -76
  72. package/dist/pages/message/MessageBackup/StartBackupPage.js +48 -76
  73. package/dist/pages/message/MessageBackup/index.js +3 -12
  74. package/dist/pages/message/MessageBackup/utils.js +14 -22
  75. package/dist/pages/message/MessageList.js +141 -135
  76. package/dist/pages/message/MessageRecord.js +49 -73
  77. package/dist/pages/message/components/BusiNotifyCard.js +60 -85
  78. package/dist/pages/message/components/ChatBg.js +11 -36
  79. package/dist/pages/message/components/MessageItem.js +82 -110
  80. package/dist/pages/message/components/MessageItemQuote.js +30 -58
  81. package/dist/pages/message/components/MessageItemTips.js +27 -55
  82. package/dist/pages/message/components/MessageOption.js +96 -120
  83. package/dist/pages/message/components/MessagePayload.js +36 -64
  84. package/dist/pages/message/components/MessagePictureAlbum.js +32 -60
  85. package/dist/pages/message/components/MessageReceiptStatus.js +18 -43
  86. package/dist/pages/message/components/MessageUndo.js +18 -48
  87. package/dist/pages/message/components/MultipleBar/index.js +48 -76
  88. package/dist/pages/message/components/Payload/PayloadContact.js +30 -58
  89. package/dist/pages/message/components/Payload/PayloadFile.js +41 -65
  90. package/dist/pages/message/components/Payload/PayloadMultiple.js +38 -66
  91. package/dist/pages/message/components/Payload/PayloadNotify.js +28 -56
  92. package/dist/pages/message/components/Payload/PayloadPicture.js +21 -49
  93. package/dist/pages/message/components/Payload/PayloadShare.js +39 -67
  94. package/dist/pages/message/components/Payload/PayloadText.js +39 -67
  95. package/dist/pages/message/components/Payload/PayloadVideo.js +28 -56
  96. package/dist/pages/message/components/Payload/PayloadVoice.js +80 -93
  97. package/dist/pages/message/components/Payload/PayloadWrapper.js +18 -43
  98. package/dist/pages/message/components/Payload/type.js +1 -2
  99. package/dist/pages/message/components/ReceiptBack.js +31 -61
  100. package/dist/pages/message/components/TextMixMessage.js +13 -38
  101. package/dist/pages/message/components/TextMixQuote.js +129 -158
  102. package/dist/pages/message/components/TextMixQuoteMessage.js +16 -44
  103. package/dist/pages/message/components/UploadProgress.js +12 -37
  104. package/dist/pages/message/components/messageBar/EmojiPanel.js +25 -50
  105. package/dist/pages/message/components/messageBar/Icons.js +56 -74
  106. package/dist/pages/message/components/messageBar/MessageBar.js +84 -115
  107. package/dist/pages/message/components/messageBar/MessageInput.js +30 -55
  108. package/dist/pages/message/components/messageBar/OptionPanel.js +54 -82
  109. package/dist/pages/message/components/messageBar/VoiceBar.js +122 -100
  110. package/dist/pages/message/components/messageBar/index.js +2 -23
  111. package/dist/pages/message/message.routes.js +11 -40
  112. package/dist/pages/search/Search.js +38 -66
  113. package/dist/pages/search/SearchChatRecords.js +64 -92
  114. package/dist/pages/search/SearchFile.js +68 -96
  115. package/dist/pages/search/SearchManager.js +60 -65
  116. package/dist/pages/search/SearchPicturePage.js +16 -44
  117. package/dist/pages/search/components/ChatRecords.js +46 -74
  118. package/dist/pages/search/components/MyGroupChat.js +41 -69
  119. package/dist/pages/search/components/PictureMulipleBar.js +35 -63
  120. package/dist/pages/search/components/SearchFileList.js +59 -64
  121. package/dist/pages/search/components/SearchPictures.js +68 -98
  122. package/dist/pages/search/components/SearchShareLinkList.js +50 -55
  123. package/dist/pages/search/components/SearchUser.js +25 -53
  124. package/dist/pages/search/components/useSearchMessage.js +12 -16
  125. package/dist/pages/search/search.routes.js +11 -17
  126. package/dist/pages/search/utils.js +4 -12
  127. package/dist/pages/types.js +1 -2
  128. package/dist/slice/contact/contact.action.js +1 -2
  129. package/dist/slice/contact/contact.slice.js +4 -8
  130. package/dist/slice/index.js +7 -13
  131. package/dist/slice/panel/panel.slice.d.ts +2 -1
  132. package/dist/slice/panel/panel.slice.js +8 -7
  133. package/dist/slice/video/video.action.d.ts +1 -0
  134. package/dist/slice/video/video.action.js +56 -38
  135. package/dist/slice/video/video.slice.d.ts +1 -1
  136. package/dist/slice/video/video.slice.js +7 -8
  137. package/dist/utils/audio.d.ts +3 -0
  138. package/dist/utils/audio.js +10 -0
  139. package/dist/utils/color.js +2 -9
  140. package/dist/utils/common-action-sheet.js +9 -14
  141. package/dist/utils/cookie.js +6 -14
  142. package/dist/utils/emoji.js +9 -12
  143. package/dist/utils/file-icon.js +33 -60
  144. package/dist/utils/file-operate.js +1 -2
  145. package/dist/utils/file.d.ts +1 -1
  146. package/dist/utils/file.js +74 -87
  147. package/dist/utils/golden-rectangle.js +3 -7
  148. package/dist/utils/phone.js +13 -22
  149. package/dist/utils/request.js +7 -15
  150. package/dist/utils/scroll.js +5 -9
  151. package/dist/utils/summary.js +4 -11
  152. package/dist/utils/take-camera.js +12 -19
  153. package/dist/utils/text-mix.js +4 -11
  154. package/dist/utils/upload.js +20 -41
  155. package/package.json +6 -7
@@ -1,86 +1,58 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const useTranslation_1 = __importDefault(require("../../../../hooks/useTranslation"));
30
- const rn_ui_1 = require("@smart-link/rn-ui");
31
- const react_1 = __importStar(require("react"));
32
- const react_native_1 = require("react-native");
33
- const PayloadWrapper_1 = __importDefault(require("./PayloadWrapper"));
34
- const ChatAvatar_1 = __importDefault(require("../../../../components/ChatAvatar/ChatAvatar"));
1
+ import useTranslation from '../../../../hooks/useTranslation';
2
+ import { dp, useNavigation } from '@smart-link/rn-ui';
3
+ import React, { memo } from 'react';
4
+ import { View, Text, StyleSheet } from 'react-native';
5
+ import PayloadWrapper from './PayloadWrapper';
6
+ import ChatAvatar from '../../../../components/ChatAvatar/ChatAvatar';
35
7
  const PayloadContact = ({ payload, direction, style, showArrow = true, onLongPress }) => {
36
- const { t } = (0, useTranslation_1.default)();
8
+ const { t } = useTranslation();
37
9
  const contact = payload.contact;
38
- const navigation = (0, rn_ui_1.useNavigation)();
39
- return (<PayloadWrapper_1.default direction={direction} showArrow={showArrow} style={[style, styles.contact]} onPress={() => {
10
+ const navigation = useNavigation();
11
+ return (<PayloadWrapper direction={direction} showArrow={showArrow} style={[style, styles.contact]} onPress={() => {
40
12
  navigation.navigate('UserDetail', { userId: contact.userId });
41
13
  }} onLongPress={onLongPress}>
42
- <react_native_1.View style={styles.content}>
43
- <ChatAvatar_1.default id={contact.userId} url={contact.avatars} name={contact.userName}/>
44
- <react_native_1.View style={styles.info}>
45
- <react_native_1.Text style={styles.name}>{contact.userName}</react_native_1.Text>
46
- <react_native_1.Text style={styles.group} numberOfLines={2}>
14
+ <View style={styles.content}>
15
+ <ChatAvatar id={contact.userId} url={contact.avatars} name={contact.userName}/>
16
+ <View style={styles.info}>
17
+ <Text style={styles.name}>{contact.userName}</Text>
18
+ <Text style={styles.group} numberOfLines={2}>
47
19
  {contact.groupNamePaths}
48
- </react_native_1.Text>
49
- </react_native_1.View>
50
- </react_native_1.View>
51
- <react_native_1.Text style={styles.footer}>{t('contact')}</react_native_1.Text>
52
- </PayloadWrapper_1.default>);
20
+ </Text>
21
+ </View>
22
+ </View>
23
+ <Text style={styles.footer}>{t('contact')}</Text>
24
+ </PayloadWrapper>);
53
25
  };
54
- const styles = react_native_1.StyleSheet.create({
26
+ const styles = StyleSheet.create({
55
27
  contact: {
56
28
  flexDirection: 'column',
57
- padding: (0, rn_ui_1.dp)(6),
58
- borderRadius: (0, rn_ui_1.dp)(8),
59
- width: (0, rn_ui_1.dp)(240),
29
+ padding: dp(6),
30
+ borderRadius: dp(8),
31
+ width: dp(240),
60
32
  },
61
33
  content: {
62
34
  flex: 1,
63
35
  flexDirection: 'row',
64
36
  borderBottomColor: '#eee',
65
- borderBottomWidth: (0, rn_ui_1.dp)(1),
66
- paddingBottom: (0, rn_ui_1.dp)(6),
37
+ borderBottomWidth: dp(1),
38
+ paddingBottom: dp(6),
67
39
  },
68
40
  info: {
69
41
  flex: 1,
70
42
  flexDirection: 'column',
71
- marginLeft: (0, rn_ui_1.dp)(12),
43
+ marginLeft: dp(12),
72
44
  },
73
45
  name: {
74
- fontSize: (0, rn_ui_1.dp)(16),
46
+ fontSize: dp(16),
75
47
  color: '#333',
76
48
  },
77
49
  group: {
78
50
  color: '#999',
79
- fontSize: (0, rn_ui_1.dp)(14),
51
+ fontSize: dp(14),
80
52
  },
81
53
  footer: {
82
54
  color: '#999',
83
- fontSize: (0, rn_ui_1.dp)(12),
55
+ fontSize: dp(12),
84
56
  },
85
57
  });
86
- exports.default = (0, react_1.memo)(PayloadContact);
58
+ export default memo(PayloadContact);
@@ -1,27 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,41 +7,37 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
8
  });
33
9
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- const rn_ui_1 = require("@smart-link/rn-ui");
39
- const react_native_file_viewer_1 = __importDefault(require("react-native-file-viewer"));
40
- const react_1 = __importStar(require("react"));
41
- const react_native_1 = require("react-native");
42
- const file_1 = require("../../../../utils/file");
43
- const im_base_1 = require("@smart-link/im-base");
44
- const UploadProgress_1 = __importDefault(require("../UploadProgress"));
45
- const init_1 = require("../../../../init");
46
- const PayloadWrapper_1 = __importDefault(require("./PayloadWrapper"));
47
- const file_icon_1 = require("../../../../utils/file-icon");
48
- const useTranslation_1 = __importDefault(require("../../../../hooks/useTranslation"));
10
+ import { dp, Toast } from '@smart-link/rn-ui';
11
+ import FileViewer from 'react-native-file-viewer';
12
+ import React, { memo, useRef, useState } from 'react';
13
+ import { View, Text, StyleSheet, Dimensions, } from 'react-native';
14
+ import { numberToFileSize } from '../../../../utils/file';
15
+ import { MessageStatus } from '@smart-link/im-base';
16
+ import UploadProgress from '../UploadProgress';
17
+ import { getImManager } from '../../../../init';
18
+ import PayloadWrapper from './PayloadWrapper';
19
+ import { findSvgIcon } from '../../../../utils/file-icon';
20
+ import useTranslation from "../../../../hooks/useTranslation";
49
21
  const PayloadFile = ({ payload, messageSeq, direction, showArrow = true, isRecord, messageStatus, sendSize, style, onLongPress }) => {
50
22
  const ext = payload.filename.split('.').pop();
51
- const Icon = (0, file_icon_1.findSvgIcon)(ext);
52
- const path = (0, react_1.useRef)('');
53
- const downloading = (0, react_1.useRef)(false);
54
- const { t } = (0, useTranslation_1.default)();
55
- const [download, setDownload] = (0, react_1.useState)({
23
+ const Icon = findSvgIcon(ext);
24
+ const path = useRef('');
25
+ const downloading = useRef(false);
26
+ const { t } = useTranslation();
27
+ const [download, setDownload] = useState({
56
28
  progress: 0,
57
29
  status: 'pending',
58
30
  });
59
31
  const openWithLocal = (path) => __awaiter(void 0, void 0, void 0, function* () {
60
32
  try {
61
- yield react_native_file_viewer_1.default.open(path);
33
+ yield FileViewer.open(path);
62
34
  }
63
35
  catch (e) {
64
- rn_ui_1.Toast.warning(t('fileOpenFail'));
36
+ Toast.warning(t('fileOpenFail'));
65
37
  }
66
38
  });
67
39
  const pressFile = () => __awaiter(void 0, void 0, void 0, function* () {
68
- const imManager = (0, init_1.getImManager)();
40
+ const imManager = getImManager();
69
41
  const download = () => __awaiter(void 0, void 0, void 0, function* () {
70
42
  try {
71
43
  const localPath = yield imManager.download({
@@ -88,7 +60,7 @@ const PayloadFile = ({ payload, messageSeq, direction, showArrow = true, isRecor
88
60
  return localPath;
89
61
  }
90
62
  catch (e) {
91
- rn_ui_1.Toast.error(t('downloadError'));
63
+ Toast.error(t('downloadError'));
92
64
  setDownload({
93
65
  progress: 0,
94
66
  status: 'pending',
@@ -108,6 +80,10 @@ const PayloadFile = ({ payload, messageSeq, direction, showArrow = true, isRecor
108
80
  return;
109
81
  downloading.current = true;
110
82
  localPath = yield download();
83
+ setDownload({
84
+ progress: payload.size,
85
+ status: 'done',
86
+ });
111
87
  imManager.updateResource({ url: payload.fileId, localPath });
112
88
  yield openWithLocal(localPath);
113
89
  return;
@@ -120,38 +96,38 @@ const PayloadFile = ({ payload, messageSeq, direction, showArrow = true, isRecor
120
96
  return;
121
97
  downloading.current = true;
122
98
  const localPath = yield download();
123
- (0, init_1.getImManager)().db.updateMessage({
99
+ getImManager().db.updateMessage({
124
100
  messageSeq,
125
101
  payload: Object.assign(Object.assign({}, payload), { localPath: localPath }),
126
102
  });
127
103
  yield openWithLocal(localPath);
128
104
  }
129
105
  });
130
- return (<PayloadWrapper_1.default direction={direction} showArrow={showArrow} onLongPress={onLongPress} style={[style, styles.file]} onPress={pressFile}>
131
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center' }}>
106
+ return (<PayloadWrapper direction={direction} showArrow={showArrow} onLongPress={onLongPress} style={[style, styles.file]} onPress={pressFile}>
107
+ <View style={{ flexDirection: 'row', alignItems: 'center', flex: 1 }}>
132
108
  <Icon style={styles.fileIcon}/>
133
- <react_native_1.View style={{ flex: 1 }}>
134
- <react_native_1.Text numberOfLines={1} ellipsizeMode="middle">{payload.filename}</react_native_1.Text>
135
- <react_native_1.Text style={styles.size}>{(0, file_1.numberToFileSize)(payload.size)}{payload.localPath ? t('downloaded') : ''}</react_native_1.Text>
136
- </react_native_1.View>
137
- </react_native_1.View>
138
- <UploadProgress_1.default show={download.status === 'downloading'} width={200} sendSize={download.progress} totalSize={payload.size}/>
139
- <UploadProgress_1.default show={messageStatus === im_base_1.MessageStatus.EMITTING} width={200} sendSize={sendSize || 0} totalSize={payload.size}/>
140
- </PayloadWrapper_1.default>);
109
+ <View style={{ flex: 1 }}>
110
+ <Text numberOfLines={1} ellipsizeMode="middle">{payload.filename}</Text>
111
+ <Text style={styles.size}>{numberToFileSize(payload.size)}{payload.localPath ? t('downloaded') : ''}</Text>
112
+ </View>
113
+ </View>
114
+ <UploadProgress show={download.status === 'downloading'} width={200} sendSize={download.progress} totalSize={payload.size}/>
115
+ <UploadProgress show={messageStatus === MessageStatus.EMITTING} width={200} sendSize={sendSize || 0} totalSize={payload.size}/>
116
+ </PayloadWrapper>);
141
117
  };
142
- const styles = react_native_1.StyleSheet.create({
118
+ const styles = StyleSheet.create({
143
119
  file: {
144
120
  minWidth: 200,
145
121
  alignItems: 'center',
146
- padding: (0, rn_ui_1.dp)(6),
147
- borderRadius: (0, rn_ui_1.dp)(8),
148
- width: react_native_1.Dimensions.get('window').width * 0.75,
122
+ padding: dp(6),
123
+ borderRadius: dp(8),
124
+ width: Dimensions.get('window').width * 0.75,
149
125
  },
150
126
  fileIcon: {
151
- marginRight: (0, rn_ui_1.dp)(8),
127
+ marginRight: dp(8),
152
128
  },
153
129
  size: {
154
130
  color: '#999',
155
131
  },
156
132
  });
157
- exports.default = (0, react_1.memo)(PayloadFile);
133
+ export default memo(PayloadFile);
@@ -1,103 +1,75 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const styles_1 = require("../../../../components/styles");
30
- const useTranslation_1 = __importDefault(require("../../../../hooks/useTranslation"));
31
- const init_1 = require("../../../../init");
32
- const im_base_1 = require("@smart-link/im-base");
33
- const rn_ui_1 = require("@smart-link/rn-ui");
34
- const react_1 = __importStar(require("react"));
35
- const react_native_1 = require("react-native");
36
- const PayloadWrapper_1 = __importDefault(require("./PayloadWrapper"));
37
- const { width } = react_native_1.Dimensions.get('window');
38
- const PayloadMultiple = (0, react_1.memo)(({ payload, messageSeq, direction, showArrow = true, style, onLongPress }) => {
39
- const navigation = (0, rn_ui_1.useNavigation)();
1
+ import { borderStyle, shadowStyle } from '../../../../components/styles';
2
+ import useTranslation from '../../../../hooks/useTranslation';
3
+ import { getImManager } from '../../../../init';
4
+ import { buildSimpleText, ConversationType } from '@smart-link/im-base';
5
+ import { dp, useNavigation } from '@smart-link/rn-ui';
6
+ import React, { memo } from 'react';
7
+ import { View, StyleSheet, Text, Dimensions } from 'react-native';
8
+ import PayloadWrapper from './PayloadWrapper';
9
+ const { width } = Dimensions.get('window');
10
+ const PayloadMultiple = memo(({ payload, messageSeq, direction, showArrow = true, style, onLongPress }) => {
11
+ const navigation = useNavigation();
40
12
  const { type, toName, fromName, selectedMessages } = payload;
41
- const { t } = (0, useTranslation_1.default)();
42
- const imManager = (0, init_1.getImManager)();
13
+ const { t } = useTranslation();
14
+ const imManager = getImManager();
43
15
  const messages = selectedMessages.length > 4 ? [...selectedMessages.slice(0, 4), 'more'] : selectedMessages;
44
- const title = type === im_base_1.ConversationType.C2C
16
+ const title = type === ConversationType.C2C
45
17
  ? t('multipleChatRecordTitle', { fromName, toName })
46
18
  : t('multipleChatRecordTitleGroup');
47
- return (<PayloadWrapper_1.default direction={direction} showArrow={showArrow} style={[style, styles.wrap]} onPress={() => {
19
+ return (<PayloadWrapper direction={direction} showArrow={showArrow} style={[style, styles.wrap]} onPress={() => {
48
20
  navigation.navigate('MessageRecord', {
49
21
  messageSeq,
50
22
  messages: selectedMessages,
51
23
  title,
52
24
  });
53
25
  }} onLongPress={onLongPress}>
54
- <react_native_1.Text style={styles.titleText} numberOfLines={2}>
26
+ <Text style={styles.titleText} numberOfLines={2}>
55
27
  {title}
56
- </react_native_1.Text>
57
- <react_native_1.View style={styles.content}>
28
+ </Text>
29
+ <View style={styles.content}>
58
30
  {messages.map((message, index) => {
59
- return message === 'more' ? (<react_native_1.Text key={index} style={styles.itemTextMore}>
31
+ return message === 'more' ? (<Text key={index} style={styles.itemTextMore}>
60
32
  ......
61
- </react_native_1.Text>) : (<react_native_1.Text key={index} style={styles.itemText} numberOfLines={1} ellipsizeMode="middle">
62
- {message.messageFromName + ': ' + (0, im_base_1.buildSimpleText)(imManager, message.payloadType, message.payload)}
63
- </react_native_1.Text>);
33
+ </Text>) : (<Text key={index} style={styles.itemText} numberOfLines={1} ellipsizeMode="middle">
34
+ {message.messageFromName + ': ' + buildSimpleText(imManager, message.payloadType, message.payload)}
35
+ </Text>);
64
36
  })}
65
- </react_native_1.View>
66
- <react_native_1.View style={styles.line}/>
67
- <react_native_1.Text style={styles.footerText}>{t('multipleChatRecord')}</react_native_1.Text>
68
- </PayloadWrapper_1.default>);
37
+ </View>
38
+ <View style={styles.line}/>
39
+ <Text style={styles.footerText}>{t('multipleChatRecord')}</Text>
40
+ </PayloadWrapper>);
69
41
  });
70
- const styles = react_native_1.StyleSheet.create({
71
- wrap: Object.assign(Object.assign({ minWidth: (0, rn_ui_1.dp)(200), maxWidth: width - 120, padding: (0, rn_ui_1.dp)(12), paddingBottom: (0, rn_ui_1.dp)(6) }, styles_1.borderStyle), styles_1.shadowStyle),
42
+ const styles = StyleSheet.create({
43
+ wrap: Object.assign(Object.assign({ minWidth: dp(200), maxWidth: width - 120, padding: dp(12), paddingBottom: dp(6) }, borderStyle), shadowStyle),
72
44
  titleText: {
73
45
  color: '#333',
74
- fontSize: (0, rn_ui_1.dp)(14),
75
- lineHeight: (0, rn_ui_1.dp)(18),
46
+ fontSize: dp(14),
47
+ lineHeight: dp(18),
76
48
  },
77
49
  content: {
78
- paddingVertical: (0, rn_ui_1.dp)(5),
50
+ paddingVertical: dp(5),
79
51
  },
80
52
  item: {
81
53
  justifyContent: 'center',
82
54
  },
83
55
  itemText: {
84
56
  color: '#999',
85
- fontSize: (0, rn_ui_1.dp)(13),
57
+ fontSize: dp(13),
86
58
  },
87
59
  itemTextMore: {
88
60
  color: '#999',
89
- fontSize: (0, rn_ui_1.dp)(13),
61
+ fontSize: dp(13),
90
62
  },
91
63
  footerText: {
92
64
  color: '#777',
93
- fontSize: (0, rn_ui_1.dp)(13),
65
+ fontSize: dp(13),
94
66
  },
95
67
  line: {
96
- marginTop: (0, rn_ui_1.dp)(5),
97
- marginBottom: (0, rn_ui_1.dp)(5),
68
+ marginTop: dp(5),
69
+ marginBottom: dp(5),
98
70
  backgroundColor: '#eee',
99
71
  width: '100%',
100
- height: (0, rn_ui_1.dp)(1),
72
+ height: dp(1),
101
73
  },
102
74
  });
103
- exports.default = PayloadMultiple;
75
+ export default PayloadMultiple;
@@ -1,99 +1,71 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const useTranslation_1 = __importDefault(require("../../../../hooks/useTranslation"));
30
- const im_base_1 = require("@smart-link/im-base");
31
- const react_1 = __importStar(require("react"));
32
- const react_native_1 = require("react-native");
1
+ import useTranslation from '../../../../hooks/useTranslation';
2
+ import { PayloadType } from '@smart-link/im-base';
3
+ import React, { memo } from 'react';
4
+ import { View, Text, StyleSheet } from 'react-native';
33
5
  const DetailChange = ({ payload }) => {
34
- const { t } = (0, useTranslation_1.default)();
6
+ const { t } = useTranslation();
35
7
  const changeKeys = {
36
8
  noticeChange: 'chatGroupNoticeChange',
37
9
  nameChange: 'chatGroupNameChange',
38
10
  };
39
- return <react_native_1.Text style={styles.text}>{t(changeKeys[payload.changeKey], payload)}</react_native_1.Text>;
11
+ return <Text style={styles.text}>{t(changeKeys[payload.changeKey], payload)}</Text>;
40
12
  };
41
13
  const MemberInvite = ({ payload }) => {
42
- const { t } = (0, useTranslation_1.default)();
43
- return (<react_native_1.Text style={styles.text}>
14
+ const { t } = useTranslation();
15
+ return (<Text style={styles.text}>
44
16
  {t('chatGroupInviteMember', { userName: payload.inviterName, content: payload.inviteesName.join('、') })}
45
- </react_native_1.Text>);
17
+ </Text>);
46
18
  };
47
19
  const MemberRemove = ({ payload }) => {
48
- const { t } = (0, useTranslation_1.default)();
49
- return <react_native_1.Text style={styles.text}>{t('chatGroupRemoveMember', { content: payload.names.join('、') })}</react_native_1.Text>;
20
+ const { t } = useTranslation();
21
+ return <Text style={styles.text}>{t('chatGroupRemoveMember', { content: payload.names.join('、') })}</Text>;
50
22
  };
51
23
  const MemberBeenRemove = ({ payload }) => {
52
- const { t } = (0, useTranslation_1.default)();
53
- return <react_native_1.Text style={styles.text}>{t('chatGroupBeenRemoveMember')}</react_native_1.Text>;
24
+ const { t } = useTranslation();
25
+ return <Text style={styles.text}>{t('chatGroupBeenRemoveMember')}</Text>;
54
26
  };
55
27
  const MemberLeave = ({ payload }) => {
56
- const { t } = (0, useTranslation_1.default)();
57
- return <react_native_1.Text style={styles.text}>{t('chatGroupMemberLeave', { userName: payload.userName })}</react_native_1.Text>;
28
+ const { t } = useTranslation();
29
+ return <Text style={styles.text}>{t('chatGroupMemberLeave', { userName: payload.userName })}</Text>;
58
30
  };
59
31
  const GroupInviteSwitch = ({ payload }) => {
60
- const { t } = (0, useTranslation_1.default)();
32
+ const { t } = useTranslation();
61
33
  console.log('GroupInviteSwitch:');
62
- return (<react_native_1.Text style={styles.text}>
34
+ return (<Text style={styles.text}>
63
35
  {t(payload.switchCode === 'on' ? 'groupInviteValidateEnable' : 'groupInviteValidateDisable')}
64
- </react_native_1.Text>);
36
+ </Text>);
65
37
  };
66
38
  const PayloadNotify = ({ payload, payloadType }) => {
67
39
  console.log('PayloadNotify: ', payload, payloadType);
68
40
  const { content: text } = payload;
69
41
  let content;
70
42
  switch (payloadType) {
71
- case im_base_1.PayloadType.GROUP_DETAIL_CHANGE:
43
+ case PayloadType.GROUP_DETAIL_CHANGE:
72
44
  content = <DetailChange payload={payload}/>;
73
45
  break;
74
- case im_base_1.PayloadType.GROUP_MEMBER_INVITE:
46
+ case PayloadType.GROUP_MEMBER_INVITE:
75
47
  content = <MemberInvite payload={payload}/>;
76
48
  break;
77
- case im_base_1.PayloadType.GROUP_MEMBER_REMOVE_NOTICE:
49
+ case PayloadType.GROUP_MEMBER_REMOVE_NOTICE:
78
50
  content = <MemberRemove payload={payload}/>;
79
51
  break;
80
- case im_base_1.PayloadType.GROUP_MEMBER_BEEN_REMOVED:
52
+ case PayloadType.GROUP_MEMBER_BEEN_REMOVED:
81
53
  content = <MemberBeenRemove payload={payload}/>;
82
54
  break;
83
- case im_base_1.PayloadType.GROUP_INVITE_VALIDATE_SWITCH:
55
+ case PayloadType.GROUP_INVITE_VALIDATE_SWITCH:
84
56
  content = <GroupInviteSwitch payload={payload}/>;
85
57
  break;
86
- case im_base_1.PayloadType.GROUP_MEMBER_LEAVE:
58
+ case PayloadType.GROUP_MEMBER_LEAVE:
87
59
  content = <MemberLeave payload={payload}/>;
88
60
  break;
89
61
  default:
90
- content = <react_native_1.Text style={styles.text}>{text}</react_native_1.Text>;
62
+ content = <Text style={styles.text}>{text}</Text>;
91
63
  break;
92
64
  }
93
- return <react_native_1.View style={styles.content}>{content}</react_native_1.View>;
65
+ return <View style={styles.content}>{content}</View>;
94
66
  };
95
- const styles = react_native_1.StyleSheet.create({
67
+ const styles = StyleSheet.create({
96
68
  content: { marginHorizontal: '10%', paddingVertical: 10, alignItems: 'center' },
97
69
  text: { color: '#999', textAlign: 'center' },
98
70
  });
99
- exports.default = (0, react_1.memo)(PayloadNotify);
71
+ export default memo(PayloadNotify);