@replyke/core 7.0.0-beta.101 → 7.0.0-beta.103

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 (257) hide show
  1. package/dist/cjs/config/axios.d.ts +1 -0
  2. package/dist/cjs/config/axios.js +4 -4
  3. package/dist/cjs/config/axios.js.map +1 -1
  4. package/dist/cjs/context/chat-context.d.ts +17 -0
  5. package/dist/cjs/context/chat-context.js +299 -0
  6. package/dist/cjs/context/chat-context.js.map +1 -0
  7. package/dist/cjs/context/conversation-context.d.ts +14 -0
  8. package/dist/cjs/context/conversation-context.js +231 -0
  9. package/dist/cjs/context/conversation-context.js.map +1 -0
  10. package/dist/cjs/context/index.d.ts +3 -0
  11. package/dist/cjs/context/index.js +13 -1
  12. package/dist/cjs/context/index.js.map +1 -1
  13. package/dist/cjs/context/message-thread-context.d.ts +13 -0
  14. package/dist/cjs/context/message-thread-context.js +32 -0
  15. package/dist/cjs/context/message-thread-context.js.map +1 -0
  16. package/dist/cjs/hooks/chat/conversations/index.d.ts +10 -0
  17. package/dist/cjs/hooks/chat/conversations/index.js +17 -0
  18. package/dist/cjs/hooks/chat/conversations/index.js.map +1 -0
  19. package/dist/cjs/hooks/chat/conversations/useConversation.d.ts +18 -0
  20. package/dist/cjs/hooks/chat/conversations/useConversation.js +134 -0
  21. package/dist/cjs/hooks/chat/conversations/useConversation.js.map +1 -0
  22. package/dist/cjs/hooks/chat/conversations/useConversationMembers.d.ts +18 -0
  23. package/dist/cjs/hooks/chat/conversations/useConversationMembers.js +219 -0
  24. package/dist/cjs/hooks/chat/conversations/useConversationMembers.js.map +1 -0
  25. package/dist/cjs/hooks/chat/conversations/useConversations.d.ts +17 -0
  26. package/dist/cjs/hooks/chat/conversations/useConversations.js +193 -0
  27. package/dist/cjs/hooks/chat/conversations/useConversations.js.map +1 -0
  28. package/dist/cjs/hooks/chat/conversations/useCreateDirectConversation.d.ts +6 -0
  29. package/dist/cjs/hooks/chat/conversations/useCreateDirectConversation.js +83 -0
  30. package/dist/cjs/hooks/chat/conversations/useCreateDirectConversation.js.map +1 -0
  31. package/dist/cjs/hooks/chat/conversations/useSpaceConversation.d.ts +10 -0
  32. package/dist/cjs/hooks/chat/conversations/useSpaceConversation.js +91 -0
  33. package/dist/cjs/hooks/chat/conversations/useSpaceConversation.js.map +1 -0
  34. package/dist/cjs/hooks/chat/index.d.ts +15 -0
  35. package/dist/cjs/hooks/chat/index.js +36 -0
  36. package/dist/cjs/hooks/chat/index.js.map +1 -0
  37. package/dist/cjs/hooks/chat/messages/index.d.ts +12 -0
  38. package/dist/cjs/hooks/chat/messages/index.js +19 -0
  39. package/dist/cjs/hooks/chat/messages/index.js.map +1 -0
  40. package/dist/cjs/hooks/chat/messages/useChatMessages.d.ts +15 -0
  41. package/dist/cjs/hooks/chat/messages/useChatMessages.js +228 -0
  42. package/dist/cjs/hooks/chat/messages/useChatMessages.js.map +1 -0
  43. package/dist/cjs/hooks/chat/messages/useDeleteMessage.d.ts +6 -0
  44. package/dist/cjs/hooks/chat/messages/useDeleteMessage.js +81 -0
  45. package/dist/cjs/hooks/chat/messages/useDeleteMessage.js.map +1 -0
  46. package/dist/cjs/hooks/chat/messages/useEditMessage.d.ts +13 -0
  47. package/dist/cjs/hooks/chat/messages/useEditMessage.js +81 -0
  48. package/dist/cjs/hooks/chat/messages/useEditMessage.js.map +1 -0
  49. package/dist/cjs/hooks/chat/messages/useMessageThread.d.ts +15 -0
  50. package/dist/cjs/hooks/chat/messages/useMessageThread.js +38 -0
  51. package/dist/cjs/hooks/chat/messages/useMessageThread.js.map +1 -0
  52. package/dist/cjs/hooks/chat/messages/useSendMessage.d.ts +17 -0
  53. package/dist/cjs/hooks/chat/messages/useSendMessage.js +156 -0
  54. package/dist/cjs/hooks/chat/messages/useSendMessage.js.map +1 -0
  55. package/dist/cjs/hooks/chat/messages/useToggleReaction.d.ts +11 -0
  56. package/dist/cjs/hooks/chat/messages/useToggleReaction.js +95 -0
  57. package/dist/cjs/hooks/chat/messages/useToggleReaction.js.map +1 -0
  58. package/dist/cjs/hooks/chat/useChatSocket.d.ts +11 -0
  59. package/dist/cjs/hooks/chat/useChatSocket.js +13 -0
  60. package/dist/cjs/hooks/chat/useChatSocket.js.map +1 -0
  61. package/dist/cjs/hooks/chat/useConversationData.d.ts +31 -0
  62. package/dist/cjs/hooks/chat/useConversationData.js +47 -0
  63. package/dist/cjs/hooks/chat/useConversationData.js.map +1 -0
  64. package/dist/cjs/hooks/chat/useMarkConversationAsRead.d.ts +10 -0
  65. package/dist/cjs/hooks/chat/useMarkConversationAsRead.js +87 -0
  66. package/dist/cjs/hooks/chat/useMarkConversationAsRead.js.map +1 -0
  67. package/dist/cjs/hooks/chat/useReportMessage.d.ts +8 -0
  68. package/dist/cjs/hooks/chat/useReportMessage.js +76 -0
  69. package/dist/cjs/hooks/chat/useReportMessage.js.map +1 -0
  70. package/dist/cjs/hooks/chat/useTotalUnreadCount.d.ts +6 -0
  71. package/dist/cjs/hooks/chat/useTotalUnreadCount.js +14 -0
  72. package/dist/cjs/hooks/chat/useTotalUnreadCount.js.map +1 -0
  73. package/dist/cjs/hooks/chat/useTypingIndicator.d.ts +21 -0
  74. package/dist/cjs/hooks/chat/useTypingIndicator.js +68 -0
  75. package/dist/cjs/hooks/chat/useTypingIndicator.js.map +1 -0
  76. package/dist/cjs/hooks/comments/index.d.ts +1 -1
  77. package/dist/cjs/hooks/comments/index.js.map +1 -1
  78. package/dist/cjs/hooks/comments/useCommentSectionData.d.ts +5 -0
  79. package/dist/cjs/hooks/comments/useCommentSectionData.js +20 -17
  80. package/dist/cjs/hooks/comments/useCommentSectionData.js.map +1 -1
  81. package/dist/cjs/hooks/spaces/index.d.ts +4 -0
  82. package/dist/cjs/hooks/spaces/index.js +6 -1
  83. package/dist/cjs/hooks/spaces/index.js.map +1 -1
  84. package/dist/cjs/hooks/spaces/useSpaceMentions.d.ts +24 -0
  85. package/dist/cjs/hooks/spaces/useSpaceMentions.js +191 -0
  86. package/dist/cjs/hooks/spaces/useSpaceMentions.js.map +1 -0
  87. package/dist/cjs/hooks/spaces/useUnbanMember.d.ts +11 -0
  88. package/dist/cjs/hooks/spaces/useUnbanMember.js +71 -0
  89. package/dist/cjs/hooks/spaces/useUnbanMember.js.map +1 -0
  90. package/dist/cjs/hooks/users/index.d.ts +1 -1
  91. package/dist/cjs/hooks/users/index.js +3 -3
  92. package/dist/cjs/hooks/users/index.js.map +1 -1
  93. package/dist/cjs/hooks/users/{useMentions.d.ts → useUserMentions.d.ts} +8 -4
  94. package/dist/cjs/hooks/users/{useMentions.js → useUserMentions.js} +22 -17
  95. package/dist/cjs/hooks/users/useUserMentions.js.map +1 -0
  96. package/dist/cjs/index.d.ts +11 -5
  97. package/dist/cjs/index.js +70 -5
  98. package/dist/cjs/index.js.map +1 -1
  99. package/dist/cjs/interfaces/models/File.d.ts +1 -0
  100. package/dist/cjs/interfaces/models/IChatMessage.d.ts +34 -0
  101. package/dist/cjs/interfaces/models/IChatMessage.js +3 -0
  102. package/dist/cjs/interfaces/models/IChatMessage.js.map +1 -0
  103. package/dist/cjs/interfaces/models/IConversation.d.ts +25 -0
  104. package/dist/cjs/interfaces/models/IConversation.js +3 -0
  105. package/dist/cjs/interfaces/models/IConversation.js.map +1 -0
  106. package/dist/cjs/interfaces/models/IConversationMember.d.ts +16 -0
  107. package/dist/cjs/interfaces/models/IConversationMember.js +3 -0
  108. package/dist/cjs/interfaces/models/IConversationMember.js.map +1 -0
  109. package/dist/cjs/interfaces/models/Mention.d.ts +8 -1
  110. package/dist/cjs/store/api/spacesApi.d.ts +364 -0
  111. package/dist/cjs/store/api/spacesApi.js +20 -3
  112. package/dist/cjs/store/api/spacesApi.js.map +1 -1
  113. package/dist/cjs/store/hooks.d.ts +1 -0
  114. package/dist/cjs/store/index.d.ts +2 -0
  115. package/dist/cjs/store/replykeReducers.d.ts +2 -0
  116. package/dist/cjs/store/replykeReducers.js +2 -0
  117. package/dist/cjs/store/replykeReducers.js.map +1 -1
  118. package/dist/cjs/store/rootReducer.d.ts +3 -0
  119. package/dist/cjs/store/slices/chatSlice.d.ts +120 -0
  120. package/dist/cjs/store/slices/chatSlice.js +369 -0
  121. package/dist/cjs/store/slices/chatSlice.js.map +1 -0
  122. package/dist/cjs/store/slices/entityListsSlice.d.ts +168 -24
  123. package/dist/cjs/store/slices/spaceListsSlice.d.ts +24 -0
  124. package/dist/cjs/store/slices/userSlice.d.ts +16 -0
  125. package/dist/cjs/types/socket.d.ts +73 -0
  126. package/dist/cjs/types/socket.js +3 -0
  127. package/dist/cjs/types/socket.js.map +1 -0
  128. package/dist/esm/config/axios.d.ts +1 -0
  129. package/dist/esm/config/axios.js +1 -1
  130. package/dist/esm/config/axios.js.map +1 -1
  131. package/dist/esm/context/chat-context.d.ts +17 -0
  132. package/dist/esm/context/chat-context.js +291 -0
  133. package/dist/esm/context/chat-context.js.map +1 -0
  134. package/dist/esm/context/conversation-context.d.ts +14 -0
  135. package/dist/esm/context/conversation-context.js +223 -0
  136. package/dist/esm/context/conversation-context.js.map +1 -0
  137. package/dist/esm/context/index.d.ts +3 -0
  138. package/dist/esm/context/index.js +3 -0
  139. package/dist/esm/context/index.js.map +1 -1
  140. package/dist/esm/context/message-thread-context.d.ts +13 -0
  141. package/dist/esm/context/message-thread-context.js +24 -0
  142. package/dist/esm/context/message-thread-context.js.map +1 -0
  143. package/dist/esm/hooks/chat/conversations/index.d.ts +10 -0
  144. package/dist/esm/hooks/chat/conversations/index.js +6 -0
  145. package/dist/esm/hooks/chat/conversations/index.js.map +1 -0
  146. package/dist/esm/hooks/chat/conversations/useConversation.d.ts +18 -0
  147. package/dist/esm/hooks/chat/conversations/useConversation.js +129 -0
  148. package/dist/esm/hooks/chat/conversations/useConversation.js.map +1 -0
  149. package/dist/esm/hooks/chat/conversations/useConversationMembers.d.ts +18 -0
  150. package/dist/esm/hooks/chat/conversations/useConversationMembers.js +214 -0
  151. package/dist/esm/hooks/chat/conversations/useConversationMembers.js.map +1 -0
  152. package/dist/esm/hooks/chat/conversations/useConversations.d.ts +17 -0
  153. package/dist/esm/hooks/chat/conversations/useConversations.js +188 -0
  154. package/dist/esm/hooks/chat/conversations/useConversations.js.map +1 -0
  155. package/dist/esm/hooks/chat/conversations/useCreateDirectConversation.d.ts +6 -0
  156. package/dist/esm/hooks/chat/conversations/useCreateDirectConversation.js +78 -0
  157. package/dist/esm/hooks/chat/conversations/useCreateDirectConversation.js.map +1 -0
  158. package/dist/esm/hooks/chat/conversations/useSpaceConversation.d.ts +10 -0
  159. package/dist/esm/hooks/chat/conversations/useSpaceConversation.js +86 -0
  160. package/dist/esm/hooks/chat/conversations/useSpaceConversation.js.map +1 -0
  161. package/dist/esm/hooks/chat/index.d.ts +15 -0
  162. package/dist/esm/hooks/chat/index.js +13 -0
  163. package/dist/esm/hooks/chat/index.js.map +1 -0
  164. package/dist/esm/hooks/chat/messages/index.d.ts +12 -0
  165. package/dist/esm/hooks/chat/messages/index.js +7 -0
  166. package/dist/esm/hooks/chat/messages/index.js.map +1 -0
  167. package/dist/esm/hooks/chat/messages/useChatMessages.d.ts +15 -0
  168. package/dist/esm/hooks/chat/messages/useChatMessages.js +223 -0
  169. package/dist/esm/hooks/chat/messages/useChatMessages.js.map +1 -0
  170. package/dist/esm/hooks/chat/messages/useDeleteMessage.d.ts +6 -0
  171. package/dist/esm/hooks/chat/messages/useDeleteMessage.js +76 -0
  172. package/dist/esm/hooks/chat/messages/useDeleteMessage.js.map +1 -0
  173. package/dist/esm/hooks/chat/messages/useEditMessage.d.ts +13 -0
  174. package/dist/esm/hooks/chat/messages/useEditMessage.js +76 -0
  175. package/dist/esm/hooks/chat/messages/useEditMessage.js.map +1 -0
  176. package/dist/esm/hooks/chat/messages/useMessageThread.d.ts +15 -0
  177. package/dist/esm/hooks/chat/messages/useMessageThread.js +33 -0
  178. package/dist/esm/hooks/chat/messages/useMessageThread.js.map +1 -0
  179. package/dist/esm/hooks/chat/messages/useSendMessage.d.ts +17 -0
  180. package/dist/esm/hooks/chat/messages/useSendMessage.js +151 -0
  181. package/dist/esm/hooks/chat/messages/useSendMessage.js.map +1 -0
  182. package/dist/esm/hooks/chat/messages/useToggleReaction.d.ts +11 -0
  183. package/dist/esm/hooks/chat/messages/useToggleReaction.js +90 -0
  184. package/dist/esm/hooks/chat/messages/useToggleReaction.js.map +1 -0
  185. package/dist/esm/hooks/chat/useChatSocket.d.ts +11 -0
  186. package/dist/esm/hooks/chat/useChatSocket.js +11 -0
  187. package/dist/esm/hooks/chat/useChatSocket.js.map +1 -0
  188. package/dist/esm/hooks/chat/useConversationData.d.ts +31 -0
  189. package/dist/esm/hooks/chat/useConversationData.js +42 -0
  190. package/dist/esm/hooks/chat/useConversationData.js.map +1 -0
  191. package/dist/esm/hooks/chat/useMarkConversationAsRead.d.ts +10 -0
  192. package/dist/esm/hooks/chat/useMarkConversationAsRead.js +82 -0
  193. package/dist/esm/hooks/chat/useMarkConversationAsRead.js.map +1 -0
  194. package/dist/esm/hooks/chat/useReportMessage.d.ts +8 -0
  195. package/dist/esm/hooks/chat/useReportMessage.js +71 -0
  196. package/dist/esm/hooks/chat/useReportMessage.js.map +1 -0
  197. package/dist/esm/hooks/chat/useTotalUnreadCount.d.ts +6 -0
  198. package/dist/esm/hooks/chat/useTotalUnreadCount.js +12 -0
  199. package/dist/esm/hooks/chat/useTotalUnreadCount.js.map +1 -0
  200. package/dist/esm/hooks/chat/useTypingIndicator.d.ts +21 -0
  201. package/dist/esm/hooks/chat/useTypingIndicator.js +66 -0
  202. package/dist/esm/hooks/chat/useTypingIndicator.js.map +1 -0
  203. package/dist/esm/hooks/comments/index.d.ts +1 -1
  204. package/dist/esm/hooks/comments/index.js.map +1 -1
  205. package/dist/esm/hooks/comments/useCommentSectionData.d.ts +5 -0
  206. package/dist/esm/hooks/comments/useCommentSectionData.js +20 -17
  207. package/dist/esm/hooks/comments/useCommentSectionData.js.map +1 -1
  208. package/dist/esm/hooks/spaces/index.d.ts +4 -0
  209. package/dist/esm/hooks/spaces/index.js +3 -0
  210. package/dist/esm/hooks/spaces/index.js.map +1 -1
  211. package/dist/esm/hooks/spaces/useSpaceMentions.d.ts +24 -0
  212. package/dist/esm/hooks/spaces/useSpaceMentions.js +186 -0
  213. package/dist/esm/hooks/spaces/useSpaceMentions.js.map +1 -0
  214. package/dist/esm/hooks/spaces/useUnbanMember.d.ts +11 -0
  215. package/dist/esm/hooks/spaces/useUnbanMember.js +66 -0
  216. package/dist/esm/hooks/spaces/useUnbanMember.js.map +1 -0
  217. package/dist/esm/hooks/users/index.d.ts +1 -1
  218. package/dist/esm/hooks/users/index.js +1 -1
  219. package/dist/esm/hooks/users/index.js.map +1 -1
  220. package/dist/esm/hooks/users/{useMentions.d.ts → useUserMentions.d.ts} +8 -4
  221. package/dist/esm/hooks/users/{useMentions.js → useUserMentions.js} +22 -17
  222. package/dist/esm/hooks/users/useUserMentions.js.map +1 -0
  223. package/dist/esm/index.d.ts +11 -5
  224. package/dist/esm/index.js +7 -3
  225. package/dist/esm/index.js.map +1 -1
  226. package/dist/esm/interfaces/models/File.d.ts +1 -0
  227. package/dist/esm/interfaces/models/IChatMessage.d.ts +34 -0
  228. package/dist/esm/interfaces/models/IChatMessage.js +2 -0
  229. package/dist/esm/interfaces/models/IChatMessage.js.map +1 -0
  230. package/dist/esm/interfaces/models/IConversation.d.ts +25 -0
  231. package/dist/esm/interfaces/models/IConversation.js +2 -0
  232. package/dist/esm/interfaces/models/IConversation.js.map +1 -0
  233. package/dist/esm/interfaces/models/IConversationMember.d.ts +16 -0
  234. package/dist/esm/interfaces/models/IConversationMember.js +2 -0
  235. package/dist/esm/interfaces/models/IConversationMember.js.map +1 -0
  236. package/dist/esm/interfaces/models/Mention.d.ts +8 -1
  237. package/dist/esm/store/api/spacesApi.d.ts +364 -0
  238. package/dist/esm/store/api/spacesApi.js +19 -2
  239. package/dist/esm/store/api/spacesApi.js.map +1 -1
  240. package/dist/esm/store/hooks.d.ts +1 -0
  241. package/dist/esm/store/index.d.ts +2 -0
  242. package/dist/esm/store/replykeReducers.d.ts +2 -0
  243. package/dist/esm/store/replykeReducers.js +2 -0
  244. package/dist/esm/store/replykeReducers.js.map +1 -1
  245. package/dist/esm/store/rootReducer.d.ts +3 -0
  246. package/dist/esm/store/slices/chatSlice.d.ts +120 -0
  247. package/dist/esm/store/slices/chatSlice.js +350 -0
  248. package/dist/esm/store/slices/chatSlice.js.map +1 -0
  249. package/dist/esm/store/slices/entityListsSlice.d.ts +168 -24
  250. package/dist/esm/store/slices/spaceListsSlice.d.ts +24 -0
  251. package/dist/esm/store/slices/userSlice.d.ts +16 -0
  252. package/dist/esm/types/socket.d.ts +73 -0
  253. package/dist/esm/types/socket.js +2 -0
  254. package/dist/esm/types/socket.js.map +1 -0
  255. package/package.json +3 -2
  256. package/dist/cjs/hooks/users/useMentions.js.map +0 -1
  257. package/dist/esm/hooks/users/useMentions.js.map +0 -1
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var react_1 = require("react");
54
+ var hooks_1 = require("../../../store/hooks");
55
+ var chatSlice_1 = require("../../../store/slices/chatSlice");
56
+ var userSlice_1 = require("../../../store/slices/userSlice");
57
+ var authSlice_1 = require("../../../store/slices/authSlice");
58
+ var useAxiosPrivate_1 = __importDefault(require("../../../config/useAxiosPrivate"));
59
+ var useProject_1 = __importDefault(require("../../projects/useProject"));
60
+ var handleError_1 = require("../../../utils/handleError");
61
+ function useSendMessage(_a) {
62
+ var _this = this;
63
+ var conversationId = _a.conversationId;
64
+ var dispatch = (0, hooks_1.useReplykeDispatch)();
65
+ var projectId = (0, useProject_1.default)().projectId;
66
+ var axios = (0, useAxiosPrivate_1.default)();
67
+ // Get current user for the optimistic message
68
+ var user = (0, hooks_1.useReplykeSelector)(userSlice_1.selectUser);
69
+ var authUser = (0, hooks_1.useReplykeSelector)(authSlice_1.selectUser);
70
+ var currentUser = user || authUser;
71
+ var send = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
72
+ var clientId, now, optimisticMsg, response, formData_1, confirmedMsg, err_1;
73
+ var _c;
74
+ var content = _b.content, gif = _b.gif, mentions = _b.mentions, metadata = _b.metadata, quotedMessageId = _b.quotedMessageId, parentMessageId = _b.parentMessageId, files = _b.files;
75
+ return __generator(this, function (_d) {
76
+ switch (_d.label) {
77
+ case 0:
78
+ if (!projectId)
79
+ throw new Error("No projectId available.");
80
+ if (!conversationId)
81
+ throw new Error("No conversationId provided.");
82
+ clientId = crypto.randomUUID();
83
+ now = new Date();
84
+ optimisticMsg = {
85
+ id: "temp-".concat(clientId),
86
+ clientId: clientId,
87
+ projectId: projectId,
88
+ conversationId: conversationId,
89
+ userId: (_c = currentUser === null || currentUser === void 0 ? void 0 : currentUser.id) !== null && _c !== void 0 ? _c : null,
90
+ content: content !== null && content !== void 0 ? content : null,
91
+ gif: gif !== null && gif !== void 0 ? gif : null,
92
+ mentions: mentions !== null && mentions !== void 0 ? mentions : [],
93
+ metadata: metadata !== null && metadata !== void 0 ? metadata : {},
94
+ parentMessageId: parentMessageId !== null && parentMessageId !== void 0 ? parentMessageId : null,
95
+ quotedMessageId: quotedMessageId !== null && quotedMessageId !== void 0 ? quotedMessageId : null,
96
+ threadReplyCount: 0,
97
+ reactionCounts: {},
98
+ userReactions: [],
99
+ editedAt: null,
100
+ userDeletedAt: null,
101
+ moderationStatus: null,
102
+ moderatedAt: null,
103
+ moderatedById: null,
104
+ moderatedByType: null,
105
+ moderationReason: null,
106
+ createdAt: now,
107
+ updatedAt: now,
108
+ user: currentUser !== null && currentUser !== void 0 ? currentUser : null,
109
+ };
110
+ dispatch((0, chatSlice_1.addOptimisticMessage)(optimisticMsg));
111
+ _d.label = 1;
112
+ case 1:
113
+ _d.trys.push([1, 6, , 7]);
114
+ response = void 0;
115
+ if (!(files && files.length > 0)) return [3 /*break*/, 3];
116
+ formData_1 = new FormData();
117
+ formData_1.append("clientId", clientId);
118
+ if (content)
119
+ formData_1.append("content", content);
120
+ if (gif)
121
+ formData_1.append("gif", JSON.stringify(gif));
122
+ if (mentions && mentions.length > 0)
123
+ formData_1.append("mentions", JSON.stringify(mentions));
124
+ if (metadata && Object.keys(metadata).length > 0)
125
+ formData_1.append("metadata", JSON.stringify(metadata));
126
+ if (quotedMessageId)
127
+ formData_1.append("quotedMessageId", quotedMessageId);
128
+ if (parentMessageId)
129
+ formData_1.append("parentMessageId", parentMessageId);
130
+ files.forEach(function (file) { return formData_1.append("files", file); });
131
+ return [4 /*yield*/, axios.post("/".concat(projectId, "/v7/chat/conversations/").concat(conversationId, "/messages"), formData_1, { headers: { "Content-Type": "multipart/form-data" } })];
132
+ case 2:
133
+ response = _d.sent();
134
+ return [3 /*break*/, 5];
135
+ case 3: return [4 /*yield*/, axios.post("/".concat(projectId, "/v7/chat/conversations/").concat(conversationId, "/messages"), __assign(__assign(__assign(__assign(__assign(__assign({ clientId: clientId }, (content !== undefined && { content: content })), (gif !== undefined && { gif: gif })), (mentions !== undefined && { mentions: mentions })), (metadata !== undefined && { metadata: metadata })), (quotedMessageId !== undefined && { quotedMessageId: quotedMessageId })), (parentMessageId !== undefined && { parentMessageId: parentMessageId })))];
136
+ case 4:
137
+ // JSON body for text/gif-only messages
138
+ response = _d.sent();
139
+ _d.label = 5;
140
+ case 5:
141
+ confirmedMsg = response.data;
142
+ dispatch((0, chatSlice_1.upsertMessage)(confirmedMsg));
143
+ return [2 /*return*/, confirmedMsg];
144
+ case 6:
145
+ err_1 = _d.sent();
146
+ dispatch((0, chatSlice_1.failOptimisticMessage)({ conversationId: conversationId, clientId: clientId }));
147
+ (0, handleError_1.handleError)(err_1, "Failed to send message");
148
+ throw err_1;
149
+ case 7: return [2 /*return*/];
150
+ }
151
+ });
152
+ }); }, [projectId, conversationId, currentUser, axios, dispatch]);
153
+ return send;
154
+ }
155
+ exports.default = useSendMessage;
156
+ //# sourceMappingURL=useSendMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendMessage.js","sourceRoot":"","sources":["../../../../../src/hooks/chat/messages/useSendMessage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,8CAA8E;AAC9E,6DAIyC;AACzC,6DAA6D;AAC7D,6DAA+E;AAI/E,oFAA8D;AAC9D,yEAAmD;AACnD,0DAAyD;AAgBzD,SAAS,cAAc,CAAC,EAEF;IAFtB,iBA2GC;QA1GC,cAAc,oBAAA;IAEd,IAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC9B,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IACnC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEhC,8CAA8C;IAC9C,IAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,sBAAU,CAAC,CAAC;IAC5C,IAAM,QAAQ,GAAG,IAAA,0BAAkB,EAAC,sBAAc,CAAC,CAAC;IACpD,IAAM,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC;IAErC,IAAM,IAAI,GAAG,IAAA,mBAAW,EACtB,gEAAO,EAQa;;;YAPlB,OAAO,aAAA,EACP,GAAG,SAAA,EACH,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,eAAe,qBAAA,EACf,eAAe,qBAAA,EACf,KAAK,WAAA;;;;oBAEL,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC3D,IAAI,CAAC,cAAc;wBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAE9D,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC/B,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;oBAGjB,aAAa,GAAiB;wBAClC,EAAE,EAAE,eAAQ,QAAQ,CAAE;wBACtB,QAAQ,UAAA;wBACR,SAAS,WAAA;wBACT,cAAc,gBAAA;wBACd,MAAM,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,mCAAI,IAAI;wBAC/B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI;wBACxB,GAAG,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI;wBAChB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE;wBACxB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE;wBACxB,eAAe,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI;wBACxC,eAAe,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI;wBACxC,gBAAgB,EAAE,CAAC;wBACnB,cAAc,EAAE,EAAE;wBAClB,aAAa,EAAE,EAAE;wBACjB,QAAQ,EAAE,IAAI;wBACd,aAAa,EAAE,IAAI;wBACnB,gBAAgB,EAAE,IAAI;wBACtB,WAAW,EAAE,IAAI;wBACjB,aAAa,EAAE,IAAI;wBACnB,eAAe,EAAE,IAAI;wBACrB,gBAAgB,EAAE,IAAI;wBACtB,SAAS,EAAE,GAAG;wBACd,SAAS,EAAE,GAAG;wBACd,IAAI,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI;qBAC1B,CAAC;oBACF,QAAQ,CAAC,IAAA,gCAAoB,EAAC,aAAa,CAAC,CAAC,CAAC;;;;oBAGxC,QAAQ,SAAA,CAAC;yBAET,CAAA,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA,EAAzB,wBAAyB;oBAErB,aAAW,IAAI,QAAQ,EAAE,CAAC;oBAChC,UAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACtC,IAAI,OAAO;wBAAE,UAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBACjD,IAAI,GAAG;wBAAE,UAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;wBACjC,UAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxD,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;wBAC9C,UAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxD,IAAI,eAAe;wBAAE,UAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;oBACzE,IAAI,eAAe;wBAAE,UAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;oBACzE,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,UAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;oBAC7C,qBAAM,KAAK,CAAC,IAAI,CACzB,WAAI,SAAS,oCAA0B,cAAc,cAAW,EAChE,UAAQ,EACR,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,EAAE,CACvD,EAAA;;oBAJD,QAAQ,GAAG,SAIV,CAAC;;wBAGS,qBAAM,KAAK,CAAC,IAAI,CACzB,WAAI,SAAS,oCAA0B,cAAc,cAAW,0DAE9D,QAAQ,UAAA,IACL,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,SAAA,EAAE,CAAC,GACtC,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,KAAA,EAAE,CAAC,GAC9B,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,UAAA,EAAE,CAAC,GACxC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,UAAA,EAAE,CAAC,GACxC,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,iBAAA,EAAE,CAAC,GACtD,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,iBAAA,EAAE,CAAC,EAE5D,EAAA;;oBAZD,uCAAuC;oBACvC,QAAQ,GAAG,SAWV,CAAC;;;oBAGE,YAAY,GAAG,QAAQ,CAAC,IAAoB,CAAC;oBACnD,QAAQ,CAAC,IAAA,yBAAa,EAAC,YAAY,CAAC,CAAC,CAAC;oBACtC,sBAAO,YAAY,EAAC;;;oBAEpB,QAAQ,CAAC,IAAA,iCAAqB,EAAC,EAAE,cAAc,gBAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAA,yBAAW,EAAC,KAAG,EAAE,wBAAwB,CAAC,CAAC;oBAC3C,MAAM,KAAG,CAAC;;;;SAEb,EACD,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC1D,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface ToggleReactionParams {
2
+ conversationId: string;
3
+ messageId: string;
4
+ emoji: string;
5
+ }
6
+ export interface ToggleReactionResult {
7
+ reactionCounts: Record<string, number>;
8
+ userReactions: string[];
9
+ }
10
+ declare function useToggleReaction(): (params: ToggleReactionParams) => Promise<ToggleReactionResult>;
11
+ export default useToggleReaction;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var react_1 = require("react");
43
+ var hooks_1 = require("../../../store/hooks");
44
+ var chatSlice_1 = require("../../../store/slices/chatSlice");
45
+ var userSlice_1 = require("../../../store/slices/userSlice");
46
+ var authSlice_1 = require("../../../store/slices/authSlice");
47
+ var useAxiosPrivate_1 = __importDefault(require("../../../config/useAxiosPrivate"));
48
+ var useProject_1 = __importDefault(require("../../projects/useProject"));
49
+ var handleError_1 = require("../../../utils/handleError");
50
+ function useToggleReaction() {
51
+ var _this = this;
52
+ var _a, _b;
53
+ var dispatch = (0, hooks_1.useReplykeDispatch)();
54
+ var projectId = (0, useProject_1.default)().projectId;
55
+ var axios = (0, useAxiosPrivate_1.default)();
56
+ var user = (0, hooks_1.useReplykeSelector)(userSlice_1.selectUser);
57
+ var authUser = (0, hooks_1.useReplykeSelector)(authSlice_1.selectUser);
58
+ var currentUserId = (_b = (_a = (user || authUser)) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : "";
59
+ var toggle = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
60
+ var response, _c, reactionCounts, userReactions, delta, err_1;
61
+ var conversationId = _b.conversationId, messageId = _b.messageId, emoji = _b.emoji;
62
+ return __generator(this, function (_d) {
63
+ switch (_d.label) {
64
+ case 0:
65
+ if (!projectId)
66
+ throw new Error("No projectId available.");
67
+ _d.label = 1;
68
+ case 1:
69
+ _d.trys.push([1, 3, , 4]);
70
+ return [4 /*yield*/, axios.post("/".concat(projectId, "/v7/chat/conversations/").concat(conversationId, "/messages/").concat(messageId, "/reactions"), { emoji: emoji })];
71
+ case 2:
72
+ response = _d.sent();
73
+ _c = response.data, reactionCounts = _c.reactionCounts, userReactions = _c.userReactions, delta = _c.delta;
74
+ dispatch((0, chatSlice_1.updateReactions)({
75
+ conversationId: conversationId,
76
+ messageId: messageId,
77
+ reactionCounts: reactionCounts,
78
+ userId: currentUserId,
79
+ emoji: emoji,
80
+ delta: delta,
81
+ currentUserId: currentUserId,
82
+ }));
83
+ return [2 /*return*/, { reactionCounts: reactionCounts, userReactions: userReactions }];
84
+ case 3:
85
+ err_1 = _d.sent();
86
+ (0, handleError_1.handleError)(err_1, "Failed to toggle reaction");
87
+ throw err_1;
88
+ case 4: return [2 /*return*/];
89
+ }
90
+ });
91
+ }); }, [projectId, currentUserId, axios, dispatch]);
92
+ return toggle;
93
+ }
94
+ exports.default = useToggleReaction;
95
+ //# sourceMappingURL=useToggleReaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToggleReaction.js","sourceRoot":"","sources":["../../../../../src/hooks/chat/messages/useToggleReaction.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,8CAA8E;AAC9E,6DAAkE;AAClE,6DAA6D;AAC7D,6DAA+E;AAC/E,oFAA8D;AAC9D,yEAAmD;AACnD,0DAAyD;AAazD,SAAS,iBAAiB;IAA1B,iBAoDC;;IAjDC,IAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC9B,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IACnC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEhC,IAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,sBAAU,CAAC,CAAC;IAC5C,IAAM,QAAQ,GAAG,IAAA,0BAAkB,EAAC,sBAAc,CAAC,CAAC;IACpD,IAAM,aAAa,GAAG,MAAA,MAAA,CAAC,IAAI,IAAI,QAAQ,CAAC,0CAAE,EAAE,mCAAI,EAAE,CAAC;IAEnD,IAAM,MAAM,GAAG,IAAA,mBAAW,EACxB,gEAAO,EAIgB;;YAHrB,cAAc,oBAAA,EACd,SAAS,eAAA,EACT,KAAK,WAAA;;;;oBAEL,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;;;;oBAGxC,qBAAM,KAAK,CAAC,IAAI,CAC/B,WAAI,SAAS,oCAA0B,cAAc,uBAAa,SAAS,eAAY,EACvF,EAAE,KAAK,OAAA,EAAE,CACV,EAAA;;oBAHK,QAAQ,GAAG,SAGhB;oBACK,KAA2C,QAAQ,CAAC,IAIzD,EAJO,cAAc,oBAAA,EAAE,aAAa,mBAAA,EAAE,KAAK,WAAA,CAI1C;oBAEF,QAAQ,CACN,IAAA,2BAAe,EAAC;wBACd,cAAc,gBAAA;wBACd,SAAS,WAAA;wBACT,cAAc,gBAAA;wBACd,MAAM,EAAE,aAAa;wBACrB,KAAK,OAAA;wBACL,KAAK,OAAA;wBACL,aAAa,eAAA;qBACd,CAAC,CACH,CAAC;oBAEF,sBAAO,EAAE,cAAc,gBAAA,EAAE,aAAa,eAAA,EAAE,EAAC;;;oBAEzC,IAAA,yBAAW,EAAC,KAAG,EAAE,2BAA2B,CAAC,CAAC;oBAC9C,MAAM,KAAG,CAAC;;;;SAEb,EACD,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC5C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ChatContextValue } from "../../context/chat-context";
2
+ export interface UseChatSocketValues {
3
+ socket: ChatContextValue["socket"];
4
+ connected: boolean;
5
+ }
6
+ /**
7
+ * Access the shared Socket.io socket instance and its connection state.
8
+ * Must be used inside a ChatProvider.
9
+ */
10
+ declare function useChatSocket(): UseChatSocketValues;
11
+ export default useChatSocket;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var chat_context_1 = require("../../context/chat-context");
4
+ /**
5
+ * Access the shared Socket.io socket instance and its connection state.
6
+ * Must be used inside a ChatProvider.
7
+ */
8
+ function useChatSocket() {
9
+ var _a = (0, chat_context_1.useChatContext)(), socket = _a.socket, connected = _a.connected;
10
+ return { socket: socket, connected: connected };
11
+ }
12
+ exports.default = useChatSocket;
13
+ //# sourceMappingURL=useChatSocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatSocket.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useChatSocket.tsx"],"names":[],"mappings":";;AAAA,2DAA4D;AAQ5D;;;GAGG;AACH,SAAS,aAAa;IACd,IAAA,KAAwB,IAAA,6BAAc,GAAE,EAAtC,MAAM,YAAA,EAAE,SAAS,eAAqB,CAAC;IAC/C,OAAO,EAAE,MAAM,QAAA,EAAE,SAAS,WAAA,EAAE,CAAC;AAC/B,CAAC;AAED,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { SendMessageParams } from "./messages/useSendMessage";
2
+ import { UseConversationMembersValues } from "./conversations/useConversationMembers";
3
+ import { IChatMessage } from "../../interfaces/models/IChatMessage";
4
+ export interface UseConversationDataProps {
5
+ conversationId: string;
6
+ }
7
+ export interface UseConversationDataValues {
8
+ messages: IChatMessage[];
9
+ messagesLoading: boolean;
10
+ hasMore: boolean;
11
+ loadOlder: () => Promise<void>;
12
+ send: (params: SendMessageParams) => Promise<IChatMessage>;
13
+ members: UseConversationMembersValues["members"];
14
+ membersLoading: UseConversationMembersValues["loading"];
15
+ addMember: UseConversationMembersValues["addMember"];
16
+ removeMember: UseConversationMembersValues["removeMember"];
17
+ leave: UseConversationMembersValues["leave"];
18
+ changeRole: UseConversationMembersValues["changeRole"];
19
+ upsertMember: UseConversationMembersValues["upsertMember"];
20
+ removeMemberLocally: UseConversationMembersValues["removeMemberLocally"];
21
+ mark: (messageId: string) => Promise<void>;
22
+ typingUsers: string[];
23
+ startTyping: () => void;
24
+ stopTyping: () => void;
25
+ }
26
+ /**
27
+ * High-level composition hook that powers ConversationProvider.
28
+ * Combines messages, send, members, read-state, and typing indicators into one object.
29
+ */
30
+ declare function useConversationData({ conversationId, }: UseConversationDataProps): UseConversationDataValues;
31
+ export default useConversationData;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var useChatMessages_1 = __importDefault(require("./messages/useChatMessages"));
7
+ var useSendMessage_1 = __importDefault(require("./messages/useSendMessage"));
8
+ var useConversationMembers_1 = __importDefault(require("./conversations/useConversationMembers"));
9
+ var useMarkConversationAsRead_1 = __importDefault(require("./useMarkConversationAsRead"));
10
+ var useTypingIndicator_1 = __importDefault(require("./useTypingIndicator"));
11
+ /**
12
+ * High-level composition hook that powers ConversationProvider.
13
+ * Combines messages, send, members, read-state, and typing indicators into one object.
14
+ */
15
+ function useConversationData(_a) {
16
+ var conversationId = _a.conversationId;
17
+ var _b = (0, useChatMessages_1.default)({
18
+ conversationId: conversationId,
19
+ }), messages = _b.messages, messagesLoading = _b.loading, hasMore = _b.hasMore, loadOlder = _b.loadOlder;
20
+ var send = (0, useSendMessage_1.default)({ conversationId: conversationId });
21
+ var _c = (0, useConversationMembers_1.default)({ conversationId: conversationId }), members = _c.members, membersLoading = _c.loading, addMember = _c.addMember, removeMember = _c.removeMember, leave = _c.leave, changeRole = _c.changeRole, upsertMember = _c.upsertMember, removeMemberLocally = _c.removeMemberLocally;
22
+ var mark = (0, useMarkConversationAsRead_1.default)({ conversationId: conversationId });
23
+ var _d = (0, useTypingIndicator_1.default)({
24
+ conversationId: conversationId,
25
+ }), typingUsers = _d.typingUsers, startTyping = _d.startTyping, stopTyping = _d.stopTyping;
26
+ return {
27
+ messages: messages,
28
+ messagesLoading: messagesLoading,
29
+ hasMore: hasMore,
30
+ loadOlder: loadOlder,
31
+ send: send,
32
+ members: members,
33
+ membersLoading: membersLoading,
34
+ addMember: addMember,
35
+ removeMember: removeMember,
36
+ leave: leave,
37
+ changeRole: changeRole,
38
+ upsertMember: upsertMember,
39
+ removeMemberLocally: removeMemberLocally,
40
+ mark: mark,
41
+ typingUsers: typingUsers,
42
+ startTyping: startTyping,
43
+ stopTyping: stopTyping,
44
+ };
45
+ }
46
+ exports.default = useConversationData;
47
+ //# sourceMappingURL=useConversationData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationData.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useConversationData.tsx"],"names":[],"mappings":";;;;;AAAA,+EAAyD;AACzD,6EAAuD;AAEvD,kGAEgD;AAChD,0FAAoE;AACpE,4EAAsD;AAoCtD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,EAEF;QADzB,cAAc,oBAAA;IAER,IAAA,KAA6D,IAAA,yBAAe,EAAC;QACjF,cAAc,gBAAA;KACf,CAAC,EAFM,QAAQ,cAAA,EAAW,eAAe,aAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAE5D,CAAC;IAEH,IAAM,IAAI,GAAG,IAAA,wBAAc,EAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;IAE1C,IAAA,KASF,IAAA,gCAAsB,EAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,EAR5C,OAAO,aAAA,EACE,cAAc,aAAA,EACvB,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,mBAAmB,yBACyB,CAAC;IAE/C,IAAM,IAAI,GAAG,IAAA,mCAAyB,EAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;IAErD,IAAA,KAA2C,IAAA,4BAAkB,EAAC;QAClE,cAAc,gBAAA;KACf,CAAC,EAFM,WAAW,iBAAA,EAAE,WAAW,iBAAA,EAAE,UAAU,gBAE1C,CAAC;IAEH,OAAO;QACL,QAAQ,UAAA;QACR,eAAe,iBAAA;QACf,OAAO,SAAA;QACP,SAAS,WAAA;QACT,IAAI,MAAA;QACJ,OAAO,SAAA;QACP,cAAc,gBAAA;QACd,SAAS,WAAA;QACT,YAAY,cAAA;QACZ,KAAK,OAAA;QACL,UAAU,YAAA;QACV,YAAY,cAAA;QACZ,mBAAmB,qBAAA;QACnB,IAAI,MAAA;QACJ,WAAW,aAAA;QACX,WAAW,aAAA;QACX,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface UseMarkConversationAsReadProps {
2
+ conversationId: string;
3
+ }
4
+ /**
5
+ * Internal hook — called by ConversationProvider, not intended for direct use.
6
+ * Advances the server-side lastReadAt to the given message's createdAt and
7
+ * resets the local unread count to 0 immediately (optimistic clear).
8
+ */
9
+ declare function useMarkConversationAsRead({ conversationId, }: UseMarkConversationAsReadProps): (messageId: string) => Promise<void>;
10
+ export default useMarkConversationAsRead;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var react_1 = require("react");
43
+ var hooks_1 = require("../../store/hooks");
44
+ var chatSlice_1 = require("../../store/slices/chatSlice");
45
+ var useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
46
+ var useProject_1 = __importDefault(require("../projects/useProject"));
47
+ var handleError_1 = require("../../utils/handleError");
48
+ /**
49
+ * Internal hook — called by ConversationProvider, not intended for direct use.
50
+ * Advances the server-side lastReadAt to the given message's createdAt and
51
+ * resets the local unread count to 0 immediately (optimistic clear).
52
+ */
53
+ function useMarkConversationAsRead(_a) {
54
+ var _this = this;
55
+ var conversationId = _a.conversationId;
56
+ var dispatch = (0, hooks_1.useReplykeDispatch)();
57
+ var projectId = (0, useProject_1.default)().projectId;
58
+ var axios = (0, useAxiosPrivate_1.default)();
59
+ var mark = (0, react_1.useCallback)(function (messageId) { return __awaiter(_this, void 0, void 0, function () {
60
+ var err_1;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0:
64
+ if (!projectId || !conversationId || !messageId)
65
+ return [2 /*return*/];
66
+ // Clear unread count locally for immediate UI update
67
+ dispatch((0, chatSlice_1.clearUnread)(conversationId));
68
+ _a.label = 1;
69
+ case 1:
70
+ _a.trys.push([1, 3, , 4]);
71
+ return [4 /*yield*/, axios.post("/".concat(projectId, "/v7/chat/conversations/").concat(conversationId, "/read"), { messageId: messageId })];
72
+ case 2:
73
+ _a.sent();
74
+ return [3 /*break*/, 4];
75
+ case 3:
76
+ err_1 = _a.sent();
77
+ // Non-critical — don't re-throw; the local clear still stands
78
+ (0, handleError_1.handleError)(err_1, "Failed to mark conversation as read");
79
+ return [3 /*break*/, 4];
80
+ case 4: return [2 /*return*/];
81
+ }
82
+ });
83
+ }); }, [projectId, conversationId, axios, dispatch]);
84
+ return mark;
85
+ }
86
+ exports.default = useMarkConversationAsRead;
87
+ //# sourceMappingURL=useMarkConversationAsRead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarkConversationAsRead.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useMarkConversationAsRead.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,2CAAuD;AACvD,0DAA2D;AAC3D,iFAA2D;AAC3D,sEAAgD;AAChD,uDAAsD;AAMtD;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,EAEF;IAFjC,iBA4BC;QA3BC,cAAc,oBAAA;IAEd,IAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC9B,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IACnC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEhC,IAAM,IAAI,GAAG,IAAA,mBAAW,EACtB,UAAO,SAAiB;;;;;oBACtB,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;wBAAE,sBAAO;oBAExD,qDAAqD;oBACrD,QAAQ,CAAC,IAAA,uBAAW,EAAC,cAAc,CAAC,CAAC,CAAC;;;;oBAGpC,qBAAM,KAAK,CAAC,IAAI,CACd,WAAI,SAAS,oCAA0B,cAAc,UAAO,EAC5D,EAAE,SAAS,WAAA,EAAE,CACd,EAAA;;oBAHD,SAGC,CAAC;;;;oBAEF,8DAA8D;oBAC9D,IAAA,yBAAW,EAAC,KAAG,EAAE,qCAAqC,CAAC,CAAC;;;;;SAE3D,EACD,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC7C,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kBAAe,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface ReportMessageParams {
2
+ conversationId: string;
3
+ messageId: string;
4
+ reason?: string;
5
+ details?: string;
6
+ }
7
+ declare function useReportMessage(): (params: ReportMessageParams) => Promise<void>;
8
+ export default useReportMessage;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var react_1 = require("react");
43
+ var useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
44
+ var useProject_1 = __importDefault(require("../projects/useProject"));
45
+ var handleError_1 = require("../../utils/handleError");
46
+ function useReportMessage() {
47
+ var _this = this;
48
+ var projectId = (0, useProject_1.default)().projectId;
49
+ var axios = (0, useAxiosPrivate_1.default)();
50
+ var report = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
51
+ var err_1;
52
+ var conversationId = _b.conversationId, messageId = _b.messageId, reason = _b.reason, details = _b.details;
53
+ return __generator(this, function (_c) {
54
+ switch (_c.label) {
55
+ case 0:
56
+ if (!projectId)
57
+ throw new Error("No projectId available.");
58
+ _c.label = 1;
59
+ case 1:
60
+ _c.trys.push([1, 3, , 4]);
61
+ return [4 /*yield*/, axios.post("/".concat(projectId, "/v7/chat/conversations/").concat(conversationId, "/messages/").concat(messageId, "/report"), { reason: reason, details: details })];
62
+ case 2:
63
+ _c.sent();
64
+ return [3 /*break*/, 4];
65
+ case 3:
66
+ err_1 = _c.sent();
67
+ (0, handleError_1.handleError)(err_1, "Failed to report message");
68
+ throw err_1;
69
+ case 4: return [2 /*return*/];
70
+ }
71
+ });
72
+ }); }, [projectId, axios]);
73
+ return report;
74
+ }
75
+ exports.default = useReportMessage;
76
+ //# sourceMappingURL=useReportMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportMessage.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useReportMessage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAChD,uDAAsD;AAStD,SAAS,gBAAgB;IAAzB,iBA2BC;IA1BS,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IACnC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEhC,IAAM,MAAM,GAAG,IAAA,mBAAW,EACxB,gEAAO,EAKe;;YAJpB,cAAc,oBAAA,EACd,SAAS,eAAA,EACT,MAAM,YAAA,EACN,OAAO,aAAA;;;;oBAEP,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;;;;oBAGzD,qBAAM,KAAK,CAAC,IAAI,CACd,WAAI,SAAS,oCAA0B,cAAc,uBAAa,SAAS,YAAS,EACpF,EAAE,MAAM,QAAA,EAAE,OAAO,SAAA,EAAE,CACpB,EAAA;;oBAHD,SAGC,CAAC;;;;oBAEF,IAAA,yBAAW,EAAC,KAAG,EAAE,0BAA0B,CAAC,CAAC;oBAC7C,MAAM,KAAG,CAAC;;;;SAEb,EACD,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns the sum of unread message counts across all loaded conversation
3
+ * previews. Reads directly from Redux — no network call.
4
+ */
5
+ declare function useTotalUnreadCount(): number;
6
+ export default useTotalUnreadCount;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var hooks_1 = require("../../store/hooks");
4
+ var chatSlice_1 = require("../../store/slices/chatSlice");
5
+ /**
6
+ * Returns the sum of unread message counts across all loaded conversation
7
+ * previews. Reads directly from Redux — no network call.
8
+ */
9
+ function useTotalUnreadCount() {
10
+ var conversations = (0, hooks_1.useReplykeSelector)(chatSlice_1.selectConversationList);
11
+ return conversations.reduce(function (sum, c) { var _a; return sum + ((_a = c.unreadCount) !== null && _a !== void 0 ? _a : 0); }, 0);
12
+ }
13
+ exports.default = useTotalUnreadCount;
14
+ //# sourceMappingURL=useTotalUnreadCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTotalUnreadCount.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useTotalUnreadCount.tsx"],"names":[],"mappings":";;AAAA,2CAAuD;AACvD,0DAAsE;AAEtE;;;GAGG;AACH,SAAS,mBAAmB;IAC1B,IAAM,aAAa,GAAG,IAAA,0BAAkB,EAAC,kCAAsB,CAAC,CAAC;IACjE,OAAO,aAAa,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC,YAAK,OAAA,GAAG,GAAG,CAAC,MAAA,CAAC,CAAC,WAAW,mCAAI,CAAC,CAAC,CAAA,EAAA,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,kBAAe,mBAAmB,CAAC"}