@replyke/core 7.0.0-beta.3 → 7.0.0-beta.30

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 (392) hide show
  1. package/dist/cjs/hooks/auth/useAuth.d.ts +1 -1
  2. package/dist/cjs/hooks/auth/useAuth.js +2 -2
  3. package/dist/cjs/hooks/auth/useAuth.js.map +1 -1
  4. package/dist/cjs/hooks/collections/index.d.ts +4 -0
  5. package/dist/cjs/hooks/collections/index.js +16 -0
  6. package/dist/cjs/hooks/collections/index.js.map +1 -0
  7. package/dist/cjs/hooks/collections/useCollectionEntitiesWrapper.d.ts +21 -0
  8. package/dist/cjs/hooks/collections/useCollectionEntitiesWrapper.js +209 -0
  9. package/dist/cjs/hooks/collections/useCollectionEntitiesWrapper.js.map +1 -0
  10. package/dist/cjs/hooks/collections/useCollections.d.ts +43 -0
  11. package/dist/cjs/hooks/collections/useCollections.js +277 -0
  12. package/dist/cjs/hooks/collections/useCollections.js.map +1 -0
  13. package/dist/cjs/hooks/collections/useCollectionsActions.d.ts +21 -0
  14. package/dist/cjs/hooks/{lists/useListsActions.js → collections/useCollectionsActions.js} +112 -118
  15. package/dist/cjs/hooks/collections/useCollectionsActions.js.map +1 -0
  16. package/dist/cjs/hooks/{lists → collections}/useIsEntitySaved.d.ts +2 -2
  17. package/dist/cjs/hooks/{lists → collections}/useIsEntitySaved.js +3 -3
  18. package/dist/cjs/hooks/collections/useIsEntitySaved.js.map +1 -0
  19. package/dist/cjs/hooks/comments/index.d.ts +2 -2
  20. package/dist/cjs/hooks/comments/index.js +3 -5
  21. package/dist/cjs/hooks/comments/index.js.map +1 -1
  22. package/dist/cjs/hooks/comments/useCommentSectionData.js +34 -11
  23. package/dist/cjs/hooks/comments/useCommentSectionData.js.map +1 -1
  24. package/dist/cjs/hooks/comments/useEntityComments.d.ts +2 -1
  25. package/dist/cjs/hooks/comments/useEntityComments.js +2 -1
  26. package/dist/cjs/hooks/comments/useEntityComments.js.map +1 -1
  27. package/dist/cjs/hooks/comments/useFetchComment.d.ts +3 -4
  28. package/dist/cjs/hooks/comments/useFetchComment.js +7 -5
  29. package/dist/cjs/hooks/comments/useFetchComment.js.map +1 -1
  30. package/dist/cjs/hooks/comments/useFetchCommentByForeignId.d.ts +3 -4
  31. package/dist/cjs/hooks/comments/useFetchCommentByForeignId.js +9 -6
  32. package/dist/cjs/hooks/comments/useFetchCommentByForeignId.js.map +1 -1
  33. package/dist/cjs/hooks/comments/useFetchManyComments.d.ts +2 -2
  34. package/dist/cjs/hooks/comments/useFetchManyComments.js +5 -7
  35. package/dist/cjs/hooks/comments/useFetchManyComments.js.map +1 -1
  36. package/dist/cjs/hooks/comments/useFetchManyCommentsWrapper.d.ts +21 -0
  37. package/dist/cjs/hooks/comments/{useProfileComments.js → useFetchManyCommentsWrapper.js} +40 -18
  38. package/dist/cjs/hooks/comments/useFetchManyCommentsWrapper.js.map +1 -0
  39. package/dist/cjs/hooks/comments/useReplies.js +1 -0
  40. package/dist/cjs/hooks/comments/useReplies.js.map +1 -1
  41. package/dist/cjs/hooks/entities/index.d.ts +2 -5
  42. package/dist/cjs/hooks/entities/index.js +3 -11
  43. package/dist/cjs/hooks/entities/index.js.map +1 -1
  44. package/dist/cjs/hooks/entities/useCreateEntity.d.ts +27 -0
  45. package/dist/cjs/hooks/entities/useCreateEntity.js +88 -15
  46. package/dist/cjs/hooks/entities/useCreateEntity.js.map +1 -1
  47. package/dist/cjs/hooks/entities/useEntityData.d.ts +0 -6
  48. package/dist/cjs/hooks/entities/useEntityData.js +0 -19
  49. package/dist/cjs/hooks/entities/useEntityData.js.map +1 -1
  50. package/dist/cjs/hooks/entities/useFetchManyEntitiesWrapper.d.ts +41 -0
  51. package/dist/cjs/hooks/entities/useFetchManyEntitiesWrapper.js +241 -0
  52. package/dist/cjs/hooks/entities/useFetchManyEntitiesWrapper.js.map +1 -0
  53. package/dist/cjs/hooks/entity-lists/index.d.ts +1 -1
  54. package/dist/cjs/hooks/entity-lists/useEntityList.d.ts +2 -2
  55. package/dist/cjs/hooks/entity-lists/useEntityList.js +45 -17
  56. package/dist/cjs/hooks/entity-lists/useEntityList.js.map +1 -1
  57. package/dist/cjs/hooks/entity-lists/useEntityListActions.d.ts +6 -3
  58. package/dist/cjs/hooks/entity-lists/useEntityListActions.js +3 -0
  59. package/dist/cjs/hooks/entity-lists/useEntityListActions.js.map +1 -1
  60. package/dist/cjs/hooks/reactions/index.d.ts +10 -0
  61. package/dist/cjs/hooks/reactions/index.js +21 -0
  62. package/dist/cjs/hooks/reactions/index.js.map +1 -0
  63. package/dist/cjs/hooks/reactions/useAddReaction.d.ts +9 -0
  64. package/dist/cjs/hooks/{comments/useUpvoteComment.js → reactions/useAddReaction.js} +19 -13
  65. package/dist/cjs/hooks/reactions/useAddReaction.js.map +1 -0
  66. package/dist/cjs/hooks/reactions/useFetchCommentReactions.d.ts +10 -0
  67. package/dist/cjs/hooks/reactions/useFetchCommentReactions.js +84 -0
  68. package/dist/cjs/hooks/reactions/useFetchCommentReactions.js.map +1 -0
  69. package/dist/cjs/hooks/reactions/useFetchCommentReactionsWrapper.d.ts +17 -0
  70. package/dist/cjs/hooks/reactions/useFetchCommentReactionsWrapper.js +170 -0
  71. package/dist/cjs/hooks/reactions/useFetchCommentReactionsWrapper.js.map +1 -0
  72. package/dist/cjs/hooks/reactions/useFetchEntityReactions.d.ts +10 -0
  73. package/dist/cjs/hooks/{entities/useDownvoteEntity.js → reactions/useFetchEntityReactions.js} +26 -13
  74. package/dist/cjs/hooks/reactions/useFetchEntityReactions.js.map +1 -0
  75. package/dist/cjs/hooks/reactions/useFetchEntityReactionsWrapper.d.ts +17 -0
  76. package/dist/cjs/hooks/reactions/useFetchEntityReactionsWrapper.js +170 -0
  77. package/dist/cjs/hooks/reactions/useFetchEntityReactionsWrapper.js.map +1 -0
  78. package/dist/cjs/hooks/reactions/useReactionToggle.d.ts +19 -0
  79. package/dist/cjs/hooks/reactions/useReactionToggle.js +146 -0
  80. package/dist/cjs/hooks/reactions/useReactionToggle.js.map +1 -0
  81. package/dist/cjs/hooks/reactions/useRemoveReaction.d.ts +7 -0
  82. package/dist/cjs/hooks/{comments/useRemoveCommentDownvote.js → reactions/useRemoveReaction.js} +16 -13
  83. package/dist/cjs/hooks/reactions/useRemoveReaction.js.map +1 -0
  84. package/dist/cjs/hooks/space-lists/useSpaceList.js +1 -1
  85. package/dist/cjs/hooks/space-lists/useSpaceList.js.map +1 -1
  86. package/dist/cjs/hooks/spaces/index.d.ts +1 -0
  87. package/dist/cjs/hooks/spaces/index.js +3 -1
  88. package/dist/cjs/hooks/spaces/index.js.map +1 -1
  89. package/dist/cjs/hooks/spaces/useCheckMyMembership.d.ts +5 -0
  90. package/dist/cjs/hooks/{comments/useDownvoteComment.js → spaces/useCheckMyMembership.js} +14 -14
  91. package/dist/cjs/hooks/spaces/useCheckMyMembership.js.map +1 -0
  92. package/dist/cjs/hooks/storage/index.d.ts +1 -0
  93. package/dist/cjs/hooks/storage/index.js +3 -1
  94. package/dist/cjs/hooks/storage/index.js.map +1 -1
  95. package/dist/cjs/hooks/storage/useUploadFile.d.ts +12 -1
  96. package/dist/cjs/hooks/storage/useUploadFile.js +22 -8
  97. package/dist/cjs/hooks/storage/useUploadFile.js.map +1 -1
  98. package/dist/cjs/hooks/storage/useUploadImage.d.ts +14 -0
  99. package/dist/cjs/hooks/storage/useUploadImage.js +161 -0
  100. package/dist/cjs/hooks/storage/useUploadImage.js.map +1 -0
  101. package/dist/cjs/hooks/users/index.d.ts +1 -0
  102. package/dist/cjs/hooks/users/index.js +3 -1
  103. package/dist/cjs/hooks/users/index.js.map +1 -1
  104. package/dist/cjs/hooks/users/useFetchUserByUsername.d.ts +5 -0
  105. package/dist/cjs/hooks/{comments/useRemoveCommentUpvote.js → users/useFetchUserByUsername.js} +14 -13
  106. package/dist/cjs/hooks/users/useFetchUserByUsername.js.map +1 -0
  107. package/dist/cjs/index.d.ts +12 -9
  108. package/dist/cjs/index.js +22 -15
  109. package/dist/cjs/index.js.map +1 -1
  110. package/dist/cjs/interfaces/models/{List.d.ts → Collection.d.ts} +2 -4
  111. package/dist/cjs/interfaces/models/Collection.js +3 -0
  112. package/dist/cjs/interfaces/models/Collection.js.map +1 -0
  113. package/dist/cjs/interfaces/models/Comment.d.ts +8 -1
  114. package/dist/cjs/interfaces/models/Entity.d.ts +44 -1
  115. package/dist/cjs/interfaces/models/Image.d.ts +35 -0
  116. package/dist/cjs/interfaces/models/{List.js → Image.js} +1 -1
  117. package/dist/cjs/interfaces/models/Image.js.map +1 -0
  118. package/dist/cjs/interfaces/models/Reaction.d.ts +23 -0
  119. package/dist/cjs/interfaces/models/Reaction.js +3 -0
  120. package/dist/cjs/interfaces/models/Reaction.js.map +1 -0
  121. package/dist/cjs/interfaces/models/Space.d.ts +13 -0
  122. package/dist/cjs/store/api/appNotificationsApi.d.ts +181 -181
  123. package/dist/cjs/store/api/baseApi.d.ts +1 -1
  124. package/dist/cjs/store/api/baseApi.js +2 -1
  125. package/dist/cjs/store/api/baseApi.js.map +1 -1
  126. package/dist/cjs/store/api/collectionsApi.d.ts +4541 -0
  127. package/dist/cjs/store/api/collectionsApi.js +244 -0
  128. package/dist/cjs/store/api/collectionsApi.js.map +1 -0
  129. package/dist/cjs/store/api/entityListsApi.d.ts +111 -110
  130. package/dist/cjs/store/api/entityListsApi.js +13 -8
  131. package/dist/cjs/store/api/entityListsApi.js.map +1 -1
  132. package/dist/cjs/store/api/index.d.ts +1 -1
  133. package/dist/cjs/store/api/index.js +2 -2
  134. package/dist/cjs/store/api/index.js.map +1 -1
  135. package/dist/cjs/store/api/spacesApi.d.ts +950 -950
  136. package/dist/cjs/store/api/userApi.d.ts +3 -3
  137. package/dist/cjs/store/index.d.ts +4 -4
  138. package/dist/cjs/store/rootReducer.d.ts +4 -4
  139. package/dist/cjs/store/rootReducer.js +2 -2
  140. package/dist/cjs/store/rootReducer.js.map +1 -1
  141. package/dist/cjs/store/slices/authSlice.d.ts +1 -3
  142. package/dist/cjs/store/slices/authSlice.js +3 -9
  143. package/dist/cjs/store/slices/authSlice.js.map +1 -1
  144. package/dist/cjs/store/slices/authThunks.js +0 -3
  145. package/dist/cjs/store/slices/authThunks.js.map +1 -1
  146. package/dist/cjs/store/slices/collectionsSlice.d.ts +427 -0
  147. package/dist/cjs/store/slices/collectionsSlice.js +211 -0
  148. package/dist/cjs/store/slices/collectionsSlice.js.map +1 -0
  149. package/dist/cjs/store/slices/entityListsSlice.d.ts +704 -63
  150. package/dist/cjs/store/slices/entityListsSlice.js +45 -21
  151. package/dist/cjs/store/slices/entityListsSlice.js.map +1 -1
  152. package/dist/cjs/store/slices/spaceListsSlice.d.ts +1 -1
  153. package/dist/esm/hooks/auth/useAuth.d.ts +1 -1
  154. package/dist/esm/hooks/auth/useAuth.js +3 -3
  155. package/dist/esm/hooks/auth/useAuth.js.map +1 -1
  156. package/dist/esm/hooks/collections/index.d.ts +4 -0
  157. package/dist/esm/hooks/collections/index.js +6 -0
  158. package/dist/esm/hooks/collections/index.js.map +1 -0
  159. package/dist/esm/hooks/collections/useCollectionEntitiesWrapper.d.ts +21 -0
  160. package/dist/esm/hooks/collections/useCollectionEntitiesWrapper.js +204 -0
  161. package/dist/esm/hooks/collections/useCollectionEntitiesWrapper.js.map +1 -0
  162. package/dist/esm/hooks/collections/useCollections.d.ts +43 -0
  163. package/dist/esm/hooks/collections/useCollections.js +272 -0
  164. package/dist/esm/hooks/collections/useCollections.js.map +1 -0
  165. package/dist/esm/hooks/collections/useCollectionsActions.d.ts +21 -0
  166. package/dist/esm/hooks/{lists/useListsActions.js → collections/useCollectionsActions.js} +103 -109
  167. package/dist/esm/hooks/collections/useCollectionsActions.js.map +1 -0
  168. package/dist/esm/hooks/{lists → collections}/useIsEntitySaved.d.ts +2 -2
  169. package/dist/esm/hooks/{lists → collections}/useIsEntitySaved.js +3 -3
  170. package/dist/esm/hooks/collections/useIsEntitySaved.js.map +1 -0
  171. package/dist/esm/hooks/comments/index.d.ts +2 -2
  172. package/dist/esm/hooks/comments/index.js +1 -2
  173. package/dist/esm/hooks/comments/index.js.map +1 -1
  174. package/dist/esm/hooks/comments/useCommentSectionData.js +34 -11
  175. package/dist/esm/hooks/comments/useCommentSectionData.js.map +1 -1
  176. package/dist/esm/hooks/comments/useEntityComments.d.ts +2 -1
  177. package/dist/esm/hooks/comments/useEntityComments.js +2 -1
  178. package/dist/esm/hooks/comments/useEntityComments.js.map +1 -1
  179. package/dist/esm/hooks/comments/useFetchComment.d.ts +3 -4
  180. package/dist/esm/hooks/comments/useFetchComment.js +7 -5
  181. package/dist/esm/hooks/comments/useFetchComment.js.map +1 -1
  182. package/dist/esm/hooks/comments/useFetchCommentByForeignId.d.ts +3 -4
  183. package/dist/esm/hooks/comments/useFetchCommentByForeignId.js +9 -6
  184. package/dist/esm/hooks/comments/useFetchCommentByForeignId.js.map +1 -1
  185. package/dist/esm/hooks/comments/useFetchManyComments.d.ts +2 -2
  186. package/dist/esm/hooks/comments/useFetchManyComments.js +5 -7
  187. package/dist/esm/hooks/comments/useFetchManyComments.js.map +1 -1
  188. package/dist/esm/hooks/comments/useFetchManyCommentsWrapper.d.ts +21 -0
  189. package/dist/esm/hooks/comments/{useProfileComments.js → useFetchManyCommentsWrapper.js} +40 -18
  190. package/dist/esm/hooks/comments/useFetchManyCommentsWrapper.js.map +1 -0
  191. package/dist/esm/hooks/comments/useReplies.js +1 -0
  192. package/dist/esm/hooks/comments/useReplies.js.map +1 -1
  193. package/dist/esm/hooks/entities/index.d.ts +2 -5
  194. package/dist/esm/hooks/entities/index.js +1 -5
  195. package/dist/esm/hooks/entities/index.js.map +1 -1
  196. package/dist/esm/hooks/entities/useCreateEntity.d.ts +27 -0
  197. package/dist/esm/hooks/entities/useCreateEntity.js +88 -15
  198. package/dist/esm/hooks/entities/useCreateEntity.js.map +1 -1
  199. package/dist/esm/hooks/entities/useEntityData.d.ts +0 -6
  200. package/dist/esm/hooks/entities/useEntityData.js +0 -19
  201. package/dist/esm/hooks/entities/useEntityData.js.map +1 -1
  202. package/dist/esm/hooks/entities/useFetchManyEntitiesWrapper.d.ts +41 -0
  203. package/dist/esm/hooks/entities/useFetchManyEntitiesWrapper.js +236 -0
  204. package/dist/esm/hooks/entities/useFetchManyEntitiesWrapper.js.map +1 -0
  205. package/dist/esm/hooks/entity-lists/index.d.ts +1 -1
  206. package/dist/esm/hooks/entity-lists/useEntityList.d.ts +2 -2
  207. package/dist/esm/hooks/entity-lists/useEntityList.js +46 -18
  208. package/dist/esm/hooks/entity-lists/useEntityList.js.map +1 -1
  209. package/dist/esm/hooks/entity-lists/useEntityListActions.d.ts +6 -3
  210. package/dist/esm/hooks/entity-lists/useEntityListActions.js +3 -0
  211. package/dist/esm/hooks/entity-lists/useEntityListActions.js.map +1 -1
  212. package/dist/esm/hooks/reactions/index.d.ts +10 -0
  213. package/dist/esm/hooks/reactions/index.js +8 -0
  214. package/dist/esm/hooks/reactions/index.js.map +1 -0
  215. package/dist/esm/hooks/reactions/useAddReaction.d.ts +9 -0
  216. package/dist/esm/hooks/{comments/useUpvoteComment.js → reactions/useAddReaction.js} +19 -13
  217. package/dist/esm/hooks/reactions/useAddReaction.js.map +1 -0
  218. package/dist/esm/hooks/reactions/useFetchCommentReactions.d.ts +10 -0
  219. package/dist/esm/hooks/reactions/useFetchCommentReactions.js +79 -0
  220. package/dist/esm/hooks/reactions/useFetchCommentReactions.js.map +1 -0
  221. package/dist/esm/hooks/reactions/useFetchCommentReactionsWrapper.d.ts +17 -0
  222. package/dist/esm/hooks/reactions/useFetchCommentReactionsWrapper.js +165 -0
  223. package/dist/esm/hooks/reactions/useFetchCommentReactionsWrapper.js.map +1 -0
  224. package/dist/esm/hooks/reactions/useFetchEntityReactions.d.ts +10 -0
  225. package/dist/esm/hooks/{entities/useDownvoteEntity.js → reactions/useFetchEntityReactions.js} +26 -13
  226. package/dist/esm/hooks/reactions/useFetchEntityReactions.js.map +1 -0
  227. package/dist/esm/hooks/reactions/useFetchEntityReactionsWrapper.d.ts +17 -0
  228. package/dist/esm/hooks/reactions/useFetchEntityReactionsWrapper.js +165 -0
  229. package/dist/esm/hooks/reactions/useFetchEntityReactionsWrapper.js.map +1 -0
  230. package/dist/esm/hooks/reactions/useReactionToggle.d.ts +19 -0
  231. package/dist/esm/hooks/reactions/useReactionToggle.js +141 -0
  232. package/dist/esm/hooks/reactions/useReactionToggle.js.map +1 -0
  233. package/dist/esm/hooks/reactions/useRemoveReaction.d.ts +7 -0
  234. package/dist/esm/hooks/{comments/useRemoveCommentDownvote.js → reactions/useRemoveReaction.js} +16 -13
  235. package/dist/esm/hooks/reactions/useRemoveReaction.js.map +1 -0
  236. package/dist/esm/hooks/space-lists/useSpaceList.js +1 -1
  237. package/dist/esm/hooks/space-lists/useSpaceList.js.map +1 -1
  238. package/dist/esm/hooks/spaces/index.d.ts +1 -0
  239. package/dist/esm/hooks/spaces/index.js +1 -0
  240. package/dist/esm/hooks/spaces/index.js.map +1 -1
  241. package/dist/esm/hooks/spaces/useCheckMyMembership.d.ts +5 -0
  242. package/dist/esm/hooks/{comments/useDownvoteComment.js → spaces/useCheckMyMembership.js} +14 -14
  243. package/dist/esm/hooks/spaces/useCheckMyMembership.js.map +1 -0
  244. package/dist/esm/hooks/storage/index.d.ts +1 -0
  245. package/dist/esm/hooks/storage/index.js +1 -0
  246. package/dist/esm/hooks/storage/index.js.map +1 -1
  247. package/dist/esm/hooks/storage/useUploadFile.d.ts +12 -1
  248. package/dist/esm/hooks/storage/useUploadFile.js +22 -8
  249. package/dist/esm/hooks/storage/useUploadFile.js.map +1 -1
  250. package/dist/esm/hooks/storage/useUploadImage.d.ts +14 -0
  251. package/dist/esm/hooks/storage/useUploadImage.js +156 -0
  252. package/dist/esm/hooks/storage/useUploadImage.js.map +1 -0
  253. package/dist/esm/hooks/users/index.d.ts +1 -0
  254. package/dist/esm/hooks/users/index.js +1 -0
  255. package/dist/esm/hooks/users/index.js.map +1 -1
  256. package/dist/esm/hooks/users/useFetchUserByUsername.d.ts +5 -0
  257. package/dist/esm/hooks/{comments/useRemoveCommentUpvote.js → users/useFetchUserByUsername.js} +14 -13
  258. package/dist/esm/hooks/users/useFetchUserByUsername.js.map +1 -0
  259. package/dist/esm/index.d.ts +12 -9
  260. package/dist/esm/index.js +8 -6
  261. package/dist/esm/index.js.map +1 -1
  262. package/dist/esm/interfaces/models/{List.d.ts → Collection.d.ts} +2 -4
  263. package/dist/esm/interfaces/models/Collection.js +2 -0
  264. package/dist/esm/interfaces/models/Collection.js.map +1 -0
  265. package/dist/esm/interfaces/models/Comment.d.ts +8 -1
  266. package/dist/esm/interfaces/models/Entity.d.ts +44 -1
  267. package/dist/esm/interfaces/models/Image.d.ts +35 -0
  268. package/dist/esm/interfaces/models/Image.js +2 -0
  269. package/dist/esm/interfaces/models/Image.js.map +1 -0
  270. package/dist/esm/interfaces/models/Reaction.d.ts +23 -0
  271. package/dist/esm/interfaces/models/Reaction.js +2 -0
  272. package/dist/esm/interfaces/models/Reaction.js.map +1 -0
  273. package/dist/esm/interfaces/models/Space.d.ts +13 -0
  274. package/dist/esm/store/api/appNotificationsApi.d.ts +181 -181
  275. package/dist/esm/store/api/baseApi.d.ts +1 -1
  276. package/dist/esm/store/api/baseApi.js +2 -1
  277. package/dist/esm/store/api/baseApi.js.map +1 -1
  278. package/dist/esm/store/api/collectionsApi.d.ts +4541 -0
  279. package/dist/esm/store/api/collectionsApi.js +241 -0
  280. package/dist/esm/store/api/collectionsApi.js.map +1 -0
  281. package/dist/esm/store/api/entityListsApi.d.ts +111 -110
  282. package/dist/esm/store/api/entityListsApi.js +13 -8
  283. package/dist/esm/store/api/entityListsApi.js.map +1 -1
  284. package/dist/esm/store/api/index.d.ts +1 -1
  285. package/dist/esm/store/api/index.js +2 -2
  286. package/dist/esm/store/api/index.js.map +1 -1
  287. package/dist/esm/store/api/spacesApi.d.ts +950 -950
  288. package/dist/esm/store/api/userApi.d.ts +3 -3
  289. package/dist/esm/store/index.d.ts +4 -4
  290. package/dist/esm/store/rootReducer.d.ts +4 -4
  291. package/dist/esm/store/rootReducer.js +2 -2
  292. package/dist/esm/store/rootReducer.js.map +1 -1
  293. package/dist/esm/store/slices/authSlice.d.ts +1 -3
  294. package/dist/esm/store/slices/authSlice.js +2 -7
  295. package/dist/esm/store/slices/authSlice.js.map +1 -1
  296. package/dist/esm/store/slices/authThunks.js +1 -4
  297. package/dist/esm/store/slices/authThunks.js.map +1 -1
  298. package/dist/esm/store/slices/collectionsSlice.d.ts +427 -0
  299. package/dist/esm/store/slices/collectionsSlice.js +202 -0
  300. package/dist/esm/store/slices/collectionsSlice.js.map +1 -0
  301. package/dist/esm/store/slices/entityListsSlice.d.ts +704 -63
  302. package/dist/esm/store/slices/entityListsSlice.js +44 -20
  303. package/dist/esm/store/slices/entityListsSlice.js.map +1 -1
  304. package/dist/esm/store/slices/spaceListsSlice.d.ts +1 -1
  305. package/package.json +1 -1
  306. package/dist/cjs/hooks/comments/useCommentVotes.d.ts +0 -11
  307. package/dist/cjs/hooks/comments/useCommentVotes.js +0 -234
  308. package/dist/cjs/hooks/comments/useCommentVotes.js.map +0 -1
  309. package/dist/cjs/hooks/comments/useDownvoteComment.d.ts +0 -5
  310. package/dist/cjs/hooks/comments/useDownvoteComment.js.map +0 -1
  311. package/dist/cjs/hooks/comments/useProfileComments.d.ts +0 -18
  312. package/dist/cjs/hooks/comments/useProfileComments.js.map +0 -1
  313. package/dist/cjs/hooks/comments/useRemoveCommentDownvote.d.ts +0 -5
  314. package/dist/cjs/hooks/comments/useRemoveCommentDownvote.js.map +0 -1
  315. package/dist/cjs/hooks/comments/useRemoveCommentUpvote.d.ts +0 -5
  316. package/dist/cjs/hooks/comments/useRemoveCommentUpvote.js.map +0 -1
  317. package/dist/cjs/hooks/comments/useUpvoteComment.d.ts +0 -5
  318. package/dist/cjs/hooks/comments/useUpvoteComment.js.map +0 -1
  319. package/dist/cjs/hooks/entities/useDownvoteEntity.d.ts +0 -5
  320. package/dist/cjs/hooks/entities/useDownvoteEntity.js.map +0 -1
  321. package/dist/cjs/hooks/entities/useEntityVotes.d.ts +0 -11
  322. package/dist/cjs/hooks/entities/useEntityVotes.js +0 -241
  323. package/dist/cjs/hooks/entities/useEntityVotes.js.map +0 -1
  324. package/dist/cjs/hooks/entities/useRemoveEntityDownvote.d.ts +0 -5
  325. package/dist/cjs/hooks/entities/useRemoveEntityDownvote.js +0 -71
  326. package/dist/cjs/hooks/entities/useRemoveEntityDownvote.js.map +0 -1
  327. package/dist/cjs/hooks/entities/useRemoveEntityUpvote.d.ts +0 -5
  328. package/dist/cjs/hooks/entities/useRemoveEntityUpvote.js +0 -71
  329. package/dist/cjs/hooks/entities/useRemoveEntityUpvote.js.map +0 -1
  330. package/dist/cjs/hooks/entities/useUpvoteEntity.d.ts +0 -5
  331. package/dist/cjs/hooks/entities/useUpvoteEntity.js +0 -71
  332. package/dist/cjs/hooks/entities/useUpvoteEntity.js.map +0 -1
  333. package/dist/cjs/hooks/lists/index.d.ts +0 -3
  334. package/dist/cjs/hooks/lists/index.js +0 -14
  335. package/dist/cjs/hooks/lists/index.js.map +0 -1
  336. package/dist/cjs/hooks/lists/useIsEntitySaved.js.map +0 -1
  337. package/dist/cjs/hooks/lists/useLists.d.ts +0 -36
  338. package/dist/cjs/hooks/lists/useLists.js +0 -239
  339. package/dist/cjs/hooks/lists/useLists.js.map +0 -1
  340. package/dist/cjs/hooks/lists/useListsActions.d.ts +0 -21
  341. package/dist/cjs/hooks/lists/useListsActions.js.map +0 -1
  342. package/dist/cjs/interfaces/models/List.js.map +0 -1
  343. package/dist/cjs/store/api/listsApi.d.ts +0 -3564
  344. package/dist/cjs/store/api/listsApi.js +0 -288
  345. package/dist/cjs/store/api/listsApi.js.map +0 -1
  346. package/dist/cjs/store/slices/listsSlice.d.ts +0 -1911
  347. package/dist/cjs/store/slices/listsSlice.js +0 -211
  348. package/dist/cjs/store/slices/listsSlice.js.map +0 -1
  349. package/dist/esm/hooks/comments/useCommentVotes.d.ts +0 -11
  350. package/dist/esm/hooks/comments/useCommentVotes.js +0 -229
  351. package/dist/esm/hooks/comments/useCommentVotes.js.map +0 -1
  352. package/dist/esm/hooks/comments/useDownvoteComment.d.ts +0 -5
  353. package/dist/esm/hooks/comments/useDownvoteComment.js.map +0 -1
  354. package/dist/esm/hooks/comments/useProfileComments.d.ts +0 -18
  355. package/dist/esm/hooks/comments/useProfileComments.js.map +0 -1
  356. package/dist/esm/hooks/comments/useRemoveCommentDownvote.d.ts +0 -5
  357. package/dist/esm/hooks/comments/useRemoveCommentDownvote.js.map +0 -1
  358. package/dist/esm/hooks/comments/useRemoveCommentUpvote.d.ts +0 -5
  359. package/dist/esm/hooks/comments/useRemoveCommentUpvote.js.map +0 -1
  360. package/dist/esm/hooks/comments/useUpvoteComment.d.ts +0 -5
  361. package/dist/esm/hooks/comments/useUpvoteComment.js.map +0 -1
  362. package/dist/esm/hooks/entities/useDownvoteEntity.d.ts +0 -5
  363. package/dist/esm/hooks/entities/useDownvoteEntity.js.map +0 -1
  364. package/dist/esm/hooks/entities/useEntityVotes.d.ts +0 -11
  365. package/dist/esm/hooks/entities/useEntityVotes.js +0 -236
  366. package/dist/esm/hooks/entities/useEntityVotes.js.map +0 -1
  367. package/dist/esm/hooks/entities/useRemoveEntityDownvote.d.ts +0 -5
  368. package/dist/esm/hooks/entities/useRemoveEntityDownvote.js +0 -66
  369. package/dist/esm/hooks/entities/useRemoveEntityDownvote.js.map +0 -1
  370. package/dist/esm/hooks/entities/useRemoveEntityUpvote.d.ts +0 -5
  371. package/dist/esm/hooks/entities/useRemoveEntityUpvote.js +0 -66
  372. package/dist/esm/hooks/entities/useRemoveEntityUpvote.js.map +0 -1
  373. package/dist/esm/hooks/entities/useUpvoteEntity.d.ts +0 -5
  374. package/dist/esm/hooks/entities/useUpvoteEntity.js +0 -66
  375. package/dist/esm/hooks/entities/useUpvoteEntity.js.map +0 -1
  376. package/dist/esm/hooks/lists/index.d.ts +0 -3
  377. package/dist/esm/hooks/lists/index.js +0 -5
  378. package/dist/esm/hooks/lists/index.js.map +0 -1
  379. package/dist/esm/hooks/lists/useIsEntitySaved.js.map +0 -1
  380. package/dist/esm/hooks/lists/useLists.d.ts +0 -36
  381. package/dist/esm/hooks/lists/useLists.js +0 -234
  382. package/dist/esm/hooks/lists/useLists.js.map +0 -1
  383. package/dist/esm/hooks/lists/useListsActions.d.ts +0 -21
  384. package/dist/esm/hooks/lists/useListsActions.js.map +0 -1
  385. package/dist/esm/interfaces/models/List.js +0 -2
  386. package/dist/esm/interfaces/models/List.js.map +0 -1
  387. package/dist/esm/store/api/listsApi.d.ts +0 -3564
  388. package/dist/esm/store/api/listsApi.js +0 -285
  389. package/dist/esm/store/api/listsApi.js.map +0 -1
  390. package/dist/esm/store/slices/listsSlice.d.ts +0 -1911
  391. package/dist/esm/store/slices/listsSlice.js +0 -202
  392. package/dist/esm/store/slices/listsSlice.js.map +0 -1
@@ -0,0 +1,170 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ var react_1 = require("react");
52
+ var useFetchCommentReactions_1 = __importDefault(require("./useFetchCommentReactions"));
53
+ var handleError_1 = require("../../utils/handleError");
54
+ function useFetchCommentReactionsWrapper(props) {
55
+ var _this = this;
56
+ var commentId = props.commentId, _a = props.limit, limit = _a === void 0 ? 20 : _a, reactionType = props.reactionType, _b = props.sortDir, sortDir = _b === void 0 ? "desc" : _b, _c = props.autoFetch, autoFetch = _c === void 0 ? false : _c;
57
+ var fetchCommentReactions = (0, useFetchCommentReactions_1.default)();
58
+ var loading = (0, react_1.useRef)(false);
59
+ var _d = (0, react_1.useState)(false), loadingState = _d[0], setLoadingState = _d[1];
60
+ var hasMore = (0, react_1.useRef)(true);
61
+ var _e = (0, react_1.useState)(true), hasMoreState = _e[0], setHasMoreState = _e[1];
62
+ var _f = (0, react_1.useState)(1), page = _f[0], setPage = _f[1];
63
+ var _g = (0, react_1.useState)([]), reactions = _g[0], setReactions = _g[1];
64
+ var resetReactions = (0, react_1.useCallback)(function () { return __awaiter(_this, void 0, void 0, function () {
65
+ var response, newReactions, pagination, err_1;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ if (!commentId) {
70
+ return [2 /*return*/];
71
+ }
72
+ _a.label = 1;
73
+ case 1:
74
+ _a.trys.push([1, 3, 4, 5]);
75
+ loading.current = true;
76
+ setLoadingState(true);
77
+ hasMore.current = true;
78
+ setHasMoreState(true);
79
+ setPage(1);
80
+ return [4 /*yield*/, fetchCommentReactions({
81
+ commentId: commentId,
82
+ page: 1,
83
+ limit: limit,
84
+ reactionType: reactionType,
85
+ sortDir: sortDir,
86
+ })];
87
+ case 2:
88
+ response = _a.sent();
89
+ if (response) {
90
+ newReactions = response.data, pagination = response.pagination;
91
+ setReactions(newReactions);
92
+ hasMore.current = pagination.hasMore;
93
+ setHasMoreState(pagination.hasMore);
94
+ }
95
+ return [3 /*break*/, 5];
96
+ case 3:
97
+ err_1 = _a.sent();
98
+ (0, handleError_1.handleError)(err_1, "Failed to reset reactions:");
99
+ return [3 /*break*/, 5];
100
+ case 4:
101
+ loading.current = false;
102
+ setLoadingState(false);
103
+ return [7 /*endfinally*/];
104
+ case 5: return [2 /*return*/];
105
+ }
106
+ });
107
+ }); }, [fetchCommentReactions, limit, reactionType, sortDir, commentId]);
108
+ var loadMore = function () {
109
+ if (loading.current || !hasMore.current)
110
+ return;
111
+ setPage(function (prevPage) { return prevPage + 1; });
112
+ };
113
+ (0, react_1.useEffect)(function () {
114
+ if (autoFetch) {
115
+ resetReactions();
116
+ }
117
+ }, [resetReactions, autoFetch]);
118
+ (0, react_1.useEffect)(function () {
119
+ var loadMoreReactions = function () { return __awaiter(_this, void 0, void 0, function () {
120
+ var response, newReactions_1, pagination, err_2;
121
+ return __generator(this, function (_a) {
122
+ switch (_a.label) {
123
+ case 0:
124
+ loading.current = true;
125
+ setLoadingState(true);
126
+ _a.label = 1;
127
+ case 1:
128
+ _a.trys.push([1, 3, 4, 5]);
129
+ return [4 /*yield*/, fetchCommentReactions({
130
+ commentId: commentId,
131
+ page: page,
132
+ limit: limit,
133
+ reactionType: reactionType,
134
+ sortDir: sortDir,
135
+ })];
136
+ case 2:
137
+ response = _a.sent();
138
+ if (response) {
139
+ newReactions_1 = response.data, pagination = response.pagination;
140
+ setReactions(function (prevReactions) { return __spreadArray(__spreadArray([], prevReactions, true), newReactions_1, true); });
141
+ hasMore.current = pagination.hasMore;
142
+ setHasMoreState(pagination.hasMore);
143
+ }
144
+ return [3 /*break*/, 5];
145
+ case 3:
146
+ err_2 = _a.sent();
147
+ (0, handleError_1.handleError)(err_2, "Loading more reactions failed:");
148
+ return [3 /*break*/, 5];
149
+ case 4:
150
+ loading.current = false;
151
+ setLoadingState(false);
152
+ return [7 /*endfinally*/];
153
+ case 5: return [2 /*return*/];
154
+ }
155
+ });
156
+ }); };
157
+ if (page > 1 && hasMore.current && !loading.current) {
158
+ loadMoreReactions();
159
+ }
160
+ }, [page, fetchCommentReactions, commentId, limit, reactionType, sortDir]);
161
+ return {
162
+ reactions: reactions,
163
+ loading: loadingState,
164
+ hasMore: hasMoreState,
165
+ loadMore: loadMore,
166
+ refetch: resetReactions,
167
+ };
168
+ }
169
+ exports.default = useFetchCommentReactionsWrapper;
170
+ //# sourceMappingURL=useFetchCommentReactionsWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchCommentReactionsWrapper.js","sourceRoot":"","sources":["../../../../src/hooks/reactions/useFetchCommentReactionsWrapper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Reaction, ReactionType } from "../../interfaces/models/Reaction";
2
+ import { PaginatedResponse } from "../../interfaces/IPaginatedResponse";
3
+ declare function useFetchEntityReactions(): (props: {
4
+ entityId: string;
5
+ page: number;
6
+ limit?: number;
7
+ reactionType?: ReactionType;
8
+ sortDir?: "asc" | "desc";
9
+ }) => Promise<PaginatedResponse<Reaction>>;
10
+ export default useFetchEntityReactions;
@@ -40,32 +40,45 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var react_1 = require("react");
43
- var useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
44
43
  var useProject_1 = __importDefault(require("../projects/useProject"));
45
- function useDownvoteEntity() {
44
+ var axios_1 = __importDefault(require("../../config/axios"));
45
+ function useFetchEntityReactions() {
46
46
  var _this = this;
47
- var axios = (0, useAxiosPrivate_1.default)();
48
47
  var projectId = (0, useProject_1.default)().projectId;
49
- var downvoteEntity = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
50
- var response;
51
- var entityId = _b.entityId;
48
+ var fetchEntityReactions = (0, react_1.useCallback)(function (props) { return __awaiter(_this, void 0, void 0, function () {
49
+ var entityId, page, _a, limit, reactionType, _b, sortDir, params, response;
52
50
  return __generator(this, function (_c) {
53
51
  switch (_c.label) {
54
52
  case 0:
53
+ entityId = props.entityId, page = props.page, _a = props.limit, limit = _a === void 0 ? 20 : _a, reactionType = props.reactionType, _b = props.sortDir, sortDir = _b === void 0 ? "desc" : _b;
54
+ if (page === 0) {
55
+ throw new Error("Can't fetch reactions with page 0");
56
+ }
57
+ if (limit === 0) {
58
+ throw new Error("Can't fetch with limit 0");
59
+ }
60
+ if (!projectId) {
61
+ throw new Error("No project specified");
62
+ }
55
63
  if (!entityId) {
56
64
  throw new Error("No entity ID provided");
57
65
  }
58
- if (!projectId) {
59
- throw new Error("No projectId available");
66
+ params = {
67
+ page: page,
68
+ limit: limit,
69
+ sortDir: sortDir,
70
+ };
71
+ if (reactionType) {
72
+ params.reactionType = reactionType;
60
73
  }
61
- return [4 /*yield*/, axios.patch("/".concat(projectId, "/entities/").concat(entityId, "/downvote"), {}, { withCredentials: true })];
74
+ return [4 /*yield*/, axios_1.default.get("/".concat(projectId, "/entities/").concat(entityId, "/reactions"), { params: params })];
62
75
  case 1:
63
76
  response = _c.sent();
64
77
  return [2 /*return*/, response.data];
65
78
  }
66
79
  });
67
- }); }, [axios, projectId]);
68
- return downvoteEntity;
80
+ }); }, [projectId]);
81
+ return fetchEntityReactions;
69
82
  }
70
- exports.default = useDownvoteEntity;
71
- //# sourceMappingURL=useDownvoteEntity.js.map
83
+ exports.default = useFetchEntityReactions;
84
+ //# sourceMappingURL=useFetchEntityReactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchEntityReactions.js","sourceRoot":"","sources":["../../../../src/hooks/reactions/useFetchEntityReactions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AAGpC,sEAAgD;AAChD,6DAAuC;AAEvC,SAAS,uBAAuB;IAAhC,iBAkDC;IAjDS,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,oBAAoB,GAAG,IAAA,mBAAW,EACtC,UAAO,KAMN;;;;;oBACS,QAAQ,GAAuD,KAAK,SAA5D,EAAE,IAAI,GAAiD,KAAK,KAAtD,EAAE,KAA+C,KAAK,MAA1C,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAY,GAAuB,KAAK,aAA5B,EAAE,KAAqB,KAAK,QAAV,EAAhB,OAAO,mBAAG,MAAM,KAAA,CAAW;oBAE7E,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAC9C,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBAED,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC3C,CAAC;oBAEK,MAAM,GAAwB;wBAClC,IAAI,MAAA;wBACJ,KAAK,OAAA;wBACL,OAAO,SAAA;qBACR,CAAC;oBAEF,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;oBACrC,CAAC;oBAEgB,qBAAM,eAAK,CAAC,GAAG,CAC9B,WAAI,SAAS,uBAAa,QAAQ,eAAY,EAC9C,EAAE,MAAM,QAAA,EAAE,CACX,EAAA;;oBAHK,QAAQ,GAAG,SAGhB;oBAED,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;SACtB,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Reaction, ReactionType } from "../../interfaces/models/Reaction";
2
+ export interface UseFetchEntityReactionsWrapperProps {
3
+ entityId: string;
4
+ limit?: number;
5
+ reactionType?: ReactionType;
6
+ sortDir?: "asc" | "desc";
7
+ autoFetch?: boolean;
8
+ }
9
+ export interface UseFetchEntityReactionsWrapperValues {
10
+ reactions: Reaction[];
11
+ loading: boolean;
12
+ hasMore: boolean;
13
+ loadMore: () => void;
14
+ refetch: () => void;
15
+ }
16
+ declare function useFetchEntityReactionsWrapper(props: UseFetchEntityReactionsWrapperProps): UseFetchEntityReactionsWrapperValues;
17
+ export default useFetchEntityReactionsWrapper;
@@ -0,0 +1,170 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ var react_1 = require("react");
52
+ var useFetchEntityReactions_1 = __importDefault(require("./useFetchEntityReactions"));
53
+ var handleError_1 = require("../../utils/handleError");
54
+ function useFetchEntityReactionsWrapper(props) {
55
+ var _this = this;
56
+ var entityId = props.entityId, _a = props.limit, limit = _a === void 0 ? 20 : _a, reactionType = props.reactionType, _b = props.sortDir, sortDir = _b === void 0 ? "desc" : _b, _c = props.autoFetch, autoFetch = _c === void 0 ? false : _c;
57
+ var fetchEntityReactions = (0, useFetchEntityReactions_1.default)();
58
+ var loading = (0, react_1.useRef)(false);
59
+ var _d = (0, react_1.useState)(false), loadingState = _d[0], setLoadingState = _d[1];
60
+ var hasMore = (0, react_1.useRef)(true);
61
+ var _e = (0, react_1.useState)(true), hasMoreState = _e[0], setHasMoreState = _e[1];
62
+ var _f = (0, react_1.useState)(1), page = _f[0], setPage = _f[1];
63
+ var _g = (0, react_1.useState)([]), reactions = _g[0], setReactions = _g[1];
64
+ var resetReactions = (0, react_1.useCallback)(function () { return __awaiter(_this, void 0, void 0, function () {
65
+ var response, newReactions, pagination, err_1;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ if (!entityId) {
70
+ return [2 /*return*/];
71
+ }
72
+ _a.label = 1;
73
+ case 1:
74
+ _a.trys.push([1, 3, 4, 5]);
75
+ loading.current = true;
76
+ setLoadingState(true);
77
+ hasMore.current = true;
78
+ setHasMoreState(true);
79
+ setPage(1);
80
+ return [4 /*yield*/, fetchEntityReactions({
81
+ entityId: entityId,
82
+ page: 1,
83
+ limit: limit,
84
+ reactionType: reactionType,
85
+ sortDir: sortDir,
86
+ })];
87
+ case 2:
88
+ response = _a.sent();
89
+ if (response) {
90
+ newReactions = response.data, pagination = response.pagination;
91
+ setReactions(newReactions);
92
+ hasMore.current = pagination.hasMore;
93
+ setHasMoreState(pagination.hasMore);
94
+ }
95
+ return [3 /*break*/, 5];
96
+ case 3:
97
+ err_1 = _a.sent();
98
+ (0, handleError_1.handleError)(err_1, "Failed to reset reactions:");
99
+ return [3 /*break*/, 5];
100
+ case 4:
101
+ loading.current = false;
102
+ setLoadingState(false);
103
+ return [7 /*endfinally*/];
104
+ case 5: return [2 /*return*/];
105
+ }
106
+ });
107
+ }); }, [fetchEntityReactions, limit, reactionType, sortDir, entityId]);
108
+ var loadMore = function () {
109
+ if (loading.current || !hasMore.current)
110
+ return;
111
+ setPage(function (prevPage) { return prevPage + 1; });
112
+ };
113
+ (0, react_1.useEffect)(function () {
114
+ if (autoFetch) {
115
+ resetReactions();
116
+ }
117
+ }, [resetReactions, autoFetch]);
118
+ (0, react_1.useEffect)(function () {
119
+ var loadMoreReactions = function () { return __awaiter(_this, void 0, void 0, function () {
120
+ var response, newReactions_1, pagination, err_2;
121
+ return __generator(this, function (_a) {
122
+ switch (_a.label) {
123
+ case 0:
124
+ loading.current = true;
125
+ setLoadingState(true);
126
+ _a.label = 1;
127
+ case 1:
128
+ _a.trys.push([1, 3, 4, 5]);
129
+ return [4 /*yield*/, fetchEntityReactions({
130
+ entityId: entityId,
131
+ page: page,
132
+ limit: limit,
133
+ reactionType: reactionType,
134
+ sortDir: sortDir,
135
+ })];
136
+ case 2:
137
+ response = _a.sent();
138
+ if (response) {
139
+ newReactions_1 = response.data, pagination = response.pagination;
140
+ setReactions(function (prevReactions) { return __spreadArray(__spreadArray([], prevReactions, true), newReactions_1, true); });
141
+ hasMore.current = pagination.hasMore;
142
+ setHasMoreState(pagination.hasMore);
143
+ }
144
+ return [3 /*break*/, 5];
145
+ case 3:
146
+ err_2 = _a.sent();
147
+ (0, handleError_1.handleError)(err_2, "Loading more reactions failed:");
148
+ return [3 /*break*/, 5];
149
+ case 4:
150
+ loading.current = false;
151
+ setLoadingState(false);
152
+ return [7 /*endfinally*/];
153
+ case 5: return [2 /*return*/];
154
+ }
155
+ });
156
+ }); };
157
+ if (page > 1 && hasMore.current && !loading.current) {
158
+ loadMoreReactions();
159
+ }
160
+ }, [page, fetchEntityReactions, entityId, limit, reactionType, sortDir]);
161
+ return {
162
+ reactions: reactions,
163
+ loading: loadingState,
164
+ hasMore: hasMoreState,
165
+ loadMore: loadMore,
166
+ refetch: resetReactions,
167
+ };
168
+ }
169
+ exports.default = useFetchEntityReactionsWrapper;
170
+ //# sourceMappingURL=useFetchEntityReactionsWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchEntityReactionsWrapper.js","sourceRoot":"","sources":["../../../../src/hooks/reactions/useFetchEntityReactionsWrapper.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiE;AAEjE,sFAAgE;AAChE,uDAAsD;AAkBtD,SAAS,8BAA8B,CACrC,KAA0C;IAD5C,iBA4GC;IAxGG,IAAA,QAAQ,GAKN,KAAK,SALC,EACR,KAIE,KAAK,MAJG,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,YAAY,GAGV,KAAK,aAHK,EACZ,KAEE,KAAK,QAFS,EAAhB,OAAO,mBAAG,MAAM,KAAA,EAChB,KACE,KAAK,UADU,EAAjB,SAAS,mBAAG,KAAK,KAAA,CACT;IAEV,IAAM,oBAAoB,GAAG,IAAA,iCAAuB,GAAE,CAAC;IAEvD,IAAM,OAAO,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IACxB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAExD,IAAM,OAAO,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACvB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAA/C,YAAY,QAAA,EAAE,eAAe,QAAkB,CAAC;IAEjD,IAAA,KAAkB,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAA5B,IAAI,QAAA,EAAE,OAAO,QAAe,CAAC;IAC9B,IAAA,KAA4B,IAAA,gBAAQ,EAAa,EAAE,CAAC,EAAnD,SAAS,QAAA,EAAE,YAAY,QAA4B,CAAC;IAE3D,IAAM,cAAc,GAAG,IAAA,mBAAW,EAAC;;;;;oBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,sBAAO;oBACT,CAAC;;;;oBAGC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEtB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEtB,OAAO,CAAC,CAAC,CAAC,CAAC;oBAEM,qBAAM,oBAAoB,CAAC;4BAC1C,QAAQ,UAAA;4BACR,IAAI,EAAE,CAAC;4BACP,KAAK,OAAA;4BACL,YAAY,cAAA;4BACZ,OAAO,SAAA;yBACR,CAAC,EAAA;;oBANI,QAAQ,GAAG,SAMf;oBAEF,IAAI,QAAQ,EAAE,CAAC;wBACC,YAAY,GAAiB,QAAQ,KAAzB,EAAE,UAAU,GAAK,QAAQ,WAAb,CAAc;wBACpD,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC3B,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;wBACrC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACtC,CAAC;;;;oBAED,IAAA,yBAAW,EAAC,KAAG,EAAE,4BAA4B,CAAC,CAAC;;;oBAE/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;oBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;;;;;SAE1B,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnE,IAAM,QAAQ,GAAG;QACf,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO;QAChD,OAAO,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,GAAG,CAAC,EAAZ,CAAY,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhC,IAAA,iBAAS,EAAC;QACR,IAAM,iBAAiB,GAAG;;;;;wBACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;wBACvB,eAAe,CAAC,IAAI,CAAC,CAAC;;;;wBAEH,qBAAM,oBAAoB,CAAC;gCAC1C,QAAQ,UAAA;gCACR,IAAI,MAAA;gCACJ,KAAK,OAAA;gCACL,YAAY,cAAA;gCACZ,OAAO,SAAA;6BACR,CAAC,EAAA;;wBANI,QAAQ,GAAG,SAMf;wBAEF,IAAI,QAAQ,EAAE,CAAC;4BACL,iBAAmC,QAAQ,KAAzB,EAAE,UAAU,GAAK,QAAQ,WAAb,CAAc;4BACpD,YAAY,CAAC,UAAC,aAAa,IAAK,uCAAI,aAAa,SAAK,cAAY,SAAlC,CAAmC,CAAC,CAAC;4BACrE,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;4BACrC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBACtC,CAAC;;;;wBAED,IAAA,yBAAW,EAAC,KAAG,EAAE,gCAAgC,CAAC,CAAC;;;wBAEnD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;;;;;aAE1B,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzE,OAAO;QACL,SAAS,WAAA;QACT,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,QAAQ,UAAA;QACR,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC;AAED,kBAAe,8BAA8B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Entity } from "../../interfaces/models/Entity";
2
+ import { Comment } from "../../interfaces/models/Comment";
3
+ import { ReactionType, ReactionCounts } from "../../interfaces/models/Reaction";
4
+ export interface UseReactionToggleProps {
5
+ targetType: "Entity" | "Comment";
6
+ targetId: string | undefined;
7
+ initialReaction?: ReactionType | null | undefined;
8
+ initialReactionCounts?: ReactionCounts | null | undefined;
9
+ }
10
+ export interface UseReactionToggleValues {
11
+ currentReaction: ReactionType | null;
12
+ reactionCounts: Partial<ReactionCounts>;
13
+ toggleReaction: (props: {
14
+ reactionType: ReactionType;
15
+ }) => Promise<Entity | Comment | null>;
16
+ loading: boolean;
17
+ }
18
+ declare function useReactionToggle({ targetType, targetId, initialReaction, initialReactionCounts, }: UseReactionToggleProps): UseReactionToggleValues;
19
+ export default useReactionToggle;
@@ -0,0 +1,146 @@
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 useAddReaction_1 = __importDefault(require("./useAddReaction"));
55
+ var useRemoveReaction_1 = __importDefault(require("./useRemoveReaction"));
56
+ var handleError_1 = require("../../utils/handleError");
57
+ function useReactionToggle(_a) {
58
+ var _this = this;
59
+ var targetType = _a.targetType, targetId = _a.targetId, initialReaction = _a.initialReaction, initialReactionCounts = _a.initialReactionCounts;
60
+ var addReaction = (0, useAddReaction_1.default)();
61
+ var removeReaction = (0, useRemoveReaction_1.default)();
62
+ var _b = (0, react_1.useState)(initialReaction !== null && initialReaction !== void 0 ? initialReaction : null), currentReaction = _b[0], setCurrentReaction = _b[1];
63
+ var _c = (0, react_1.useState)(initialReactionCounts !== null && initialReactionCounts !== void 0 ? initialReactionCounts : {}), reactionCounts = _c[0], setReactionCounts = _c[1];
64
+ var _d = (0, react_1.useState)(false), loading = _d[0], setLoading = _d[1];
65
+ // Reset state when target changes
66
+ (0, react_1.useEffect)(function () {
67
+ setCurrentReaction(initialReaction !== null && initialReaction !== void 0 ? initialReaction : null);
68
+ setReactionCounts(initialReactionCounts !== null && initialReactionCounts !== void 0 ? initialReactionCounts : {});
69
+ }, [targetId, initialReaction, initialReactionCounts]);
70
+ var toggleReaction = (0, react_1.useCallback)(function (props) { return __awaiter(_this, void 0, void 0, function () {
71
+ var reactionType, originalReaction, originalCounts, newReaction, updatedCounts, result, _a, err_1;
72
+ var _b;
73
+ return __generator(this, function (_c) {
74
+ switch (_c.label) {
75
+ case 0:
76
+ reactionType = props.reactionType;
77
+ // Guard: prevent concurrent operations
78
+ if (loading)
79
+ return [2 /*return*/, null];
80
+ if (!targetId)
81
+ return [2 /*return*/, null];
82
+ originalReaction = currentReaction;
83
+ originalCounts = __assign({}, reactionCounts);
84
+ newReaction = currentReaction === reactionType ? null : reactionType;
85
+ // OPTIMISTIC: Update UI immediately
86
+ setCurrentReaction(newReaction);
87
+ updatedCounts = __assign({}, reactionCounts);
88
+ if (currentReaction) {
89
+ // Decrement old reaction count
90
+ updatedCounts[currentReaction] = Math.max((updatedCounts[currentReaction] || 0) - 1, 0);
91
+ }
92
+ if (newReaction) {
93
+ // Increment new reaction count
94
+ updatedCounts[newReaction] = (updatedCounts[newReaction] || 0) + 1;
95
+ }
96
+ setReactionCounts(updatedCounts);
97
+ _c.label = 1;
98
+ case 1:
99
+ _c.trys.push([1, 6, 7, 8]);
100
+ setLoading(true);
101
+ if (!(newReaction === null)) return [3 /*break*/, 3];
102
+ return [4 /*yield*/, removeReaction({ targetType: targetType, targetId: targetId })];
103
+ case 2:
104
+ _a = _c.sent();
105
+ return [3 /*break*/, 5];
106
+ case 3: return [4 /*yield*/, addReaction({ targetType: targetType, targetId: targetId, reactionType: reactionType })];
107
+ case 4:
108
+ _a = _c.sent();
109
+ _c.label = 5;
110
+ case 5:
111
+ result = _a;
112
+ // Update with server truth (may differ from optimistic)
113
+ setCurrentReaction((_b = result.userReaction) !== null && _b !== void 0 ? _b : null);
114
+ setReactionCounts(result.reactionCounts ? __assign({}, result.reactionCounts) : {});
115
+ return [2 /*return*/, result];
116
+ case 6:
117
+ err_1 = _c.sent();
118
+ // REVERT: Restore original on error
119
+ setCurrentReaction(originalReaction);
120
+ setReactionCounts(originalCounts);
121
+ (0, handleError_1.handleError)(err_1, "Failed to toggle reaction:");
122
+ return [2 /*return*/, null];
123
+ case 7:
124
+ setLoading(false);
125
+ return [7 /*endfinally*/];
126
+ case 8: return [2 /*return*/];
127
+ }
128
+ });
129
+ }); }, [
130
+ loading,
131
+ currentReaction,
132
+ reactionCounts,
133
+ targetType,
134
+ targetId,
135
+ addReaction,
136
+ removeReaction,
137
+ ]);
138
+ return {
139
+ currentReaction: currentReaction,
140
+ reactionCounts: reactionCounts,
141
+ toggleReaction: toggleReaction,
142
+ loading: loading,
143
+ };
144
+ }
145
+ exports.default = useReactionToggle;
146
+ //# sourceMappingURL=useReactionToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactionToggle.js","sourceRoot":"","sources":["../../../../src/hooks/reactions/useReactionToggle.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAyD;AAIzD,oEAA8C;AAC9C,0EAAoD;AACpD,uDAAsD;AAkBtD,SAAS,iBAAiB,CAAC,EAKF;IALzB,iBAsGC;QArGC,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,eAAe,qBAAA,EACf,qBAAqB,2BAAA;IAErB,IAAM,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;IACrC,IAAM,cAAc,GAAG,IAAA,2BAAiB,GAAE,CAAC;IAErC,IAAA,KAAwC,IAAA,gBAAQ,EACpD,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,CACxB,EAFM,eAAe,QAAA,EAAE,kBAAkB,QAEzC,CAAC;IACI,IAAA,KAAsC,IAAA,gBAAQ,EAClD,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,CAC5B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;IACI,IAAA,KAAwB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAtC,OAAO,QAAA,EAAE,UAAU,QAAmB,CAAC;IAE9C,kCAAkC;IAClC,IAAA,iBAAS,EAAC;QACR,kBAAkB,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,CAAC,CAAC;QAC5C,iBAAiB,CAAC,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEvD,IAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,UAAO,KAEN;;;;;;oBACS,YAAY,GAAK,KAAK,aAAV,CAAW;oBAC/B,uCAAuC;oBACvC,IAAI,OAAO;wBAAE,sBAAO,IAAI,EAAC;oBACzB,IAAI,CAAC,QAAQ;wBAAE,sBAAO,IAAI,EAAC;oBAGrB,gBAAgB,GAAG,eAAe,CAAC;oBACnC,cAAc,gBAAQ,cAAc,CAAE,CAAC;oBAGvC,WAAW,GACf,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;oBAEzD,oCAAoC;oBACpC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAG1B,aAAa,gBAAQ,cAAc,CAAE,CAAC;oBAE5C,IAAI,eAAe,EAAE,CAAC;wBACpB,+BAA+B;wBAC/B,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CACvC,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EACzC,CAAC,CACF,CAAC;oBACJ,CAAC;oBAED,IAAI,WAAW,EAAE,CAAC;wBAChB,+BAA+B;wBAC/B,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;oBAED,iBAAiB,CAAC,aAAa,CAAC,CAAC;;;;oBAG/B,UAAU,CAAC,IAAI,CAAC,CAAC;yBAIf,CAAA,WAAW,KAAK,IAAI,CAAA,EAApB,wBAAoB;oBAChB,qBAAM,cAAc,CAAC,EAAE,UAAU,YAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;oBAA9C,KAAA,SAA8C,CAAA;;wBAC9C,qBAAM,WAAW,CAAC,EAAE,UAAU,YAAA,EAAE,QAAQ,UAAA,EAAE,YAAY,cAAA,EAAE,CAAC,EAAA;;oBAAzD,KAAA,SAAyD,CAAA;;;oBAHzD,MAAM,KAGmD;oBAE/D,wDAAwD;oBACxD,kBAAkB,CAAC,MAAA,MAAM,CAAC,YAAY,mCAAI,IAAI,CAAC,CAAC;oBAChD,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,cAAM,MAAM,CAAC,cAAc,EAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBAE7E,sBAAO,MAAM,EAAC;;;oBAEd,oCAAoC;oBACpC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;oBACrC,iBAAiB,CAAC,cAAc,CAAC,CAAC;oBAClC,IAAA,yBAAW,EAAC,KAAG,EAAE,4BAA4B,CAAC,CAAC;oBAC/C,sBAAO,IAAI,EAAC;;oBAEZ,UAAU,CAAC,KAAK,CAAC,CAAC;;;;;SAErB,EACD;QACE,OAAO;QACP,eAAe;QACf,cAAc;QACd,UAAU;QACV,QAAQ;QACR,WAAW;QACX,cAAc;KACf,CACF,CAAC;IAEF,OAAO;QACL,eAAe,iBAAA;QACf,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,OAAO,SAAA;KACR,CAAC;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Entity } from "../../interfaces/models/Entity";
2
+ import { Comment } from "../../interfaces/models/Comment";
3
+ declare function useRemoveReaction(): (props: {
4
+ targetType: "Entity" | "Comment";
5
+ targetId: string;
6
+ }) => Promise<Entity | Comment>;
7
+ export default useRemoveReaction;