@developer_tribe/react-native-comnyx 0.1.1 → 0.2.0

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 (301) hide show
  1. package/lib/commonjs/App.js +59 -0
  2. package/lib/commonjs/App.js.map +1 -0
  3. package/lib/commonjs/__dev__.js +29 -0
  4. package/lib/commonjs/__dev__.js.map +1 -0
  5. package/lib/commonjs/api/api.js +22 -0
  6. package/lib/commonjs/api/api.js.map +1 -0
  7. package/lib/commonjs/api/conversations.js +37 -0
  8. package/lib/commonjs/api/conversations.js.map +1 -0
  9. package/lib/commonjs/api/customers.js +15 -0
  10. package/lib/commonjs/api/customers.js.map +1 -0
  11. package/lib/commonjs/api/index.js +33 -0
  12. package/lib/commonjs/api/index.js.map +1 -0
  13. package/lib/commonjs/api/messages.js +27 -0
  14. package/lib/commonjs/api/messages.js.map +1 -0
  15. package/lib/commonjs/assets/clock.png +0 -0
  16. package/lib/commonjs/assets/double-check.png +0 -0
  17. package/lib/commonjs/assets/down.png +0 -0
  18. package/lib/commonjs/assets/send.png +0 -0
  19. package/lib/commonjs/components/AppText.js +38 -0
  20. package/lib/commonjs/components/AppText.js.map +1 -0
  21. package/lib/commonjs/components/ChatList.js +268 -0
  22. package/lib/commonjs/components/ChatList.js.map +1 -0
  23. package/lib/commonjs/components/CustomerForm.js +213 -0
  24. package/lib/commonjs/components/CustomerForm.js.map +1 -0
  25. package/lib/commonjs/components/EmptyList.js +40 -0
  26. package/lib/commonjs/components/EmptyList.js.map +1 -0
  27. package/lib/commonjs/components/InitFailed.js +51 -0
  28. package/lib/commonjs/components/InitFailed.js.map +1 -0
  29. package/lib/commonjs/components/MessageInput.js +119 -0
  30. package/lib/commonjs/components/MessageInput.js.map +1 -0
  31. package/lib/commonjs/components/MessageItem.js +117 -0
  32. package/lib/commonjs/components/MessageItem.js.map +1 -0
  33. package/lib/commonjs/constants/translations.js +219 -0
  34. package/lib/commonjs/constants/translations.js.map +1 -0
  35. package/lib/commonjs/data/fake/conversations.js +95 -0
  36. package/lib/commonjs/data/fake/conversations.js.map +1 -0
  37. package/lib/commonjs/data/fake/customers.js +24 -0
  38. package/lib/commonjs/data/fake/customers.js.map +1 -0
  39. package/lib/commonjs/data/fake/messages.js +67 -0
  40. package/lib/commonjs/data/fake/messages.js.map +1 -0
  41. package/lib/commonjs/hooks/useLocalize.js +20 -0
  42. package/lib/commonjs/hooks/useLocalize.js.map +1 -0
  43. package/lib/commonjs/hooks/usePolling.js +50 -0
  44. package/lib/commonjs/hooks/usePolling.js.map +1 -0
  45. package/lib/commonjs/hooks/useThemeColors.js +17 -0
  46. package/lib/commonjs/hooks/useThemeColors.js.map +1 -0
  47. package/lib/commonjs/index.js +15 -6
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/commonjs/register.js +21 -0
  50. package/lib/commonjs/register.js.map +1 -0
  51. package/lib/commonjs/store.js +79 -0
  52. package/lib/commonjs/store.js.map +1 -0
  53. package/lib/commonjs/types/ApiOptions.js +2 -0
  54. package/lib/commonjs/types/ApiOptions.js.map +1 -0
  55. package/lib/commonjs/types/Conversation.js +2 -0
  56. package/lib/commonjs/types/Conversation.js.map +1 -0
  57. package/lib/commonjs/types/Customer.js +2 -0
  58. package/lib/commonjs/types/Customer.js.map +1 -0
  59. package/lib/commonjs/types/Language.js +2 -0
  60. package/lib/commonjs/types/Language.js.map +1 -0
  61. package/lib/commonjs/types/LocalizationKeys.js +2 -0
  62. package/lib/commonjs/types/LocalizationKeys.js.map +1 -0
  63. package/lib/commonjs/types/MessageResponse.js +2 -0
  64. package/lib/commonjs/types/MessageResponse.js.map +1 -0
  65. package/lib/commonjs/types/Theme.js +29 -0
  66. package/lib/commonjs/types/Theme.js.map +1 -0
  67. package/lib/commonjs/utils/date.js +17 -0
  68. package/lib/commonjs/utils/date.js.map +1 -0
  69. package/lib/module/App.js +55 -0
  70. package/lib/module/App.js.map +1 -0
  71. package/lib/module/__dev__.js +29 -0
  72. package/lib/module/__dev__.js.map +1 -0
  73. package/lib/module/api/api.js +17 -0
  74. package/lib/module/api/api.js.map +1 -0
  75. package/lib/module/api/conversations.js +32 -0
  76. package/lib/module/api/conversations.js.map +1 -0
  77. package/lib/module/api/customers.js +11 -0
  78. package/lib/module/api/customers.js.map +1 -0
  79. package/lib/module/api/index.js +6 -0
  80. package/lib/module/api/index.js.map +1 -0
  81. package/lib/module/api/messages.js +23 -0
  82. package/lib/module/api/messages.js.map +1 -0
  83. package/lib/module/assets/clock.png +0 -0
  84. package/lib/module/assets/double-check.png +0 -0
  85. package/lib/module/assets/down.png +0 -0
  86. package/lib/module/assets/send.png +0 -0
  87. package/lib/module/components/AppText.js +34 -0
  88. package/lib/module/components/AppText.js.map +1 -0
  89. package/lib/module/components/ChatList.js +265 -0
  90. package/lib/module/components/ChatList.js.map +1 -0
  91. package/lib/module/components/CustomerForm.js +209 -0
  92. package/lib/module/components/CustomerForm.js.map +1 -0
  93. package/lib/module/components/EmptyList.js +36 -0
  94. package/lib/module/components/EmptyList.js.map +1 -0
  95. package/lib/module/components/InitFailed.js +47 -0
  96. package/lib/module/components/InitFailed.js.map +1 -0
  97. package/lib/module/components/MessageInput.js +115 -0
  98. package/lib/module/components/MessageInput.js.map +1 -0
  99. package/lib/module/components/MessageItem.js +114 -0
  100. package/lib/module/components/MessageItem.js.map +1 -0
  101. package/lib/module/constants/translations.js +215 -0
  102. package/lib/module/constants/translations.js.map +1 -0
  103. package/lib/module/data/fake/conversations.js +88 -0
  104. package/lib/module/data/fake/conversations.js.map +1 -0
  105. package/lib/module/data/fake/customers.js +20 -0
  106. package/lib/module/data/fake/customers.js.map +1 -0
  107. package/lib/module/data/fake/messages.js +63 -0
  108. package/lib/module/data/fake/messages.js.map +1 -0
  109. package/lib/module/hooks/useLocalize.js +16 -0
  110. package/lib/module/hooks/useLocalize.js.map +1 -0
  111. package/lib/module/hooks/usePolling.js +46 -0
  112. package/lib/module/hooks/usePolling.js.map +1 -0
  113. package/lib/module/hooks/useThemeColors.js +13 -0
  114. package/lib/module/hooks/useThemeColors.js.map +1 -0
  115. package/lib/module/index.js +3 -4
  116. package/lib/module/index.js.map +1 -1
  117. package/lib/module/register.js +17 -0
  118. package/lib/module/register.js.map +1 -0
  119. package/lib/module/store.js +74 -0
  120. package/lib/module/store.js.map +1 -0
  121. package/lib/module/types/ApiOptions.js +2 -0
  122. package/lib/module/types/ApiOptions.js.map +1 -0
  123. package/lib/module/types/Conversation.js +2 -0
  124. package/lib/module/types/Conversation.js.map +1 -0
  125. package/lib/module/types/Customer.js +2 -0
  126. package/lib/module/types/Customer.js.map +1 -0
  127. package/lib/module/types/Language.js +2 -0
  128. package/lib/module/types/Language.js.map +1 -0
  129. package/lib/module/types/LocalizationKeys.js +2 -0
  130. package/lib/module/types/LocalizationKeys.js.map +1 -0
  131. package/lib/module/types/MessageResponse.js +2 -0
  132. package/lib/module/types/MessageResponse.js.map +1 -0
  133. package/lib/module/types/Theme.js +25 -0
  134. package/lib/module/types/Theme.js.map +1 -0
  135. package/lib/module/utils/date.js +12 -0
  136. package/lib/module/utils/date.js.map +1 -0
  137. package/lib/typescript/commonjs/src/App.d.ts +9 -0
  138. package/lib/typescript/commonjs/src/App.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/__dev__.d.ts +2 -0
  140. package/lib/typescript/commonjs/src/__dev__.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/api/api.d.ts +4 -0
  142. package/lib/typescript/commonjs/src/api/api.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/api/conversations.d.ts +7 -0
  144. package/lib/typescript/commonjs/src/api/conversations.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/src/api/customers.d.ts +4 -0
  146. package/lib/typescript/commonjs/src/api/customers.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/src/api/index.d.ts +4 -0
  148. package/lib/typescript/commonjs/src/api/index.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/src/api/messages.d.ts +4 -0
  150. package/lib/typescript/commonjs/src/api/messages.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/src/components/AppText.d.ts +10 -0
  152. package/lib/typescript/commonjs/src/components/AppText.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/src/components/ChatList.d.ts +2 -0
  154. package/lib/typescript/commonjs/src/components/ChatList.d.ts.map +1 -0
  155. package/lib/typescript/commonjs/src/components/CustomerForm.d.ts +2 -0
  156. package/lib/typescript/commonjs/src/components/CustomerForm.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/src/components/EmptyList.d.ts +2 -0
  158. package/lib/typescript/commonjs/src/components/EmptyList.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/src/components/InitFailed.d.ts +6 -0
  160. package/lib/typescript/commonjs/src/components/InitFailed.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/src/components/MessageInput.d.ts +4 -0
  162. package/lib/typescript/commonjs/src/components/MessageInput.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/src/components/MessageItem.d.ts +5 -0
  164. package/lib/typescript/commonjs/src/components/MessageItem.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/src/constants/translations.d.ts +4 -0
  166. package/lib/typescript/commonjs/src/constants/translations.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/src/data/fake/conversations.d.ts +5 -0
  168. package/lib/typescript/commonjs/src/data/fake/conversations.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/src/data/fake/customers.d.ts +3 -0
  170. package/lib/typescript/commonjs/src/data/fake/customers.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/src/data/fake/messages.d.ts +3 -0
  172. package/lib/typescript/commonjs/src/data/fake/messages.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/src/hooks/useLocalize.d.ts +3 -0
  174. package/lib/typescript/commonjs/src/hooks/useLocalize.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/src/hooks/usePolling.d.ts +2 -0
  176. package/lib/typescript/commonjs/src/hooks/usePolling.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/hooks/useThemeColors.d.ts +3 -0
  178. package/lib/typescript/commonjs/src/hooks/useThemeColors.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/src/index.d.ts +4 -1
  180. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/register.d.ts +5 -0
  182. package/lib/typescript/commonjs/src/register.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/src/store.d.ts +35 -0
  184. package/lib/typescript/commonjs/src/store.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/src/types/ApiOptions.d.ts +4 -0
  186. package/lib/typescript/commonjs/src/types/ApiOptions.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/src/types/Conversation.d.ts +26 -0
  188. package/lib/typescript/commonjs/src/types/Conversation.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/src/types/Customer.d.ts +30 -0
  190. package/lib/typescript/commonjs/src/types/Customer.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/src/types/Language.d.ts +2 -0
  192. package/lib/typescript/commonjs/src/types/Language.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/src/types/LocalizationKeys.d.ts +22 -0
  194. package/lib/typescript/commonjs/src/types/LocalizationKeys.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/src/types/MessageResponse.d.ts +59 -0
  196. package/lib/typescript/commonjs/src/types/MessageResponse.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/src/types/Theme.d.ts +18 -0
  198. package/lib/typescript/commonjs/src/types/Theme.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/src/utils/date.d.ts +7 -0
  200. package/lib/typescript/commonjs/src/utils/date.d.ts.map +1 -0
  201. package/lib/typescript/module/src/App.d.ts +9 -0
  202. package/lib/typescript/module/src/App.d.ts.map +1 -0
  203. package/lib/typescript/module/src/__dev__.d.ts +2 -0
  204. package/lib/typescript/module/src/__dev__.d.ts.map +1 -0
  205. package/lib/typescript/module/src/api/api.d.ts +4 -0
  206. package/lib/typescript/module/src/api/api.d.ts.map +1 -0
  207. package/lib/typescript/module/src/api/conversations.d.ts +7 -0
  208. package/lib/typescript/module/src/api/conversations.d.ts.map +1 -0
  209. package/lib/typescript/module/src/api/customers.d.ts +4 -0
  210. package/lib/typescript/module/src/api/customers.d.ts.map +1 -0
  211. package/lib/typescript/module/src/api/index.d.ts +4 -0
  212. package/lib/typescript/module/src/api/index.d.ts.map +1 -0
  213. package/lib/typescript/module/src/api/messages.d.ts +4 -0
  214. package/lib/typescript/module/src/api/messages.d.ts.map +1 -0
  215. package/lib/typescript/module/src/components/AppText.d.ts +10 -0
  216. package/lib/typescript/module/src/components/AppText.d.ts.map +1 -0
  217. package/lib/typescript/module/src/components/ChatList.d.ts +2 -0
  218. package/lib/typescript/module/src/components/ChatList.d.ts.map +1 -0
  219. package/lib/typescript/module/src/components/CustomerForm.d.ts +2 -0
  220. package/lib/typescript/module/src/components/CustomerForm.d.ts.map +1 -0
  221. package/lib/typescript/module/src/components/EmptyList.d.ts +2 -0
  222. package/lib/typescript/module/src/components/EmptyList.d.ts.map +1 -0
  223. package/lib/typescript/module/src/components/InitFailed.d.ts +6 -0
  224. package/lib/typescript/module/src/components/InitFailed.d.ts.map +1 -0
  225. package/lib/typescript/module/src/components/MessageInput.d.ts +4 -0
  226. package/lib/typescript/module/src/components/MessageInput.d.ts.map +1 -0
  227. package/lib/typescript/module/src/components/MessageItem.d.ts +5 -0
  228. package/lib/typescript/module/src/components/MessageItem.d.ts.map +1 -0
  229. package/lib/typescript/module/src/constants/translations.d.ts +4 -0
  230. package/lib/typescript/module/src/constants/translations.d.ts.map +1 -0
  231. package/lib/typescript/module/src/data/fake/conversations.d.ts +5 -0
  232. package/lib/typescript/module/src/data/fake/conversations.d.ts.map +1 -0
  233. package/lib/typescript/module/src/data/fake/customers.d.ts +3 -0
  234. package/lib/typescript/module/src/data/fake/customers.d.ts.map +1 -0
  235. package/lib/typescript/module/src/data/fake/messages.d.ts +3 -0
  236. package/lib/typescript/module/src/data/fake/messages.d.ts.map +1 -0
  237. package/lib/typescript/module/src/hooks/useLocalize.d.ts +3 -0
  238. package/lib/typescript/module/src/hooks/useLocalize.d.ts.map +1 -0
  239. package/lib/typescript/module/src/hooks/usePolling.d.ts +2 -0
  240. package/lib/typescript/module/src/hooks/usePolling.d.ts.map +1 -0
  241. package/lib/typescript/module/src/hooks/useThemeColors.d.ts +3 -0
  242. package/lib/typescript/module/src/hooks/useThemeColors.d.ts.map +1 -0
  243. package/lib/typescript/module/src/index.d.ts +4 -1
  244. package/lib/typescript/module/src/index.d.ts.map +1 -1
  245. package/lib/typescript/module/src/register.d.ts +5 -0
  246. package/lib/typescript/module/src/register.d.ts.map +1 -0
  247. package/lib/typescript/module/src/store.d.ts +35 -0
  248. package/lib/typescript/module/src/store.d.ts.map +1 -0
  249. package/lib/typescript/module/src/types/ApiOptions.d.ts +4 -0
  250. package/lib/typescript/module/src/types/ApiOptions.d.ts.map +1 -0
  251. package/lib/typescript/module/src/types/Conversation.d.ts +26 -0
  252. package/lib/typescript/module/src/types/Conversation.d.ts.map +1 -0
  253. package/lib/typescript/module/src/types/Customer.d.ts +30 -0
  254. package/lib/typescript/module/src/types/Customer.d.ts.map +1 -0
  255. package/lib/typescript/module/src/types/Language.d.ts +2 -0
  256. package/lib/typescript/module/src/types/Language.d.ts.map +1 -0
  257. package/lib/typescript/module/src/types/LocalizationKeys.d.ts +22 -0
  258. package/lib/typescript/module/src/types/LocalizationKeys.d.ts.map +1 -0
  259. package/lib/typescript/module/src/types/MessageResponse.d.ts +59 -0
  260. package/lib/typescript/module/src/types/MessageResponse.d.ts.map +1 -0
  261. package/lib/typescript/module/src/types/Theme.d.ts +18 -0
  262. package/lib/typescript/module/src/types/Theme.d.ts.map +1 -0
  263. package/lib/typescript/module/src/utils/date.d.ts +7 -0
  264. package/lib/typescript/module/src/utils/date.d.ts.map +1 -0
  265. package/package.json +10 -2
  266. package/src/App.tsx +59 -0
  267. package/src/__dev__.ts +22 -0
  268. package/src/api/api.ts +16 -0
  269. package/src/api/conversations.ts +53 -0
  270. package/src/api/customers.ts +16 -0
  271. package/src/api/index.ts +6 -0
  272. package/src/api/messages.ts +33 -0
  273. package/src/assets/clock.png +0 -0
  274. package/src/assets/double-check.png +0 -0
  275. package/src/assets/down.png +0 -0
  276. package/src/assets/send.png +0 -0
  277. package/src/components/AppText.tsx +43 -0
  278. package/src/components/ChatList.tsx +305 -0
  279. package/src/components/CustomerForm.tsx +203 -0
  280. package/src/components/EmptyList.tsx +32 -0
  281. package/src/components/InitFailed.tsx +46 -0
  282. package/src/components/MessageInput.tsx +133 -0
  283. package/src/components/MessageItem.tsx +141 -0
  284. package/src/constants/translations.ts +232 -0
  285. package/src/data/fake/conversations.ts +558 -0
  286. package/src/data/fake/customers.ts +19 -0
  287. package/src/data/fake/messages.ts +64 -0
  288. package/src/hooks/useLocalize.ts +18 -0
  289. package/src/hooks/usePolling.ts +46 -0
  290. package/src/hooks/useThemeColors.ts +10 -0
  291. package/src/index.tsx +4 -5
  292. package/src/register.ts +17 -0
  293. package/src/store.ts +85 -0
  294. package/src/types/ApiOptions.ts +4 -0
  295. package/src/types/Conversation.ts +29 -0
  296. package/src/types/Customer.ts +31 -0
  297. package/src/types/Language.ts +11 -0
  298. package/src/types/LocalizationKeys.ts +21 -0
  299. package/src/types/MessageResponse.ts +58 -0
  300. package/src/types/Theme.ts +40 -0
  301. package/src/utils/date.ts +11 -0
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Comnyx = Comnyx;
7
+ var _reactNative = require("react-native");
8
+ var _store = require("./store.js");
9
+ var _ChatList = require("./components/ChatList.js");
10
+ var _CustomerForm = require("./components/CustomerForm.js");
11
+ var _react = require("react");
12
+ var _AppText = require("./components/AppText.js");
13
+ var _useThemeColors = require("./hooks/useThemeColors.js");
14
+ var _usePolling = require("./hooks/usePolling.js");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function Comnyx({
17
+ language = 'en',
18
+ theme = 'dark',
19
+ fake = false
20
+ }) {
21
+ const {
22
+ initialized,
23
+ customer
24
+ } = (0, _store.useAppStore)(s => ({
25
+ initialized: s.initialized,
26
+ customer: s.customer
27
+ }));
28
+ const themeColors = (0, _useThemeColors.useThemeColors)();
29
+ (0, _usePolling.usePolling)();
30
+ (0, _react.useEffect)(() => {
31
+ _store.useAppStore.getState().setLanguage(language);
32
+ _store.useAppStore.getState().setTheme(theme);
33
+ _store.useAppStore.getState().setFake(fake);
34
+ }, [language, theme, fake]);
35
+ if (!initialized) {
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
37
+ style: [styles.container, {
38
+ backgroundColor: themeColors.background
39
+ }],
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppText.AppText, {
41
+ localization: "app.initialization.required"
42
+ })
43
+ });
44
+ } else if (!customer) {
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomerForm.CustomerForm, {});
46
+ }
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
48
+ style: [styles.container, {
49
+ backgroundColor: themeColors.background
50
+ }],
51
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatList.ChatList, {})
52
+ });
53
+ }
54
+ const styles = _reactNative.StyleSheet.create({
55
+ container: {
56
+ flex: 1
57
+ }
58
+ });
59
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_store","_ChatList","_CustomerForm","_react","_AppText","_useThemeColors","_usePolling","_jsxRuntime","Comnyx","language","theme","fake","initialized","customer","useAppStore","s","themeColors","useThemeColors","usePolling","useEffect","getState","setLanguage","setTheme","setFake","jsx","View","style","styles","container","backgroundColor","background","children","AppText","localization","CustomerForm","ChatList","StyleSheet","create","flex"],"sourceRoot":"../../src","sources":["App.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAAgD,IAAAQ,WAAA,GAAAR,OAAA;AAQzC,SAASS,MAAMA,CAAC;EACrBC,QAAQ,GAAG,IAAI;EACfC,KAAK,GAAG,MAAM;EACdC,IAAI,GAAG;AACI,CAAC,EAAE;EACd,MAAM;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAW,EAAEC,CAAC,KAAM;IACpDH,WAAW,EAAEG,CAAC,CAACH,WAAW;IAC1BC,QAAQ,EAAEE,CAAC,CAACF;EACd,CAAC,CAAC,CAAC;EACH,MAAMG,WAAW,GAAG,IAAAC,8BAAc,EAAC,CAAC;EACpC,IAAAC,sBAAU,EAAC,CAAC;EACZ,IAAAC,gBAAS,EAAC,MAAM;IACdL,kBAAW,CAACM,QAAQ,CAAC,CAAC,CAACC,WAAW,CAACZ,QAAQ,CAAC;IAC5CK,kBAAW,CAACM,QAAQ,CAAC,CAAC,CAACE,QAAQ,CAACZ,KAAK,CAAC;IACtCI,kBAAW,CAACM,QAAQ,CAAC,CAAC,CAACG,OAAO,CAACZ,IAAI,CAAC;EACtC,CAAC,EAAE,CAACF,QAAQ,EAAEC,KAAK,EAAEC,IAAI,CAAC,CAAC;EAE3B,IAAI,CAACC,WAAW,EAAE;IAChB,oBACE,IAAAL,WAAA,CAAAiB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;MACHC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;QAAEC,eAAe,EAAEb,WAAW,CAACc;MAAW,CAAC,CAAE;MAAAC,QAAA,eAEvE,IAAAxB,WAAA,CAAAiB,GAAA,EAACpB,QAAA,CAAA4B,OAAO;QAACC,YAAY,EAAC;MAA6B,CAAE;IAAC,CAClD,CAAC;EAEX,CAAC,MAAM,IAAI,CAACpB,QAAQ,EAAE;IACpB,oBAAO,IAAAN,WAAA,CAAAiB,GAAA,EAACtB,aAAA,CAAAgC,YAAY,IAAE,CAAC;EACzB;EAEA,oBACE,IAAA3B,WAAA,CAAAiB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;IACHC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEb,WAAW,CAACc;IAAW,CAAC,CAAE;IAAAC,QAAA,eAEvE,IAAAxB,WAAA,CAAAiB,GAAA,EAACvB,SAAA,CAAAkC,QAAQ,IAAE;EAAC,CACR,CAAC;AAEX;AAEA,MAAMR,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _store = require("./store.js");
4
+ // @ts-ignore
5
+ global.clearStorage = async () => {
6
+ _store.useAppStore.setState({
7
+ data: null
8
+ });
9
+ console.info('Storage cleared');
10
+ };
11
+
12
+ // @ts-ignore
13
+ global.changeLanguage = language => {
14
+ _store.useAppStore.setState({
15
+ language: language
16
+ });
17
+ console.info(`Language changed to: ${language}`);
18
+ };
19
+
20
+ // @ts-ignore
21
+ global.toggleTheme = () => {
22
+ const currentTheme = _store.useAppStore.getState().theme;
23
+ const newTheme = currentTheme === 'light' ? 'dark' : 'light';
24
+ _store.useAppStore.setState({
25
+ theme: newTheme
26
+ });
27
+ console.info(`Theme changed to: ${newTheme}`);
28
+ };
29
+ //# sourceMappingURL=__dev__.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_store","require","global","clearStorage","useAppStore","setState","data","console","info","changeLanguage","language","toggleTheme","currentTheme","getState","theme","newTheme"],"sourceRoot":"../../src","sources":["__dev__.ts"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;AACAC,MAAM,CAACC,YAAY,GAAG,YAAY;EAChCC,kBAAW,CAACC,QAAQ,CAAC;IAAEC,IAAI,EAAE;EAAK,CAAC,CAAC;EACpCC,OAAO,CAACC,IAAI,CAAC,iBAAiB,CAAC;AACjC,CAAC;;AAED;AACAN,MAAM,CAACO,cAAc,GAAIC,QAAgB,IAAK;EAC5CN,kBAAW,CAACC,QAAQ,CAAC;IAAEK,QAAQ,EAAEA;EAAyB,CAAC,CAAC;EAC5DH,OAAO,CAACC,IAAI,CAAC,wBAAwBE,QAAQ,EAAE,CAAC;AAClD,CAAC;;AAED;AACAR,MAAM,CAACS,WAAW,GAAG,MAAM;EACzB,MAAMC,YAAY,GAAGR,kBAAW,CAACS,QAAQ,CAAC,CAAC,CAACC,KAAK;EACjD,MAAMC,QAAQ,GAAGH,YAAY,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO;EAC5DR,kBAAW,CAACC,QAAQ,CAAC;IAAES,KAAK,EAAEC;EAAS,CAAC,CAAC;EACzCR,OAAO,CAACC,IAAI,CAAC,qBAAqBO,QAAQ,EAAE,CAAC;AAC/C,CAAC","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.axiosInstance = void 0;
7
+ exports.initApi = initApi;
8
+ var _axios = _interopRequireDefault(require("axios"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const axiosInstance = exports.axiosInstance = _axios.default.create({
11
+ //baseURL: 'https://api.comnyx.com',
12
+ baseURL: 'https://stage.comnyx.com',
13
+ headers: {
14
+ 'Content-Type': 'application/json'
15
+ },
16
+ timeout: 1000
17
+ });
18
+ function initApi(token) {
19
+ axiosInstance.defaults.headers.common['Content-Type'] = 'application/json';
20
+ axiosInstance.defaults.headers.common.Authorization = 'Bearer ' + token;
21
+ }
22
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_axios","_interopRequireDefault","require","e","__esModule","default","axiosInstance","exports","axios","create","baseURL","headers","timeout","initApi","token","defaults","common","Authorization"],"sourceRoot":"../../../src","sources":["api/api.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAC1B,MAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,cAAK,CAACC,MAAM,CAAC;EACjC;EACAC,OAAO,EAAE,0BAA0B;EACnCC,OAAO,EAAE;IACP,cAAc,EAAE;EAClB,CAAC;EACDC,OAAO,EAAE;AACX,CAAC,CAAC;AAEK,SAASC,OAAOA,CAACC,KAAa,EAAE;EACrCR,aAAa,CAACS,QAAQ,CAACJ,OAAO,CAACK,MAAM,CAAC,cAAc,CAAC,GAAG,kBAAkB;EAC1EV,aAAa,CAACS,QAAQ,CAACJ,OAAO,CAACK,MAAM,CAACC,aAAa,GAAG,SAAS,GAAGH,KAAK;AACzE","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCustomerConversation = getCustomerConversation;
7
+ exports.getNewCustomerConversation = getNewCustomerConversation;
8
+ var _conversations = require("../data/fake/conversations.js");
9
+ var _api = require("./api.js");
10
+ var _date = require("../utils/date.js");
11
+ const PER_PAGE = 25;
12
+ function getCustomerConversation(externalId, created_at, page = 0, options) {
13
+ if (options.fake) {
14
+ return (0, _conversations.getFakePaginatedConversationResponse)(page, options.per_page ?? PER_PAGE);
15
+ }
16
+ return _api.axiosInstance.get(`/api/customers/${externalId}/conversation`, {
17
+ params: {
18
+ page,
19
+ // per_page: PER_PAGE,
20
+ getOld: 1,
21
+ getFrom: (0, _date.dateToUnixTimestamp)(created_at)
22
+ }
23
+ }).then(res => res.data);
24
+ }
25
+ function getNewCustomerConversation(externalId, created_at, options) {
26
+ if (options.fake) {
27
+ return (0, _conversations.getFakeConversationResponse)(25, 0, 0, true);
28
+ }
29
+ return _api.axiosInstance.get(`/api/customers/${externalId}/conversation`, {
30
+ params: {
31
+ page: 1,
32
+ // per_page: 25,
33
+ getFrom: (0, _date.dateToUnixTimestamp)(created_at)
34
+ }
35
+ }).then(res => res.data);
36
+ }
37
+ //# sourceMappingURL=conversations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_conversations","require","_api","_date","PER_PAGE","getCustomerConversation","externalId","created_at","page","options","fake","getFakePaginatedConversationResponse","per_page","axiosInstance","get","params","getOld","getFrom","dateToUnixTimestamp","then","res","data","getNewCustomerConversation","getFakeConversationResponse"],"sourceRoot":"../../../src","sources":["api/conversations.ts"],"mappings":";;;;;;;AAEA,IAAAA,cAAA,GAAAC,OAAA;AAIA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAMG,QAAQ,GAAG,EAAE;AAEZ,SAASC,uBAAuBA,CACrCC,UAAkB,EAClBC,UAA4B,EAC5BC,IAAY,GAAG,CAAC,EAChBC,OAA2C,EACZ;EAC/B,IAAIA,OAAO,CAACC,IAAI,EAAE;IAChB,OAAO,IAAAC,mDAAoC,EACzCH,IAAI,EACJC,OAAO,CAACG,QAAQ,IAAIR,QACtB,CAAC;EACH;EACA,OAAOS,kBAAa,CACjBC,GAAG,CAAuB,kBAAkBR,UAAU,eAAe,EAAE;IACtES,MAAM,EAAE;MACNP,IAAI;MACJ;MACAQ,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,IAAAC,yBAAmB,EAACX,UAAU;IACzC;EACF,CAAC,CAAC,CACDY,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;AAC5B;AAEO,SAASC,0BAA0BA,CACxChB,UAAkB,EAClBC,UAA4B,EAC5BE,OAAmB,EACY;EAC/B,IAAIA,OAAO,CAACC,IAAI,EAAE;IAChB,OAAO,IAAAa,0CAA2B,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;EACpD;EACA,OAAOV,kBAAa,CACjBC,GAAG,CAAuB,kBAAkBR,UAAU,eAAe,EAAE;IACtES,MAAM,EAAE;MACNP,IAAI,EAAE,CAAC;MACP;MACAS,OAAO,EAAE,IAAAC,yBAAmB,EAACX,UAAU;IACzC;EACF,CAAC,CAAC,CACDY,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;AAC5B","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createCustomer = createCustomer;
7
+ var _customers = require("../data/fake/customers.js");
8
+ var _api = require("./api.js");
9
+ function createCustomer(customerData, options) {
10
+ if (options.fake) {
11
+ return Promise.resolve((0, _customers.getFakeCustomer)(customerData));
12
+ }
13
+ return _api.axiosInstance.post('/api/customers/create', customerData).then(res => res.data);
14
+ }
15
+ //# sourceMappingURL=customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_customers","require","_api","createCustomer","customerData","options","fake","Promise","resolve","getFakeCustomer","axiosInstance","post","then","res","data"],"sourceRoot":"../../../src","sources":["api/customers.ts"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,SAASE,cAAcA,CAC5BC,YAAmC,EACnCC,OAAmB,EACA;EACnB,IAAIA,OAAO,CAACC,IAAI,EAAE;IAChB,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAAC,0BAAe,EAACL,YAAY,CAAC,CAAC;EACvD;EACA,OAAOM,kBAAa,CACjBC,IAAI,CAAC,uBAAuB,EAAEP,YAAY,CAAC,CAC3CQ,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;AAC5B","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createCustomer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _customers.createCustomer;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "getCustomerConversation", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _conversations.getCustomerConversation;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "getNewCustomerConversation", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _conversations.getNewCustomerConversation;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "sendCustomerMessage", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _messages.sendCustomerMessage;
28
+ }
29
+ });
30
+ var _customers = require("./customers.js");
31
+ var _conversations = require("./conversations.js");
32
+ var _messages = require("./messages.js");
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_customers","require","_conversations","_messages"],"sourceRoot":"../../../src","sources":["api/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAIA,IAAAE,SAAA,GAAAF,OAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sendCustomerMessage = sendCustomerMessage;
7
+ var _messages = require("../data/fake/messages.js");
8
+ var _api = require("./api.js");
9
+ function sendCustomerMessage(externalId, content, options) {
10
+ if (options.fake) {
11
+ return new Promise((resolve, _) => {
12
+ setTimeout(() => {
13
+ resolve((0, _messages.getFakeMessageResponse)(content));
14
+ }, 500);
15
+ });
16
+ }
17
+ return _api.axiosInstance.post('/api/customers/message', {
18
+ externalId,
19
+ content
20
+ }, {
21
+ headers: {
22
+ 'Accept': 'application/json',
23
+ 'Content-Type': 'application/x-www-form-urlencoded'
24
+ }
25
+ }).then(res => res.data);
26
+ }
27
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_messages","require","_api","sendCustomerMessage","externalId","content","options","fake","Promise","resolve","_","setTimeout","getFakeMessageResponse","axiosInstance","post","headers","then","res","data"],"sourceRoot":"../../../src","sources":["api/messages.ts"],"mappings":";;;;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,SAASE,mBAAmBA,CACjCC,UAAkB,EAClBC,OAAe,EACfC,OAAmB,EACO;EAC1B,IAAIA,OAAO,CAACC,IAAI,EAAE;IAChB,OAAO,IAAIC,OAAO,CAAkB,CAACC,OAAO,EAAEC,CAAC,KAAK;MAClDC,UAAU,CAAC,MAAM;QACfF,OAAO,CAAC,IAAAG,gCAAsB,EAACP,OAAO,CAAC,CAAC;MAC1C,CAAC,EAAE,GAAG,CAAC;IACT,CAAC,CAAC;EACJ;EACA,OAAOQ,kBAAa,CACjBC,IAAI,CACH,wBAAwB,EACxB;IACEV,UAAU;IACVC;EACF,CAAC,EACD;IACEU,OAAO,EAAE;MACP,QAAQ,EAAE,kBAAkB;MAC5B,cAAc,EAAE;IAClB;EACF,CACF,CAAC,CACAC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;AAC5B","ignoreList":[]}
Binary file
Binary file
Binary file
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppText = AppText;
7
+ var _reactNative = require("react-native");
8
+ var _translations = require("../constants/translations.js");
9
+ var _store = require("../store.js");
10
+ var _useThemeColors = require("../hooks/useThemeColors.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function AppText({
13
+ style,
14
+ localization,
15
+ children,
16
+ ...props
17
+ }) {
18
+ const themeColors = (0, _useThemeColors.useThemeColors)();
19
+ const {
20
+ language
21
+ } = (0, _store.useAppStore)(s => ({
22
+ language: s.language
23
+ }));
24
+ const localizedText = localization ? (_translations.LocalizationList[language] || _translations.LocalizationList.en)[localization] : undefined;
25
+ const content = localizedText || children;
26
+ if (!content) {
27
+ console.warn('AppText: No content provided. Either localization or children must be provided.');
28
+ return null;
29
+ }
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
31
+ style: [{
32
+ color: themeColors.text
33
+ }, style],
34
+ ...props,
35
+ children: content
36
+ });
37
+ }
38
+ //# sourceMappingURL=AppText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_translations","_store","_useThemeColors","_jsxRuntime","AppText","style","localization","children","props","themeColors","useThemeColors","language","useAppStore","s","localizedText","LocalizationList","en","undefined","content","console","warn","jsx","Text","color","text"],"sourceRoot":"../../../src","sources":["components/AppText.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAAyD,IAAAI,WAAA,GAAAJ,OAAA;AAQlD,SAASK,OAAOA,CAAC;EACtBC,KAAK;EACLC,YAAY;EACZC,QAAQ;EACR,GAAGC;AACS,CAAC,EAAE;EACf,MAAMC,WAAW,GAAG,IAAAC,8BAAc,EAAC,CAAC;EACpC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAW,EAAEC,CAAC,KAAM;IACvCF,QAAQ,EAAEE,CAAC,CAACF;EACd,CAAC,CAAC,CAAC;EAEH,MAAMG,aAAa,GAAGR,YAAY,GAC9B,CAACS,8BAAgB,CAACJ,QAAQ,CAAkC,IAC1DI,8BAAgB,CAACC,EAAE,EAAEV,YAAY,CAAC,GACpCW,SAAS;EAEb,MAAMC,OAAO,GAAGJ,aAAa,IAAIP,QAAQ;EAEzC,IAAI,CAACW,OAAO,EAAE;IACZC,OAAO,CAACC,IAAI,CACV,iFACF,CAAC;IACD,OAAO,IAAI;EACb;EAEA,oBACE,IAAAjB,WAAA,CAAAkB,GAAA,EAACvB,YAAA,CAAAwB,IAAI;IAACjB,KAAK,EAAE,CAAC;MAAEkB,KAAK,EAAEd,WAAW,CAACe;IAAK,CAAC,EAAEnB,KAAK,CAAE;IAAA,GAAKG,KAAK;IAAAD,QAAA,EACzDW;EAAO,CACJ,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatList = ChatList;
7
+ var _react = require("react");
8
+ var _store = require("../store.js");
9
+ var _reactNative = require("react-native");
10
+ var _index = require("../api/index.js");
11
+ var _MessageItem = require("./MessageItem.js");
12
+ var _MessageInput = require("./MessageInput.js");
13
+ var _useThemeColors = require("../hooks/useThemeColors.js");
14
+ var _AppText = require("./AppText.js");
15
+ var _InitFailed = require("./InitFailed.js");
16
+ var _EmptyList = require("./EmptyList.js");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function LoadingItem() {
19
+ const themeColors = (0, _useThemeColors.useThemeColors)();
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
21
+ style: [styles.loadingItem, {
22
+ backgroundColor: themeColors.background
23
+ }],
24
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
25
+ size: "large",
26
+ color: themeColors.primary
27
+ })
28
+ });
29
+ }
30
+ function ChatList() {
31
+ const themeColors = (0, _useThemeColors.useThemeColors)();
32
+ const {
33
+ height: windowHeight
34
+ } = (0, _reactNative.useWindowDimensions)();
35
+ const MESSAGE_MIN_HEIGHT = 60;
36
+ const FLATLIST_PADDING = 20;
37
+ const MESSAGES_PER_PAGE = Math.ceil((windowHeight - FLATLIST_PADDING) / MESSAGE_MIN_HEIGHT);
38
+ const [loading, setLoading] = (0, _react.useState)(true);
39
+ const {
40
+ customer,
41
+ data,
42
+ setData
43
+ } = (0, _store.useAppStore)(s => ({
44
+ customer: s.customer,
45
+ data: s.data,
46
+ setData: s.setData
47
+ }));
48
+ const ref = (0, _react.useRef)(null);
49
+ const [page, setPage] = (0, _react.useState)(1);
50
+ const nextPageStatus = (0, _react.useRef)();
51
+ const [nexPageFailed, setNexPageFailed] = (0, _react.useState)(false);
52
+ const [initFailed, setInitFailed] = (0, _react.useState)(false);
53
+ const [isScrollingUp, setIsScrollingUp] = (0, _react.useState)(false);
54
+ const listChangedRef = (0, _react.useRef)(false);
55
+ const nextPage = (0, _react.useCallback)(() => {
56
+ if (nextPageStatus.current) {
57
+ return;
58
+ }
59
+ nextPageStatus.current = 'loading';
60
+ if (customer?.external_id) {
61
+ const newPage = page + 1;
62
+ setPage(newPage);
63
+ const firstMessage = _store.useAppStore.getState().firstMessage;
64
+ (0, _index.getCustomerConversation)(customer?.external_id, firstMessage?.created_at, newPage, {
65
+ fake: _store.useAppStore.getState().fake,
66
+ per_page: MESSAGES_PER_PAGE
67
+ }).then(newData => {
68
+ listChangedRef.current = true;
69
+ setData(prevData => {
70
+ const newMessages = newData.page.data;
71
+ const existingIds = new Set(prevData?.map(msg => msg.id));
72
+ const uniqueNewMessages = newMessages.filter(msg => !existingIds.has(msg.id));
73
+ const processedMessages = uniqueNewMessages.map(u => ({
74
+ ...u,
75
+ created_at: new Date(u.created_at),
76
+ approved: true
77
+ }));
78
+ if (processedMessages.length === 0) {
79
+ nextPageStatus.current = 'empty';
80
+ } else {
81
+ nextPageStatus.current = undefined;
82
+ }
83
+ return [...(prevData ?? []), ...processedMessages];
84
+ });
85
+ }).catch(_ => {
86
+ nextPageStatus.current = 'fail';
87
+ setNexPageFailed(true);
88
+ }).finally(() => {
89
+ setLoading(false);
90
+ });
91
+ }
92
+ }, [MESSAGES_PER_PAGE, customer?.external_id, page, setData]);
93
+ const renderItem = (0, _react.useCallback)(({
94
+ item
95
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageItem.MessageItem, {
96
+ item: item
97
+ }), []);
98
+ const handleScroll = (0, _react.useCallback)(event => {
99
+ const currentScrollY = event.nativeEvent.contentOffset.y;
100
+ const contentHeight = event.nativeEvent.contentSize.height;
101
+ const scrollViewHeight = event.nativeEvent.layoutMeasurement.height;
102
+ setIsScrollingUp(currentScrollY < 100);
103
+ if (currentScrollY >= contentHeight - scrollViewHeight - 200) {
104
+ nextPage();
105
+ }
106
+ }, [nextPage]);
107
+ const scrollToBottom = (0, _react.useCallback)(animated => {
108
+ if (ref.current && data?.length) {
109
+ ref.current.scrollToOffset({
110
+ offset: 0,
111
+ animated
112
+ });
113
+ }
114
+ }, [data]);
115
+ (0, _react.useEffect)(() => {
116
+ if (customer?.external_id && !initFailed) {
117
+ (0, _index.getCustomerConversation)(customer?.external_id, new Date(), 1, {
118
+ fake: _store.useAppStore.getState().fake,
119
+ per_page: MESSAGES_PER_PAGE
120
+ }).then(newData => {
121
+ setData(prevData => {
122
+ const newMessages = newData.page.data;
123
+ const existingIds = new Set(prevData?.map(msg => msg.id));
124
+ const uniqueNewMessages = newMessages.filter(msg => !existingIds.has(msg.id));
125
+ const processedMessages = uniqueNewMessages.map(u => ({
126
+ ...u,
127
+ created_at: new Date(u.created_at),
128
+ approved: true
129
+ }));
130
+ _store.useAppStore.setState({
131
+ firstMessage: processedMessages[0]
132
+ });
133
+ if (processedMessages.length === 0) {
134
+ setLoading(false);
135
+ }
136
+ return processedMessages;
137
+ });
138
+ scrollToBottom(false);
139
+ }).catch(e => {
140
+ setInitFailed(true);
141
+ console.error(e);
142
+ });
143
+ }
144
+ }, [MESSAGES_PER_PAGE, customer?.external_id, initFailed, scrollToBottom, setData]);
145
+ if (nexPageFailed) {
146
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
147
+ style: [styles.retryContainer, {
148
+ backgroundColor: themeColors.background
149
+ }],
150
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
151
+ style: [styles.retryButton, {
152
+ backgroundColor: themeColors.primary
153
+ }],
154
+ onPress: () => {
155
+ setNexPageFailed(false);
156
+ nextPageStatus.current = undefined;
157
+ nextPage();
158
+ },
159
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppText.AppText, {
160
+ localization: "chat.load.error",
161
+ style: [styles.retryText, {
162
+ color: themeColors.background
163
+ }]
164
+ })
165
+ })
166
+ });
167
+ }
168
+ if (initFailed) {
169
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InitFailed.InitFailed, {
170
+ setInitFailed: setInitFailed
171
+ });
172
+ }
173
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
174
+ style: [styles.container, {
175
+ backgroundColor: themeColors.background
176
+ }],
177
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, {
178
+ ref: ref,
179
+ data: data,
180
+ inverted: true,
181
+ renderItem: renderItem,
182
+ contentContainerStyle: [styles.contentContainer, {
183
+ backgroundColor: themeColors.background
184
+ }],
185
+ style: styles.list,
186
+ ListEmptyComponent: !loading && (!data || data.length === 0) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmptyList.EmptyList, {}) : null,
187
+ ListFooterComponent: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LoadingItem, {}) : null,
188
+ keyExtractor: item => item.id + '-' + item.created_at,
189
+ removeClippedSubviews: true,
190
+ maxToRenderPerBatch: 10,
191
+ windowSize: 21,
192
+ initialNumToRender: MESSAGES_PER_PAGE,
193
+ getItemLayout: (_, index) => ({
194
+ length: MESSAGE_MIN_HEIGHT + 10,
195
+ offset: (MESSAGE_MIN_HEIGHT + 10) * index,
196
+ index
197
+ }),
198
+ onScroll: handleScroll,
199
+ scrollEventThrottle: 16
200
+ }), isScrollingUp && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
201
+ style: [styles.scrollDownButton, {
202
+ backgroundColor: themeColors.background
203
+ }],
204
+ onPress: () => scrollToBottom(true),
205
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
206
+ source: require('../assets/down.png'),
207
+ style: [styles.scrollUpIcon, {
208
+ tintColor: themeColors.text
209
+ }]
210
+ })
211
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageInput.MessageInput, {
212
+ scrollToBottom: scrollToBottom
213
+ })]
214
+ });
215
+ }
216
+ const styles = _reactNative.StyleSheet.create({
217
+ container: {
218
+ flex: 1
219
+ },
220
+ list: {
221
+ flex: 1
222
+ },
223
+ contentContainer: {
224
+ paddingVertical: 10,
225
+ paddingHorizontal: 10
226
+ },
227
+ loadingItem: {
228
+ height: 200,
229
+ alignItems: 'center',
230
+ justifyContent: 'center'
231
+ },
232
+ scrollDownButton: {
233
+ position: 'absolute',
234
+ right: 20,
235
+ bottom: '15%',
236
+ borderRadius: 25,
237
+ padding: 10,
238
+ shadowColor: '#000',
239
+ shadowOffset: {
240
+ width: 0,
241
+ height: 2
242
+ },
243
+ shadowOpacity: 0.25,
244
+ shadowRadius: 3.84,
245
+ elevation: 5
246
+ },
247
+ scrollUpIcon: {
248
+ width: 24,
249
+ height: 24
250
+ },
251
+ retryContainer: {
252
+ flex: 1,
253
+ alignItems: 'center',
254
+ justifyContent: 'center',
255
+ padding: 20
256
+ },
257
+ retryButton: {
258
+ padding: 15,
259
+ borderRadius: 8,
260
+ alignItems: 'center',
261
+ justifyContent: 'center'
262
+ },
263
+ retryText: {
264
+ fontSize: 16,
265
+ fontWeight: '500'
266
+ }
267
+ });
268
+ //# sourceMappingURL=ChatList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_store","_reactNative","_index","_MessageItem","_MessageInput","_useThemeColors","_AppText","_InitFailed","_EmptyList","_jsxRuntime","LoadingItem","themeColors","useThemeColors","jsx","View","style","styles","loadingItem","backgroundColor","background","children","ActivityIndicator","size","color","primary","ChatList","height","windowHeight","useWindowDimensions","MESSAGE_MIN_HEIGHT","FLATLIST_PADDING","MESSAGES_PER_PAGE","Math","ceil","loading","setLoading","useState","customer","data","setData","useAppStore","s","ref","useRef","page","setPage","nextPageStatus","nexPageFailed","setNexPageFailed","initFailed","setInitFailed","isScrollingUp","setIsScrollingUp","listChangedRef","nextPage","useCallback","current","external_id","newPage","firstMessage","getState","getCustomerConversation","created_at","fake","per_page","then","newData","prevData","newMessages","existingIds","Set","map","msg","id","uniqueNewMessages","filter","has","processedMessages","u","Date","approved","length","undefined","catch","_","finally","renderItem","item","MessageItem","handleScroll","event","currentScrollY","nativeEvent","contentOffset","y","contentHeight","contentSize","scrollViewHeight","layoutMeasurement","scrollToBottom","animated","scrollToOffset","offset","useEffect","setState","e","console","error","retryContainer","TouchableOpacity","retryButton","onPress","AppText","localization","retryText","InitFailed","jsxs","container","FlatList","inverted","contentContainerStyle","contentContainer","list","ListEmptyComponent","EmptyList","ListFooterComponent","keyExtractor","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","getItemLayout","index","onScroll","scrollEventThrottle","scrollDownButton","Image","source","scrollUpIcon","tintColor","text","MessageInput","StyleSheet","create","flex","paddingVertical","paddingHorizontal","alignItems","justifyContent","position","right","bottom","borderRadius","padding","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/ChatList.tsx"],"mappings":"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","ignoreList":[]}