rn-erxes-sdk 0.1.22 → 0.1.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 (233) hide show
  1. package/README.md +40 -2
  2. package/lib/commonjs/App.js +41 -21
  3. package/lib/commonjs/App.js.map +1 -1
  4. package/lib/commonjs/Widget.js +158 -31
  5. package/lib/commonjs/Widget.js.map +1 -1
  6. package/lib/commonjs/components/Avatar.js +24 -27
  7. package/lib/commonjs/components/Avatar.js.map +1 -1
  8. package/lib/commonjs/components/AvatarWithStatus.js +56 -0
  9. package/lib/commonjs/components/AvatarWithStatus.js.map +1 -0
  10. package/lib/commonjs/components/ConversationItem.js +161 -0
  11. package/lib/commonjs/components/ConversationItem.js.map +1 -0
  12. package/lib/commonjs/components/Icons.js +558 -0
  13. package/lib/commonjs/components/Icons.js.map +1 -0
  14. package/lib/commonjs/components/InputTools.js +329 -38
  15. package/lib/commonjs/components/InputTools.js.map +1 -1
  16. package/lib/commonjs/components/MessengerShell.js +64 -0
  17. package/lib/commonjs/components/MessengerShell.js.map +1 -0
  18. package/lib/commonjs/components/conversation/DateSeparator.js +47 -0
  19. package/lib/commonjs/components/conversation/DateSeparator.js.map +1 -0
  20. package/lib/commonjs/components/conversation/EmojiPicker.js +62 -0
  21. package/lib/commonjs/components/conversation/EmojiPicker.js.map +1 -0
  22. package/lib/commonjs/components/conversation/PersistentMenu.js +64 -0
  23. package/lib/commonjs/components/conversation/PersistentMenu.js.map +1 -0
  24. package/lib/commonjs/components/conversation/TypingStatus.js +122 -0
  25. package/lib/commonjs/components/conversation/TypingStatus.js.map +1 -0
  26. package/lib/commonjs/components/conversation/WelcomeMessage.js +85 -0
  27. package/lib/commonjs/components/conversation/WelcomeMessage.js.map +1 -0
  28. package/lib/commonjs/components/nav/Navigation.js +130 -0
  29. package/lib/commonjs/components/nav/Navigation.js.map +1 -0
  30. package/lib/commonjs/components/nav/constants.js +23 -0
  31. package/lib/commonjs/components/nav/constants.js.map +1 -0
  32. package/lib/commonjs/graphql/ApolloContainer.js +1 -2
  33. package/lib/commonjs/graphql/ApolloContainer.js.map +1 -1
  34. package/lib/commonjs/graphql/mutation.js +58 -23
  35. package/lib/commonjs/graphql/mutation.js.map +1 -1
  36. package/lib/commonjs/graphql/query.js +85 -55
  37. package/lib/commonjs/graphql/query.js.map +1 -1
  38. package/lib/commonjs/graphql/subscription.js +32 -28
  39. package/lib/commonjs/graphql/subscription.js.map +1 -1
  40. package/lib/commonjs/screen/conversation/Attachment.js +77 -12
  41. package/lib/commonjs/screen/conversation/Attachment.js.map +1 -1
  42. package/lib/commonjs/screen/conversation/ConversationDetail.js +307 -136
  43. package/lib/commonjs/screen/conversation/ConversationDetail.js.map +1 -1
  44. package/lib/commonjs/screen/conversation/Message.js +145 -82
  45. package/lib/commonjs/screen/conversation/Message.js.map +1 -1
  46. package/lib/commonjs/screen/faq/Faq.js +373 -0
  47. package/lib/commonjs/screen/faq/Faq.js.map +1 -0
  48. package/lib/commonjs/screen/greetings/Social.js +19 -9
  49. package/lib/commonjs/screen/greetings/Social.js.map +1 -1
  50. package/lib/commonjs/screen/greetings/Supporters.js +49 -46
  51. package/lib/commonjs/screen/greetings/Supporters.js.map +1 -1
  52. package/lib/commonjs/screen/home/Home.js +246 -0
  53. package/lib/commonjs/screen/home/Home.js.map +1 -0
  54. package/lib/commonjs/screen/messages/Messages.js +312 -0
  55. package/lib/commonjs/screen/messages/Messages.js.map +1 -0
  56. package/lib/commonjs/theme.js +132 -0
  57. package/lib/commonjs/theme.js.map +1 -0
  58. package/lib/commonjs/utils/messages.js +93 -0
  59. package/lib/commonjs/utils/messages.js.map +1 -0
  60. package/lib/commonjs/utils/onlineHours.js +127 -0
  61. package/lib/commonjs/utils/onlineHours.js.map +1 -0
  62. package/lib/commonjs/utils/upload.js +245 -0
  63. package/lib/commonjs/utils/upload.js.map +1 -0
  64. package/lib/module/App.js +41 -21
  65. package/lib/module/App.js.map +1 -1
  66. package/lib/module/Widget.js +161 -34
  67. package/lib/module/Widget.js.map +1 -1
  68. package/lib/module/components/Avatar.js +25 -28
  69. package/lib/module/components/Avatar.js.map +1 -1
  70. package/lib/module/components/AvatarWithStatus.js +47 -0
  71. package/lib/module/components/AvatarWithStatus.js.map +1 -0
  72. package/lib/module/components/ConversationItem.js +153 -0
  73. package/lib/module/components/ConversationItem.js.map +1 -0
  74. package/lib/module/components/Icons.js +537 -0
  75. package/lib/module/components/Icons.js.map +1 -0
  76. package/lib/module/components/InputTools.js +331 -39
  77. package/lib/module/components/InputTools.js.map +1 -1
  78. package/lib/module/components/MessengerShell.js +55 -0
  79. package/lib/module/components/MessengerShell.js.map +1 -0
  80. package/lib/module/components/conversation/DateSeparator.js +40 -0
  81. package/lib/module/components/conversation/DateSeparator.js.map +1 -0
  82. package/lib/module/components/conversation/EmojiPicker.js +55 -0
  83. package/lib/module/components/conversation/EmojiPicker.js.map +1 -0
  84. package/lib/module/components/conversation/PersistentMenu.js +57 -0
  85. package/lib/module/components/conversation/PersistentMenu.js.map +1 -0
  86. package/lib/module/components/conversation/TypingStatus.js +113 -0
  87. package/lib/module/components/conversation/TypingStatus.js.map +1 -0
  88. package/lib/module/components/conversation/WelcomeMessage.js +76 -0
  89. package/lib/module/components/conversation/WelcomeMessage.js.map +1 -0
  90. package/lib/module/components/nav/Navigation.js +121 -0
  91. package/lib/module/components/nav/Navigation.js.map +1 -0
  92. package/lib/module/components/nav/constants.js +16 -0
  93. package/lib/module/components/nav/constants.js.map +1 -0
  94. package/lib/module/graphql/ApolloContainer.js +1 -2
  95. package/lib/module/graphql/ApolloContainer.js.map +1 -1
  96. package/lib/module/graphql/mutation.js +57 -23
  97. package/lib/module/graphql/mutation.js.map +1 -1
  98. package/lib/module/graphql/query.js +83 -52
  99. package/lib/module/graphql/query.js.map +1 -1
  100. package/lib/module/graphql/subscription.js +31 -28
  101. package/lib/module/graphql/subscription.js.map +1 -1
  102. package/lib/module/screen/conversation/Attachment.js +79 -14
  103. package/lib/module/screen/conversation/Attachment.js.map +1 -1
  104. package/lib/module/screen/conversation/ConversationDetail.js +311 -139
  105. package/lib/module/screen/conversation/ConversationDetail.js.map +1 -1
  106. package/lib/module/screen/conversation/Message.js +145 -82
  107. package/lib/module/screen/conversation/Message.js.map +1 -1
  108. package/lib/module/screen/faq/Faq.js +363 -0
  109. package/lib/module/screen/faq/Faq.js.map +1 -0
  110. package/lib/module/screen/greetings/Social.js +19 -9
  111. package/lib/module/screen/greetings/Social.js.map +1 -1
  112. package/lib/module/screen/greetings/Supporters.js +50 -46
  113. package/lib/module/screen/greetings/Supporters.js.map +1 -1
  114. package/lib/module/screen/home/Home.js +236 -0
  115. package/lib/module/screen/home/Home.js.map +1 -0
  116. package/lib/module/screen/messages/Messages.js +303 -0
  117. package/lib/module/screen/messages/Messages.js.map +1 -0
  118. package/lib/module/theme.js +122 -0
  119. package/lib/module/theme.js.map +1 -0
  120. package/lib/module/utils/messages.js +81 -0
  121. package/lib/module/utils/messages.js.map +1 -0
  122. package/lib/module/utils/onlineHours.js +118 -0
  123. package/lib/module/utils/onlineHours.js.map +1 -0
  124. package/lib/module/utils/upload.js +233 -0
  125. package/lib/module/utils/upload.js.map +1 -0
  126. package/lib/typescript/App.d.ts +2 -1
  127. package/lib/typescript/App.d.ts.map +1 -1
  128. package/lib/typescript/Widget.d.ts.map +1 -1
  129. package/lib/typescript/components/Avatar.d.ts +7 -1
  130. package/lib/typescript/components/Avatar.d.ts.map +1 -1
  131. package/lib/typescript/components/AvatarWithStatus.d.ts +11 -0
  132. package/lib/typescript/components/AvatarWithStatus.d.ts.map +1 -0
  133. package/lib/typescript/components/ConversationItem.d.ts +9 -0
  134. package/lib/typescript/components/ConversationItem.d.ts.map +1 -0
  135. package/lib/typescript/components/Icons.d.ts +33 -0
  136. package/lib/typescript/components/Icons.d.ts.map +1 -0
  137. package/lib/typescript/components/InputTools.d.ts.map +1 -1
  138. package/lib/typescript/components/MessengerShell.d.ts +4 -0
  139. package/lib/typescript/components/MessengerShell.d.ts.map +1 -0
  140. package/lib/typescript/components/conversation/DateSeparator.d.ts +6 -0
  141. package/lib/typescript/components/conversation/DateSeparator.d.ts.map +1 -0
  142. package/lib/typescript/components/conversation/EmojiPicker.d.ts +7 -0
  143. package/lib/typescript/components/conversation/EmojiPicker.d.ts.map +1 -0
  144. package/lib/typescript/components/conversation/PersistentMenu.d.ts +13 -0
  145. package/lib/typescript/components/conversation/PersistentMenu.d.ts.map +1 -0
  146. package/lib/typescript/components/conversation/TypingStatus.d.ts +4 -0
  147. package/lib/typescript/components/conversation/TypingStatus.d.ts.map +1 -0
  148. package/lib/typescript/components/conversation/WelcomeMessage.d.ts +6 -0
  149. package/lib/typescript/components/conversation/WelcomeMessage.d.ts.map +1 -0
  150. package/lib/typescript/components/nav/Navigation.d.ts +12 -0
  151. package/lib/typescript/components/nav/Navigation.d.ts.map +1 -0
  152. package/lib/typescript/components/nav/constants.d.ts +7 -0
  153. package/lib/typescript/components/nav/constants.d.ts.map +1 -0
  154. package/lib/typescript/graphql/ApolloContainer.d.ts.map +1 -1
  155. package/lib/typescript/graphql/mutation.d.ts +2 -1
  156. package/lib/typescript/graphql/mutation.d.ts.map +1 -1
  157. package/lib/typescript/graphql/query.d.ts +2 -3
  158. package/lib/typescript/graphql/query.d.ts.map +1 -1
  159. package/lib/typescript/graphql/subscription.d.ts +2 -1
  160. package/lib/typescript/graphql/subscription.d.ts.map +1 -1
  161. package/lib/typescript/screen/conversation/Attachment.d.ts.map +1 -1
  162. package/lib/typescript/screen/conversation/ConversationDetail.d.ts.map +1 -1
  163. package/lib/typescript/screen/conversation/Message.d.ts.map +1 -1
  164. package/lib/typescript/screen/faq/Faq.d.ts +4 -0
  165. package/lib/typescript/screen/faq/Faq.d.ts.map +1 -0
  166. package/lib/typescript/screen/greetings/Social.d.ts +1 -1
  167. package/lib/typescript/screen/greetings/Social.d.ts.map +1 -1
  168. package/lib/typescript/screen/greetings/Supporters.d.ts.map +1 -1
  169. package/lib/typescript/screen/home/Home.d.ts +4 -0
  170. package/lib/typescript/screen/home/Home.d.ts.map +1 -0
  171. package/lib/typescript/screen/messages/Messages.d.ts +4 -0
  172. package/lib/typescript/screen/messages/Messages.d.ts.map +1 -0
  173. package/lib/typescript/theme.d.ts +93 -0
  174. package/lib/typescript/theme.d.ts.map +1 -0
  175. package/lib/typescript/utils/messages.d.ts +27 -0
  176. package/lib/typescript/utils/messages.d.ts.map +1 -0
  177. package/lib/typescript/utils/onlineHours.d.ts +19 -0
  178. package/lib/typescript/utils/onlineHours.d.ts.map +1 -0
  179. package/lib/typescript/utils/upload.d.ts +32 -0
  180. package/lib/typescript/utils/upload.d.ts.map +1 -0
  181. package/package.json +25 -21
  182. package/src/App.tsx +48 -24
  183. package/src/Widget.tsx +214 -40
  184. package/src/components/Avatar.tsx +30 -30
  185. package/src/components/AvatarWithStatus.tsx +63 -0
  186. package/src/components/ConversationItem.tsx +199 -0
  187. package/src/components/Icons.tsx +532 -0
  188. package/src/components/InputTools.tsx +387 -48
  189. package/src/components/MessengerShell.tsx +58 -0
  190. package/src/components/conversation/DateSeparator.tsx +36 -0
  191. package/src/components/conversation/EmojiPicker.tsx +111 -0
  192. package/src/components/conversation/PersistentMenu.tsx +74 -0
  193. package/src/components/conversation/TypingStatus.tsx +112 -0
  194. package/src/components/conversation/WelcomeMessage.tsx +70 -0
  195. package/src/components/nav/Navigation.tsx +137 -0
  196. package/src/components/nav/constants.ts +16 -0
  197. package/src/graphql/ApolloContainer.tsx +0 -1
  198. package/src/graphql/mutation.ts +58 -22
  199. package/src/graphql/query.ts +83 -55
  200. package/src/graphql/subscription.ts +31 -27
  201. package/src/screen/conversation/Attachment.tsx +123 -33
  202. package/src/screen/conversation/ConversationDetail.tsx +367 -134
  203. package/src/screen/conversation/Message.tsx +160 -98
  204. package/src/screen/faq/Faq.tsx +425 -0
  205. package/src/screen/greetings/Social.tsx +18 -4
  206. package/src/screen/greetings/Supporters.tsx +56 -41
  207. package/src/screen/home/Home.tsx +276 -0
  208. package/src/screen/messages/Messages.tsx +331 -0
  209. package/src/theme.ts +104 -0
  210. package/src/utils/messages.ts +105 -0
  211. package/src/utils/onlineHours.ts +167 -0
  212. package/src/utils/upload.ts +326 -0
  213. package/lib/commonjs/components/FAB.js +0 -51
  214. package/lib/commonjs/components/FAB.js.map +0 -1
  215. package/lib/commonjs/screen/conversation/Conversations.js +0 -158
  216. package/lib/commonjs/screen/conversation/Conversations.js.map +0 -1
  217. package/lib/commonjs/screen/greetings/Greetings.js +0 -96
  218. package/lib/commonjs/screen/greetings/Greetings.js.map +0 -1
  219. package/lib/module/components/FAB.js +0 -42
  220. package/lib/module/components/FAB.js.map +0 -1
  221. package/lib/module/screen/conversation/Conversations.js +0 -147
  222. package/lib/module/screen/conversation/Conversations.js.map +0 -1
  223. package/lib/module/screen/greetings/Greetings.js +0 -85
  224. package/lib/module/screen/greetings/Greetings.js.map +0 -1
  225. package/lib/typescript/components/FAB.d.ts +0 -16
  226. package/lib/typescript/components/FAB.d.ts.map +0 -1
  227. package/lib/typescript/screen/conversation/Conversations.d.ts +0 -4
  228. package/lib/typescript/screen/conversation/Conversations.d.ts.map +0 -1
  229. package/lib/typescript/screen/greetings/Greetings.d.ts +0 -4
  230. package/lib/typescript/screen/greetings/Greetings.d.ts.map +0 -1
  231. package/src/components/FAB.tsx +0 -69
  232. package/src/screen/conversation/Conversations.tsx +0 -148
  233. package/src/screen/greetings/Greetings.tsx +0 -98
package/README.md CHANGED
@@ -103,6 +103,43 @@ OR
103
103
  npm install --save rn-erxes-sdk
104
104
  ```
105
105
 
106
+ Host apps must also install the native peer packages used by the SDK:
107
+
108
+ ```sh
109
+ yarn add @react-native-async-storage/async-storage react-native-get-random-values
110
+ ```
111
+
112
+ ## Maintainer Workflow
113
+
114
+ This repository requires Node.js `>=20.19.0` and Yarn Classic `1.22.22`.
115
+
116
+ ```sh
117
+ corepack enable
118
+ corepack prepare yarn@1.22.22 --activate
119
+ yarn install
120
+ ```
121
+
122
+ Build and validation commands:
123
+
124
+ ```sh
125
+ yarn typecheck
126
+ yarn lint
127
+ yarn test
128
+ yarn prepack
129
+ npm pack --dry-run
130
+ ```
131
+
132
+ Run the Expo SDK 54 example app:
133
+
134
+ ```sh
135
+ cd example
136
+ yarn install
137
+ npx expo-doctor
138
+ npx expo start --clear
139
+ ```
140
+
141
+ The example app uses Expo SDK 54, React `19.1.0`, and React Native `0.81.5`. It aliases `rn-erxes-sdk` to the root `src` directory for local SDK development.
142
+
106
143
  ### How to use
107
144
 
108
145
  ```
@@ -118,7 +155,7 @@ interface Props {
118
155
  const Widget = () => {
119
156
  return (
120
157
  <ErxesSDK
121
- brandCode={brandCode}
158
+ integrationId={integrationId}
122
159
  />
123
160
  );
124
161
  };
@@ -129,7 +166,8 @@ export default Widget;
129
166
 
130
167
  | Prop | Default | Required |
131
168
  | ---------------- | ------- | -------- |
132
- | **`brandCode`** | `None` | True |
169
+ | **`integrationId`** | `None` | True |
170
+ | **`brandCode`** | `None` | False |
133
171
  | **`email`** | `Null` | False |
134
172
  | **`onBack`** | `None` | False |
135
173
  | **`showWidget`** | `false` | True |
@@ -15,6 +15,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
15
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
16
  const ErxesSDK = _ref => {
17
17
  let {
18
+ integrationId,
18
19
  brandCode,
19
20
  subDomain,
20
21
  email = null,
@@ -27,34 +28,17 @@ const ErxesSDK = _ref => {
27
28
  data,
28
29
  properties
29
30
  } = _ref;
31
+ const [loading, setLoading] = _react.default.useState(false);
30
32
  const [connection, setConnection] = _react.default.useState({
31
33
  cachedCustomerId: null,
32
34
  visitorId: null
33
35
  });
36
+ const [cachedConversationId, setCachedConversationId] = _react.default.useState(null);
34
37
  const [show, setShow] = _react.default.useState(showWidget);
35
- const props = {
36
- brandCode,
37
- subDomain,
38
- email,
39
- onBack,
40
- connection,
41
- setConnection,
42
- showWidget,
43
- // icons
44
- backIcon,
45
- newChatIcon,
46
- sendIcon,
47
- // tracking
48
- phone,
49
- data,
50
- properties,
51
- // launcherOptions
52
- show,
53
- setShow
54
- };
55
38
  (0, _react.useEffect)(() => {
56
39
  let visitorId;
57
40
  let tempCustomerId = '';
41
+ setLoading(true);
58
42
  _asyncStorage.default.getItem('cachedCustomerId').then(value => {
59
43
  var _visitorId;
60
44
  if (value !== null) {
@@ -68,17 +52,53 @@ const ErxesSDK = _ref => {
68
52
  cachedCustomerId: tempCustomerId ? tempCustomerId : null,
69
53
  visitorId: (_visitorId = visitorId) === null || _visitorId === void 0 ? void 0 : _visitorId.toString()
70
54
  });
55
+ _asyncStorage.default.getItem('conversationId').then(v => {
56
+ if (v !== null) {
57
+ setCachedConversationId(v);
58
+ }
59
+ setLoading(false);
60
+ }).catch(e => {
61
+ setLoading(false);
62
+ console.log('Failed on cachedConversationId', e.message);
63
+ });
71
64
  }).catch(e => {
72
65
  setConnection({
73
66
  cachedCustomerId: null,
74
67
  visitorId: new _bson.ObjectId()
75
68
  });
76
- console.log('checkIntro', e.message);
69
+ setLoading(false);
70
+ console.log('Failed on cachedCustomerId', e.message);
77
71
  });
78
72
  }, []);
79
73
  if (!(connection !== null && connection !== void 0 && connection.cachedCustomerId) && !(connection !== null && connection !== void 0 && connection.visitorId)) {
80
74
  return null;
81
75
  }
76
+ if (loading) {
77
+ return null;
78
+ }
79
+ const props = {
80
+ integrationId: integrationId || brandCode,
81
+ brandCode,
82
+ subDomain,
83
+ email,
84
+ onBack,
85
+ connection,
86
+ setConnection,
87
+ showWidget,
88
+ // icons
89
+ backIcon,
90
+ newChatIcon,
91
+ sendIcon,
92
+ // tracking
93
+ phone,
94
+ data,
95
+ properties,
96
+ // launcherOptions
97
+ show,
98
+ setShow,
99
+ //
100
+ cachedConversationId
101
+ };
82
102
  return /*#__PURE__*/_react.default.createElement(_ApolloContainer.default, {
83
103
  subDomain: subDomain
84
104
  }, /*#__PURE__*/_react.default.createElement(_Widget.default, props));
@@ -1 +1 @@
1
- {"version":3,"names":["require","_react","_interopRequireWildcard","_Widget","_interopRequireDefault","_asyncStorage","_bson","_ApolloContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ErxesSDK","_ref","brandCode","subDomain","email","onBack","showWidget","backIcon","newChatIcon","sendIcon","phone","data","properties","connection","setConnection","React","useState","cachedCustomerId","visitorId","show","setShow","props","useEffect","tempCustomerId","AsyncStorage","getItem","then","value","_visitorId","JSON","parse","ObjectId","toString","catch","e","console","log","message","createElement","_default","exports"],"sourceRoot":"../../src","sources":["App.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["require","_react","_interopRequireWildcard","_Widget","_interopRequireDefault","_asyncStorage","_bson","_ApolloContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ErxesSDK","_ref","integrationId","brandCode","subDomain","email","onBack","showWidget","backIcon","newChatIcon","sendIcon","phone","data","properties","loading","setLoading","React","useState","connection","setConnection","cachedCustomerId","visitorId","cachedConversationId","setCachedConversationId","show","setShow","useEffect","tempCustomerId","AsyncStorage","getItem","then","value","_visitorId","JSON","parse","ObjectId","toString","v","catch","e","console","log","message","props","createElement","_default","exports"],"sourceRoot":"../../src","sources":["App.tsx"],"mappings":"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"}
@@ -8,22 +8,36 @@ var _reactNative = require("react-native");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _client = require("@apollo/client");
10
10
  var _mutation = require("./graphql/mutation");
11
- var _Greetings = _interopRequireDefault(require("./screen/greetings/Greetings"));
12
- var _Conversations = _interopRequireDefault(require("./screen/conversation/Conversations"));
13
11
  var _Context = _interopRequireDefault(require("./context/Context"));
14
12
  var _ConversationDetail = _interopRequireDefault(require("./screen/conversation/ConversationDetail"));
13
+ var _MessengerShell = _interopRequireDefault(require("./components/MessengerShell"));
15
14
  var _images = _interopRequireDefault(require("./assets/images"));
16
15
  var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
17
16
  var _query = require("./graphql/query");
17
+ var _subscription = require("./graphql/subscription");
18
+ var _utils = require("./utils/utils");
18
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
22
  /* eslint-disable react-hooks/exhaustive-deps */
22
23
  /* eslint-disable react-native/no-inline-styles */
23
24
 
25
+ const countUnreadMessages = function () {
26
+ let conversations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
27
+ return conversations.reduce((acc, conversation) => {
28
+ const messages = (conversation === null || conversation === void 0 ? void 0 : conversation.messages) || [];
29
+ const lastMessage = messages[messages.length - 1];
30
+ if (lastMessage !== null && lastMessage !== void 0 && lastMessage.isCustomerRead) {
31
+ return acc;
32
+ }
33
+ const unreadCount = messages.filter(message => !(message !== null && message !== void 0 && message.isCustomerRead) && (message === null || message === void 0 ? void 0 : message.userId) !== null && (message === null || message === void 0 ? void 0 : message.userId) !== undefined).length;
34
+ return acc + unreadCount;
35
+ }, 0);
36
+ };
24
37
  const Widget = props => {
25
- var _response$data, _response$data$widget, _response$data2, _response$data2$widge, _response$data3, _response$data3$widge, _response$data3$widge2, _response$data4, _response$data4$widge, _response$data4$widge2, _response$data5, _response$data5$widge, _response$data6, _response$data6$widge;
38
+ var _response$data, _response$data$widget, _response$data2, _response$data2$widge, _response$data3, _response$data3$widge, _uiOptions$primary, _uiOptions$primary2, _response$data4, _response$data4$widge, _response$data5, _response$data5$widge;
26
39
  const {
40
+ integrationId: connectIntegrationId,
27
41
  brandCode,
28
42
  email,
29
43
  onBack,
@@ -42,28 +56,122 @@ const Widget = props => {
42
56
  show,
43
57
  setShow,
44
58
  //domain
45
- subDomain
59
+ subDomain,
60
+ //
61
+ cachedConversationId
46
62
  } = props;
47
63
  const [visibleLauncher, setVisibleLauncher] = _react.default.useState(false);
48
64
  const [response, setResponse] = _react.default.useState(null);
49
- const [conversationId, setConversationId] = _react.default.useState(null);
65
+ const [conversationId, setConversationId] = _react.default.useState(cachedConversationId);
66
+ const client = (0, _client.useApolloClient)();
67
+ const unreadVariables = {
68
+ integrationId: response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : (_response$data$widget = _response$data.widgetsMessengerConnect) === null || _response$data$widget === void 0 ? void 0 : _response$data$widget.integrationId,
69
+ customerId: (connection === null || connection === void 0 ? void 0 : connection.cachedCustomerId) || null,
70
+ visitorId: connection !== null && connection !== void 0 && connection.cachedCustomerId ? null : connection === null || connection === void 0 ? void 0 : connection.visitorId
71
+ };
50
72
  const {
51
- data: dataUnreadCount
52
- } = (0, _client.useQuery)(_query.widgetsTotalUnreadCount, {
53
- variables: {
54
- integrationId: response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : (_response$data$widget = _response$data.widgetsMessengerConnect) === null || _response$data$widget === void 0 ? void 0 : _response$data$widget.integrationId,
55
- customerId: (connection === null || connection === void 0 ? void 0 : connection.cachedCustomerId) || null,
56
- visitorId: connection !== null && connection !== void 0 && connection.cachedCustomerId ? null : connection === null || connection === void 0 ? void 0 : connection.visitorId
57
- },
73
+ data: dataUnreadConversations,
74
+ refetch: refetchUnreadConversations,
75
+ subscribeToMore: subscribeToUnreadMore
76
+ } = (0, _client.useQuery)(_query.widgetsConversations, {
77
+ variables: unreadVariables,
58
78
  skip: !response,
59
79
  fetchPolicy: 'network-only'
60
80
  });
81
+ const totalUnreadCount = _react.default.useMemo(() => countUnreadMessages((dataUnreadConversations === null || dataUnreadConversations === void 0 ? void 0 : dataUnreadConversations.widgetsConversations) || []), [dataUnreadConversations]);
61
82
  const [connectMutation] = (0, _client.useMutation)(_mutation.connect);
83
+ const [readConversationMessages] = (0, _client.useMutation)(_mutation.widgetsReadConversationMessages);
62
84
  const [saveBrowserInfo] = (0, _client.useMutation)(_mutation.widgetsSaveBrowserInfo);
85
+ const markConversationRead = _react.default.useCallback(id => {
86
+ if (!id) {
87
+ return Promise.resolve(null);
88
+ }
89
+ return readConversationMessages({
90
+ variables: {
91
+ conversationId: id
92
+ }
93
+ }).then(res => {
94
+ refetchUnreadConversations();
95
+ return res;
96
+ }).catch(err => {
97
+ console.log(err);
98
+ return null;
99
+ });
100
+ }, [readConversationMessages, refetchUnreadConversations]);
101
+ (0, _react.useEffect)(() => {
102
+ const conversations = (dataUnreadConversations === null || dataUnreadConversations === void 0 ? void 0 : dataUnreadConversations.widgetsConversations) || [];
103
+ if (!conversations.length) {
104
+ return;
105
+ }
106
+ const unsubscribes = conversations.map(conversation => subscribeToUnreadMore({
107
+ document: _subscription.conversationMessageInserted,
108
+ variables: {
109
+ _id: conversation._id
110
+ },
111
+ updateQuery: (prev, _ref) => {
112
+ var _currentConversation$;
113
+ let {
114
+ subscriptionData
115
+ } = _ref;
116
+ if (!prev || !subscriptionData.data) {
117
+ return prev;
118
+ }
119
+ const newMessage = subscriptionData.data.conversationMessageInserted;
120
+ if (!newMessage) {
121
+ return prev;
122
+ }
123
+ const conversationIndex = prev.widgetsConversations.findIndex(item => item._id === newMessage.conversationId);
124
+ if (conversationIndex === -1) {
125
+ refetchUnreadConversations();
126
+ return prev;
127
+ }
128
+ const currentConversation = prev.widgetsConversations[conversationIndex];
129
+ const messageExists = (_currentConversation$ = currentConversation.messages) === null || _currentConversation$ === void 0 ? void 0 : _currentConversation$.some(message => message._id === newMessage._id);
130
+ if (messageExists) {
131
+ return prev;
132
+ }
133
+ const nextConversations = [...prev.widgetsConversations];
134
+ nextConversations[conversationIndex] = {
135
+ ...currentConversation,
136
+ content: newMessage.content,
137
+ createdAt: newMessage.createdAt,
138
+ messages: [...(currentConversation.messages || []), newMessage]
139
+ };
140
+ return {
141
+ ...prev,
142
+ widgetsConversations: nextConversations
143
+ };
144
+ }
145
+ }));
146
+ return () => {
147
+ unsubscribes.forEach(unsubscribe => unsubscribe());
148
+ };
149
+ }, [dataUnreadConversations === null || dataUnreadConversations === void 0 ? void 0 : dataUnreadConversations.widgetsConversations, refetchUnreadConversations, subscribeToUnreadMore]);
150
+ (0, _react.useEffect)(() => {
151
+ const customerId = connection === null || connection === void 0 ? void 0 : connection.cachedCustomerId;
152
+ if (!customerId) {
153
+ return;
154
+ }
155
+ const subscription = client.subscribe({
156
+ query: _subscription.adminMessageInserted,
157
+ variables: {
158
+ customerId
159
+ },
160
+ fetchPolicy: 'network-only'
161
+ }).subscribe({
162
+ next() {
163
+ refetchUnreadConversations();
164
+ },
165
+ error(err) {
166
+ console.log(err);
167
+ }
168
+ });
169
+ return () => subscription.unsubscribe();
170
+ }, [client, connection === null || connection === void 0 ? void 0 : connection.cachedCustomerId, refetchUnreadConversations]);
63
171
  (0, _react.useEffect)(() => {
64
172
  connectMutation({
65
173
  variables: {
66
- brandCode,
174
+ integrationId: connectIntegrationId || brandCode,
67
175
  email,
68
176
  cachedCustomerId: connection === null || connection === void 0 ? void 0 : connection.cachedCustomerId,
69
177
  visitorId: connection === null || connection === void 0 ? void 0 : connection.visitorId,
@@ -105,10 +213,17 @@ const Widget = props => {
105
213
  }
106
214
  }, [connection]);
107
215
  const integrationId = response === null || response === void 0 ? void 0 : (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : (_response$data2$widge = _response$data2.widgetsMessengerConnect) === null || _response$data2$widge === void 0 ? void 0 : _response$data2$widge.integrationId;
108
- if (!visibleLauncher || !integrationId) {
216
+ const uiOptions = response === null || response === void 0 ? void 0 : (_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : (_response$data3$widge = _response$data3.widgetsMessengerConnect) === null || _response$data3$widge === void 0 ? void 0 : _response$data3$widge.uiOptions;
217
+ const bgColor = (uiOptions === null || uiOptions === void 0 ? void 0 : (_uiOptions$primary = uiOptions.primary) === null || _uiOptions$primary === void 0 ? void 0 : _uiOptions$primary.DEFAULT) || (uiOptions === null || uiOptions === void 0 ? void 0 : uiOptions.color) || '#5629b6';
218
+ const textColor = (uiOptions === null || uiOptions === void 0 ? void 0 : (_uiOptions$primary2 = uiOptions.primary) === null || _uiOptions$primary2 === void 0 ? void 0 : _uiOptions$primary2.foreground) || (uiOptions === null || uiOptions === void 0 ? void 0 : uiOptions.textColor) || '#fff';
219
+ const logoUrl = uiOptions !== null && uiOptions !== void 0 && uiOptions.logo ? (0, _utils.getAttachmentUrl)(uiOptions.logo, subDomain) : undefined;
220
+ if (!integrationId) {
109
221
  return null;
110
222
  }
111
223
  if (show) {
224
+ if (!visibleLauncher) {
225
+ return null;
226
+ }
112
227
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
113
228
  style: {
114
229
  flex: 1,
@@ -123,16 +238,16 @@ const Widget = props => {
123
238
  setShow(false);
124
239
  }
125
240
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
126
- source: _images.default.logo,
241
+ source: logoUrl ? {
242
+ uri: logoUrl
243
+ } : _images.default.logo,
127
244
  style: styles.image,
128
- resizeMode: "contain"
129
- }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
245
+ resizeMode: "cover"
246
+ }), totalUnreadCount > 0 ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
130
247
  style: styles.unreadCountContainer
131
248
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
132
- style: {
133
- color: '#fff'
134
- }
135
- }, (dataUnreadCount === null || dataUnreadCount === void 0 ? void 0 : dataUnreadCount.widgetsTotalUnreadCount) || 0))));
249
+ style: styles.unreadCountText
250
+ }, totalUnreadCount > 99 ? '99+' : totalUnreadCount)) : null));
136
251
  }
137
252
  return /*#__PURE__*/_react.default.createElement(_Context.default.Provider, {
138
253
  value: {
@@ -146,15 +261,19 @@ const Widget = props => {
146
261
  onBack,
147
262
  showWidget,
148
263
  //Ui Options
149
- bgColor: (response === null || response === void 0 ? void 0 : (_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : (_response$data3$widge = _response$data3.widgetsMessengerConnect) === null || _response$data3$widge === void 0 ? void 0 : (_response$data3$widge2 = _response$data3$widge.uiOptions) === null || _response$data3$widge2 === void 0 ? void 0 : _response$data3$widge2.color) || '#5629b6',
150
- textColor: (response === null || response === void 0 ? void 0 : (_response$data4 = response.data) === null || _response$data4 === void 0 ? void 0 : (_response$data4$widge = _response$data4.widgetsMessengerConnect) === null || _response$data4$widge === void 0 ? void 0 : (_response$data4$widge2 = _response$data4$widge.uiOptions) === null || _response$data4$widge2 === void 0 ? void 0 : _response$data4$widge2.textColor) || '#fff',
264
+ bgColor,
265
+ textColor,
266
+ logoUrl,
151
267
  //Datas
152
- brand: response === null || response === void 0 ? void 0 : (_response$data5 = response.data) === null || _response$data5 === void 0 ? void 0 : (_response$data5$widge = _response$data5.widgetsMessengerConnect) === null || _response$data5$widge === void 0 ? void 0 : _response$data5$widge.brand,
153
- greetings: response === null || response === void 0 ? void 0 : (_response$data6 = response.data) === null || _response$data6 === void 0 ? void 0 : (_response$data6$widge = _response$data6.widgetsMessengerConnect) === null || _response$data6$widge === void 0 ? void 0 : _response$data6$widge.messengerData,
268
+ brand: response === null || response === void 0 ? void 0 : (_response$data4 = response.data) === null || _response$data4 === void 0 ? void 0 : (_response$data4$widge = _response$data4.widgetsMessengerConnect) === null || _response$data4$widge === void 0 ? void 0 : _response$data4$widge.brand,
269
+ greetings: response === null || response === void 0 ? void 0 : (_response$data5 = response.data) === null || _response$data5 === void 0 ? void 0 : (_response$data5$widge = _response$data5.widgetsMessengerConnect) === null || _response$data5$widge === void 0 ? void 0 : _response$data5$widge.messengerData,
154
270
  integrationId,
155
271
  //Conversation
156
272
  conversationId,
157
273
  setConversationId,
274
+ //Unread
275
+ totalUnreadCount,
276
+ markConversationRead,
158
277
  // Connection
159
278
  setConnection,
160
279
  //
@@ -168,7 +287,7 @@ const Widget = props => {
168
287
  }
169
288
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
170
289
  style: styles.container
171
- }, conversationId !== null ? /*#__PURE__*/_react.default.createElement(_ConversationDetail.default, null) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Greetings.default, null), /*#__PURE__*/_react.default.createElement(_Conversations.default, null))));
290
+ }, conversationId !== null ? /*#__PURE__*/_react.default.createElement(_ConversationDetail.default, null) : /*#__PURE__*/_react.default.createElement(_MessengerShell.default, null)));
172
291
  };
173
292
  var _default = Widget;
174
293
  exports.default = _default;
@@ -203,14 +322,22 @@ const styles = _reactNative.StyleSheet.create({
203
322
  },
204
323
  unreadCountContainer: {
205
324
  position: 'absolute',
206
- top: 0,
207
- right: 0,
208
- backgroundColor: 'red',
209
- width: 20,
325
+ top: -2,
326
+ right: -2,
327
+ backgroundColor: '#EF4444',
328
+ minWidth: 20,
210
329
  height: 20,
211
- borderRadius: 50,
330
+ paddingHorizontal: 5,
331
+ borderRadius: 10,
332
+ borderWidth: 2,
333
+ borderColor: '#fff',
212
334
  justifyContent: 'center',
213
335
  alignItems: 'center'
336
+ },
337
+ unreadCountText: {
338
+ color: '#fff',
339
+ fontSize: 11,
340
+ fontWeight: '700'
214
341
  }
215
342
  });
216
343
  //# sourceMappingURL=Widget.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_client","_mutation","_Greetings","_interopRequireDefault","_Conversations","_Context","_ConversationDetail","_images","_asyncStorage","_query","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Widget","props","_response$data","_response$data$widget","_response$data2","_response$data2$widge","_response$data3","_response$data3$widge","_response$data3$widge2","_response$data4","_response$data4$widge","_response$data4$widge2","_response$data5","_response$data5$widge","_response$data6","_response$data6$widge","brandCode","email","onBack","connection","setConnection","showWidget","backIcon","newChatIcon","sendIcon","phone","data","properties","show","setShow","subDomain","visibleLauncher","setVisibleLauncher","React","useState","response","setResponse","conversationId","setConversationId","dataUnreadCount","useQuery","widgetsTotalUnreadCount","variables","integrationId","widgetsMessengerConnect","customerId","cachedCustomerId","visitorId","skip","fetchPolicy","connectMutation","useMutation","connect","saveBrowserInfo","widgetsSaveBrowserInfo","useEffect","isUser","Boolean","then","res","_res$data","_res$data$widgetsMess","_res$data$widgetsMess2","_res$data2","_res$data2$widgetsMes","showLauncher","messengerData","jsonValue","JSON","stringify","AsyncStorage","setItem","catch","err","console","log","browserInfo","createElement","View","style","flex","zIndex","TouchableOpacity","styles","widget","display","onPress","Image","source","images","logo","image","resizeMode","unreadCountContainer","Text","color","Provider","value","hasBack","bgColor","uiOptions","textColor","brand","greetings","container","Fragment","_default","exports","StyleSheet","create","position","right","bottom","height","width","borderRadius","justifyContent","alignItems","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","backgroundColor","top"],"sourceRoot":"../../src","sources":["Widget.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_client","_mutation","_Context","_interopRequireDefault","_ConversationDetail","_MessengerShell","_images","_asyncStorage","_query","_subscription","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","countUnreadMessages","conversations","arguments","length","undefined","reduce","acc","conversation","messages","lastMessage","isCustomerRead","unreadCount","filter","message","userId","Widget","props","_response$data","_response$data$widget","_response$data2","_response$data2$widge","_response$data3","_response$data3$widge","_uiOptions$primary","_uiOptions$primary2","_response$data4","_response$data4$widge","_response$data5","_response$data5$widge","integrationId","connectIntegrationId","brandCode","email","onBack","connection","setConnection","showWidget","backIcon","newChatIcon","sendIcon","phone","data","properties","show","setShow","subDomain","cachedConversationId","visibleLauncher","setVisibleLauncher","React","useState","response","setResponse","conversationId","setConversationId","client","useApolloClient","unreadVariables","widgetsMessengerConnect","customerId","cachedCustomerId","visitorId","dataUnreadConversations","refetch","refetchUnreadConversations","subscribeToMore","subscribeToUnreadMore","useQuery","widgetsConversations","variables","skip","fetchPolicy","totalUnreadCount","useMemo","connectMutation","useMutation","connect","readConversationMessages","widgetsReadConversationMessages","saveBrowserInfo","widgetsSaveBrowserInfo","markConversationRead","useCallback","id","Promise","resolve","then","res","catch","err","console","log","useEffect","unsubscribes","map","document","conversationMessageInserted","_id","updateQuery","prev","_ref","_currentConversation$","subscriptionData","newMessage","conversationIndex","findIndex","item","currentConversation","messageExists","some","nextConversations","content","createdAt","forEach","unsubscribe","subscription","subscribe","query","adminMessageInserted","next","error","isUser","Boolean","_res$data","_res$data$widgetsMess","_res$data$widgetsMess2","_res$data2","_res$data2$widgetsMes","showLauncher","messengerData","jsonValue","JSON","stringify","AsyncStorage","setItem","browserInfo","uiOptions","bgColor","primary","DEFAULT","color","textColor","foreground","logoUrl","logo","getAttachmentUrl","createElement","View","style","flex","zIndex","TouchableOpacity","styles","widget","display","onPress","Image","source","uri","images","image","resizeMode","unreadCountContainer","Text","unreadCountText","Provider","value","hasBack","brand","greetings","container","_default","exports","StyleSheet","create","position","right","bottom","height","width","borderRadius","justifyContent","alignItems","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","backgroundColor","top","minWidth","paddingHorizontal","borderWidth","borderColor","fontSize","fontWeight"],"sourceRoot":"../../src","sources":["Widget.tsx"],"mappings":"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"}
@@ -13,55 +13,52 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
13
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
14
  /* eslint-disable react-native/no-inline-styles */
15
15
 
16
- const Avatar = props => {
16
+ const Avatar = _ref => {
17
17
  var _user$details;
18
- const {
18
+ let {
19
19
  user,
20
- bgColor
21
- } = props;
20
+ bgColor,
21
+ size = 40,
22
+ name
23
+ } = _ref;
22
24
  const value = (0, _react.useContext)(_Context.default);
23
25
  const {
24
26
  subDomain
25
27
  } = value;
26
28
  const url = (0, _utils.getAttachmentUrl)(user === null || user === void 0 ? void 0 : (_user$details = user.details) === null || _user$details === void 0 ? void 0 : _user$details.avatar, subDomain);
29
+ const dimension = {
30
+ width: size,
31
+ height: size,
32
+ borderRadius: size / 2
33
+ };
27
34
  if (!url) {
28
- var _user$details2, _user$details2$fullNa, _user$details2$fullNa2, _user$details2$fullNa3, _user$details3, _user$details3$fullNa, _user$details3$fullNa2, _user$details3$fullNa3;
29
- const firstNameLetter = user === null || user === void 0 ? void 0 : (_user$details2 = user.details) === null || _user$details2 === void 0 ? void 0 : (_user$details2$fullNa = _user$details2.fullName) === null || _user$details2$fullNa === void 0 ? void 0 : (_user$details2$fullNa2 = _user$details2$fullNa.split(' ')[0]) === null || _user$details2$fullNa2 === void 0 ? void 0 : (_user$details2$fullNa3 = _user$details2$fullNa2.charAt(0)) === null || _user$details2$fullNa3 === void 0 ? void 0 : _user$details2$fullNa3.toUpperCase();
30
- const lastNameLetter = user === null || user === void 0 ? void 0 : (_user$details3 = user.details) === null || _user$details3 === void 0 ? void 0 : (_user$details3$fullNa = _user$details3.fullName) === null || _user$details3$fullNa === void 0 ? void 0 : (_user$details3$fullNa2 = _user$details3$fullNa.split(' ')[1]) === null || _user$details3$fullNa2 === void 0 ? void 0 : (_user$details3$fullNa3 = _user$details3$fullNa2.charAt(0)) === null || _user$details3$fullNa3 === void 0 ? void 0 : _user$details3$fullNa3.toUpperCase();
35
+ var _user$details2, _displayName$split$, _displayName$split$$c, _displayName$split$2, _displayName$split$2$;
36
+ const displayName = (user === null || user === void 0 ? void 0 : (_user$details2 = user.details) === null || _user$details2 === void 0 ? void 0 : _user$details2.fullName) || name || '';
37
+ const firstNameLetter = (_displayName$split$ = displayName.split(' ')[0]) === null || _displayName$split$ === void 0 ? void 0 : (_displayName$split$$c = _displayName$split$.charAt(0)) === null || _displayName$split$$c === void 0 ? void 0 : _displayName$split$$c.toUpperCase();
38
+ const lastNameLetter = (_displayName$split$2 = displayName.split(' ')[1]) === null || _displayName$split$2 === void 0 ? void 0 : (_displayName$split$2$ = _displayName$split$2.charAt(0)) === null || _displayName$split$2$ === void 0 ? void 0 : _displayName$split$2$.toUpperCase();
31
39
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
32
- style: [styles.avatar, {
40
+ style: [dimension, {
33
41
  backgroundColor: bgColor,
34
42
  alignItems: 'center',
35
- justifyContent: 'center',
36
- marginRight: 10
43
+ justifyContent: 'center'
37
44
  }]
38
45
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
39
46
  style: {
40
47
  color: '#fff',
41
- fontWeight: '500'
48
+ fontWeight: '600',
49
+ fontSize: size * 0.34
42
50
  }
43
- }, firstNameLetter, ".", lastNameLetter));
51
+ }, firstNameLetter, lastNameLetter ? `.${lastNameLetter}` : ''));
44
52
  }
45
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
46
- style: {
47
- marginRight: 10
48
- }
49
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
53
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
50
54
  source: {
51
55
  uri: url,
52
56
  cache: 'force-cache'
53
57
  },
54
- style: styles.avatar,
55
- resizeMode: "stretch"
56
- }));
58
+ style: dimension,
59
+ resizeMode: "cover"
60
+ });
57
61
  };
58
62
  var _default = Avatar;
59
63
  exports.default = _default;
60
- const styles = _reactNative.StyleSheet.create({
61
- avatar: {
62
- width: 40,
63
- height: 40,
64
- borderRadius: 90
65
- }
66
- });
67
64
  //# sourceMappingURL=Avatar.js.map