@planningcenter/chat-react-native 4.4.0-rc.7 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
  2. package/build/components/conversation/jump_to_bottom_button.js +42 -40
  3. package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
  4. package/build/components/conversation/message.d.ts +2 -1
  5. package/build/components/conversation/message.d.ts.map +1 -1
  6. package/build/components/conversation/message.js +3 -1
  7. package/build/components/conversation/message.js.map +1 -1
  8. package/build/components/conversation/message_form.d.ts.map +1 -1
  9. package/build/components/conversation/message_form.js +3 -1
  10. package/build/components/conversation/message_form.js.map +1 -1
  11. package/build/components/conversation/message_list.d.ts.map +1 -1
  12. package/build/components/conversation/message_list.js +35 -31
  13. package/build/components/conversation/message_list.js.map +1 -1
  14. package/build/components/conversation/message_reaction.d.ts +2 -1
  15. package/build/components/conversation/message_reaction.d.ts.map +1 -1
  16. package/build/components/conversation/message_reaction.js +67 -60
  17. package/build/components/conversation/message_reaction.js.map +1 -1
  18. package/build/components/conversation/messages_disabled_banners.d.ts +7 -5
  19. package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
  20. package/build/components/conversation/messages_disabled_banners.js +15 -14
  21. package/build/components/conversation/messages_disabled_banners.js.map +1 -1
  22. package/build/components/conversation/system_message.d.ts +2 -1
  23. package/build/components/conversation/system_message.d.ts.map +1 -1
  24. package/build/components/conversation/system_message.js +133 -100
  25. package/build/components/conversation/system_message.js.map +1 -1
  26. package/build/components/conversations/archived_results_footer.d.ts +6 -0
  27. package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
  28. package/build/components/conversations/archived_results_footer.js +51 -0
  29. package/build/components/conversations/archived_results_footer.js.map +1 -0
  30. package/build/components/conversations/conversation_actions.d.ts.map +1 -1
  31. package/build/components/conversations/conversation_actions.js +241 -206
  32. package/build/components/conversations/conversation_actions.js.map +1 -1
  33. package/build/components/conversations/conversation_preview.d.ts.map +1 -1
  34. package/build/components/conversations/conversation_preview.js +102 -93
  35. package/build/components/conversations/conversation_preview.js.map +1 -1
  36. package/build/components/conversations/conversations.d.ts.map +1 -1
  37. package/build/components/conversations/conversations.js +66 -41
  38. package/build/components/conversations/conversations.js.map +1 -1
  39. package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
  40. package/build/components/conversations/conversations_blank_state.js +55 -12
  41. package/build/components/conversations/conversations_blank_state.js.map +1 -1
  42. package/build/components/conversations/filtered_results_footer.d.ts +2 -0
  43. package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
  44. package/build/components/conversations/filtered_results_footer.js +77 -0
  45. package/build/components/conversations/filtered_results_footer.js.map +1 -0
  46. package/build/components/display/action_button.d.ts.map +1 -1
  47. package/build/components/display/action_button.js +18 -16
  48. package/build/components/display/action_button.js.map +1 -1
  49. package/build/components/display/filter_dropdown.d.ts +14 -0
  50. package/build/components/display/filter_dropdown.d.ts.map +1 -0
  51. package/build/components/display/filter_dropdown.js +193 -0
  52. package/build/components/display/filter_dropdown.js.map +1 -0
  53. package/build/components/display/icon_tile.d.ts +13 -0
  54. package/build/components/display/icon_tile.d.ts.map +1 -0
  55. package/build/components/display/icon_tile.js +149 -0
  56. package/build/components/display/icon_tile.js.map +1 -0
  57. package/build/components/display/index.d.ts +2 -0
  58. package/build/components/display/index.d.ts.map +1 -1
  59. package/build/components/display/index.js +2 -0
  60. package/build/components/display/index.js.map +1 -1
  61. package/build/contexts/api_provider.d.ts.map +1 -1
  62. package/build/contexts/api_provider.js +21 -9
  63. package/build/contexts/api_provider.js.map +1 -1
  64. package/build/contexts/conversations_context.d.ts.map +1 -1
  65. package/build/contexts/conversations_context.js +21 -18
  66. package/build/contexts/conversations_context.js.map +1 -1
  67. package/build/hooks/groups/use_group_members_for_new_conversation.d.ts +196 -16
  68. package/build/hooks/groups/use_group_members_for_new_conversation.d.ts.map +1 -1
  69. package/build/hooks/groups/use_group_members_for_new_conversation.js +72 -58
  70. package/build/hooks/groups/use_group_members_for_new_conversation.js.map +1 -1
  71. package/build/hooks/index.d.ts +3 -0
  72. package/build/hooks/index.d.ts.map +1 -1
  73. package/build/hooks/index.js +3 -0
  74. package/build/hooks/index.js.map +1 -1
  75. package/build/hooks/use_animated_message_background_color.d.ts.map +1 -1
  76. package/build/hooks/use_animated_message_background_color.js +5 -3
  77. package/build/hooks/use_animated_message_background_color.js.map +1 -1
  78. package/build/hooks/use_api.d.ts +3 -2
  79. package/build/hooks/use_api.d.ts.map +1 -1
  80. package/build/hooks/use_api.js.map +1 -1
  81. package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
  82. package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
  83. package/build/hooks/use_can_browse_archived_conversations.js +29 -0
  84. package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
  85. package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
  86. package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
  87. package/build/hooks/use_clear_conversation_filters.js +25 -0
  88. package/build/hooks/use_clear_conversation_filters.js.map +1 -0
  89. package/build/hooks/use_conversation.d.ts +73 -1
  90. package/build/hooks/use_conversation.d.ts.map +1 -1
  91. package/build/hooks/use_conversation.js +130 -3
  92. package/build/hooks/use_conversation.js.map +1 -1
  93. package/build/hooks/use_conversation_messages.d.ts.map +1 -1
  94. package/build/hooks/use_conversation_messages.js +29 -26
  95. package/build/hooks/use_conversation_messages.js.map +1 -1
  96. package/build/hooks/use_current_person.d.ts.map +1 -1
  97. package/build/hooks/use_current_person.js +1 -1
  98. package/build/hooks/use_current_person.js.map +1 -1
  99. package/build/hooks/use_jolt.d.ts +1 -0
  100. package/build/hooks/use_jolt.d.ts.map +1 -1
  101. package/build/hooks/use_jolt.js +59 -0
  102. package/build/hooks/use_jolt.js.map +1 -1
  103. package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
  104. package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
  105. package/build/hooks/use_manual_archiving_enabled.js +18 -0
  106. package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
  107. package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
  108. package/build/hooks/use_mark_latest_message_read.js +3 -3
  109. package/build/hooks/use_mark_latest_message_read.js.map +1 -1
  110. package/build/hooks/use_reduce_motion.d.ts +2 -0
  111. package/build/hooks/use_reduce_motion.d.ts.map +1 -0
  112. package/build/hooks/use_reduce_motion.js +28 -0
  113. package/build/hooks/use_reduce_motion.js.map +1 -0
  114. package/build/hooks/use_unarchive_conversation_action.d.ts +7 -0
  115. package/build/hooks/use_unarchive_conversation_action.d.ts.map +1 -0
  116. package/build/hooks/use_unarchive_conversation_action.js +52 -0
  117. package/build/hooks/use_unarchive_conversation_action.js.map +1 -0
  118. package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
  119. package/build/screens/attachment_actions/attachment_actions_screen.js +84 -61
  120. package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
  121. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  122. package/build/screens/conversation_details_screen.js +490 -395
  123. package/build/screens/conversation_details_screen.js.map +1 -1
  124. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  125. package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
  126. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  127. package/build/screens/conversation_filters/components/rows.d.ts +9 -0
  128. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  129. package/build/screens/conversation_filters/components/rows.js +93 -1
  130. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  131. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
  132. package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
  133. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
  134. package/build/screens/conversation_filters/filter_types.d.ts +1 -0
  135. package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
  136. package/build/screens/conversation_filters/filter_types.js +1 -0
  137. package/build/screens/conversation_filters/filter_types.js.map +1 -1
  138. package/build/screens/conversation_filters/screen_props.d.ts +1 -0
  139. package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
  140. package/build/screens/conversation_filters/screen_props.js.map +1 -1
  141. package/build/screens/conversation_filters_screen.d.ts +1 -0
  142. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  143. package/build/screens/conversation_filters_screen.js +79 -48
  144. package/build/screens/conversation_filters_screen.js.map +1 -1
  145. package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
  146. package/build/screens/conversation_new/components/groups_form.js +37 -34
  147. package/build/screens/conversation_new/components/groups_form.js.map +1 -1
  148. package/build/screens/conversation_screen.d.ts.map +1 -1
  149. package/build/screens/conversation_screen.js +13 -10
  150. package/build/screens/conversation_screen.js.map +1 -1
  151. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
  152. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
  153. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +580 -0
  154. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
  155. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  156. package/build/screens/conversations/components/list_header_component.js +95 -90
  157. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  158. package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
  159. package/build/screens/conversations/components/search_list_header_component.js +100 -95
  160. package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
  161. package/build/screens/conversations/conversations_screen.d.ts +1 -0
  162. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  163. package/build/screens/conversations/conversations_screen.js +15 -2
  164. package/build/screens/conversations/conversations_screen.js.map +1 -1
  165. package/build/screens/design_system_screen.d.ts.map +1 -1
  166. package/build/screens/design_system_screen.js +275 -215
  167. package/build/screens/design_system_screen.js.map +1 -1
  168. package/build/screens/message_actions_screen.d.ts.map +1 -1
  169. package/build/screens/message_actions_screen.js +112 -92
  170. package/build/screens/message_actions_screen.js.map +1 -1
  171. package/build/screens/search/search_screen.d.ts.map +1 -1
  172. package/build/screens/search/search_screen.js +10 -2
  173. package/build/screens/search/search_screen.js.map +1 -1
  174. package/build/screens/send_giphy_screen.d.ts +1 -0
  175. package/build/screens/send_giphy_screen.d.ts.map +1 -1
  176. package/build/screens/send_giphy_screen.js +108 -106
  177. package/build/screens/send_giphy_screen.js.map +1 -1
  178. package/build/screens/team_conversation_screen.js +1 -1
  179. package/build/screens/team_conversation_screen.js.map +1 -1
  180. package/build/types/jolt_events/message_events.d.ts +2 -0
  181. package/build/types/jolt_events/message_events.d.ts.map +1 -1
  182. package/build/types/jolt_events/message_events.js.map +1 -1
  183. package/build/types/resources/conversation.d.ts +2 -2
  184. package/build/types/resources/conversation.d.ts.map +1 -1
  185. package/build/types/resources/conversation.js.map +1 -1
  186. package/build/types/resources/member_ability.d.ts +2 -0
  187. package/build/types/resources/member_ability.d.ts.map +1 -1
  188. package/build/types/resources/member_ability.js.map +1 -1
  189. package/build/types/resources/message.d.ts +2 -0
  190. package/build/types/resources/message.d.ts.map +1 -1
  191. package/build/types/resources/message.js.map +1 -1
  192. package/build/types/resources/person.d.ts +1 -0
  193. package/build/types/resources/person.d.ts.map +1 -1
  194. package/build/types/resources/person.js.map +1 -1
  195. package/build/utils/archived_conversation.d.ts +5 -0
  196. package/build/utils/archived_conversation.d.ts.map +1 -0
  197. package/build/utils/archived_conversation.js +5 -0
  198. package/build/utils/archived_conversation.js.map +1 -0
  199. package/build/utils/date.d.ts +1 -0
  200. package/build/utils/date.d.ts.map +1 -1
  201. package/build/utils/date.js +9 -0
  202. package/build/utils/date.js.map +1 -1
  203. package/build/utils/index.d.ts +1 -0
  204. package/build/utils/index.d.ts.map +1 -1
  205. package/build/utils/index.js +1 -0
  206. package/build/utils/index.js.map +1 -1
  207. package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
  208. package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
  209. package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
  210. package/build/utils/native_adapters/configuration.d.ts +3 -0
  211. package/build/utils/native_adapters/configuration.d.ts.map +1 -1
  212. package/build/utils/native_adapters/configuration.js +3 -0
  213. package/build/utils/native_adapters/configuration.js.map +1 -1
  214. package/build/utils/native_adapters/index.d.ts +1 -0
  215. package/build/utils/native_adapters/index.d.ts.map +1 -1
  216. package/build/utils/native_adapters/index.js +1 -0
  217. package/build/utils/native_adapters/index.js.map +1 -1
  218. package/build/utils/native_adapters/menu.d.ts +41 -0
  219. package/build/utils/native_adapters/menu.d.ts.map +1 -0
  220. package/build/utils/native_adapters/menu.js +56 -0
  221. package/build/utils/native_adapters/menu.js.map +1 -0
  222. package/build/utils/request/conversation.d.ts +2 -1
  223. package/build/utils/request/conversation.d.ts.map +1 -1
  224. package/build/utils/request/conversation.js +4 -1
  225. package/build/utils/request/conversation.js.map +1 -1
  226. package/build/utils/request/messages_data_options.d.ts.map +1 -1
  227. package/build/utils/request/messages_data_options.js +1 -1
  228. package/build/utils/request/messages_data_options.js.map +1 -1
  229. package/build/utils/system_messages.d.ts +7 -5
  230. package/build/utils/system_messages.d.ts.map +1 -1
  231. package/build/utils/system_messages.js +10 -2
  232. package/build/utils/system_messages.js.map +1 -1
  233. package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
  234. package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
  235. package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
  236. package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
  237. package/package.json +3 -3
  238. package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
  239. package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
  240. package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
  241. package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
  242. package/src/__tests__/screens/message_actions_screen.test.tsx +65 -2
  243. package/src/__tests__/screens/send_giphy_screen.test.tsx +102 -0
  244. package/src/__tests__/utils/system_messages.ts +19 -32
  245. package/src/components/conversation/__tests__/message_list.test.tsx +68 -2
  246. package/src/components/conversation/__tests__/system_message.test.tsx +106 -0
  247. package/src/components/conversation/jump_to_bottom_button.tsx +4 -3
  248. package/src/components/conversation/message.tsx +3 -0
  249. package/src/components/conversation/message_form.tsx +3 -1
  250. package/src/components/conversation/message_list.tsx +9 -1
  251. package/src/components/conversation/message_reaction.tsx +7 -2
  252. package/src/components/conversation/messages_disabled_banners.tsx +17 -18
  253. package/src/components/conversation/system_message.tsx +44 -16
  254. package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
  255. package/src/components/conversations/__tests__/conversation_preview.test.tsx +105 -0
  256. package/src/components/conversations/__tests__/conversations.test.tsx +93 -0
  257. package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
  258. package/src/components/conversations/archived_results_footer.tsx +36 -0
  259. package/src/components/conversations/conversation_actions.tsx +27 -19
  260. package/src/components/conversations/conversation_preview.tsx +39 -10
  261. package/src/components/conversations/conversations.tsx +26 -3
  262. package/src/components/conversations/conversations_blank_state.tsx +21 -0
  263. package/src/components/conversations/filtered_results_footer.tsx +38 -0
  264. package/src/components/display/__tests__/filter_dropdown.test.tsx +114 -0
  265. package/src/components/display/__tests__/icon_tile.test.tsx +16 -0
  266. package/src/components/display/action_button.tsx +4 -3
  267. package/src/components/display/filter_dropdown.tsx +124 -0
  268. package/src/components/display/icon_tile.tsx +67 -0
  269. package/src/components/display/index.ts +2 -0
  270. package/src/contexts/api_provider.tsx +8 -0
  271. package/src/contexts/conversations_context.tsx +2 -1
  272. package/src/hooks/__tests__/use_conversation_archive.test.tsx +152 -0
  273. package/src/hooks/__tests__/use_conversation_jolt_events.test.tsx +74 -0
  274. package/src/hooks/__tests__/use_conversation_messages.test.tsx +10 -2
  275. package/src/hooks/__tests__/use_jolt.test.tsx +100 -1
  276. package/src/hooks/__tests__/use_mark_latest_message_read.test.tsx +21 -7
  277. package/src/hooks/__tests__/use_reduce_motion.test.tsx +61 -0
  278. package/src/hooks/__tests__/use_unarchive_conversation_action.test.tsx +67 -0
  279. package/src/hooks/groups/use_group_members_for_new_conversation.ts +21 -16
  280. package/src/hooks/index.ts +3 -0
  281. package/src/hooks/use_animated_message_background_color.ts +6 -3
  282. package/src/hooks/use_api.ts +9 -2
  283. package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
  284. package/src/hooks/use_clear_conversation_filters.ts +16 -0
  285. package/src/hooks/use_conversation.ts +44 -3
  286. package/src/hooks/use_conversation_messages.ts +7 -5
  287. package/src/hooks/use_current_person.ts +1 -0
  288. package/src/hooks/use_jolt.ts +57 -1
  289. package/src/hooks/use_manual_archiving_enabled.ts +10 -0
  290. package/src/hooks/use_mark_latest_message_read.ts +4 -3
  291. package/src/hooks/use_reduce_motion.ts +19 -0
  292. package/src/hooks/use_unarchive_conversation_action.ts +24 -0
  293. package/src/screens/__tests__/conversation_details_screen.test.tsx +305 -0
  294. package/src/screens/attachment_actions/__tests__/attachment_actions_screen.test.tsx +72 -0
  295. package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -1
  296. package/src/screens/conversation_details_screen.tsx +80 -16
  297. package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
  298. package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
  299. package/src/screens/conversation_filters/components/rows.tsx +29 -1
  300. package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
  301. package/src/screens/conversation_filters/filter_types.ts +1 -0
  302. package/src/screens/conversation_filters/screen_props.ts +1 -0
  303. package/src/screens/conversation_filters_screen.tsx +25 -5
  304. package/src/screens/conversation_new/components/groups_form.tsx +1 -0
  305. package/src/screens/conversation_screen.tsx +4 -2
  306. package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
  307. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +259 -0
  308. package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
  309. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +286 -0
  310. package/src/screens/conversations/components/list_header_component.tsx +17 -12
  311. package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
  312. package/src/screens/conversations/conversations_screen.tsx +15 -2
  313. package/src/screens/design_system_screen.tsx +26 -0
  314. package/src/screens/message_actions_screen.tsx +29 -20
  315. package/src/screens/search/__tests__/search_screen.test.tsx +13 -1
  316. package/src/screens/search/search_screen.tsx +8 -2
  317. package/src/screens/send_giphy_screen.tsx +6 -3
  318. package/src/screens/team_conversation_screen.tsx +1 -1
  319. package/src/types/jolt_events/message_events.ts +2 -0
  320. package/src/types/resources/conversation.ts +2 -2
  321. package/src/types/resources/member_ability.ts +2 -0
  322. package/src/types/resources/message.ts +3 -0
  323. package/src/types/resources/person.ts +1 -0
  324. package/src/utils/__tests__/conversation.test.ts +1 -0
  325. package/src/utils/__tests__/date.test.ts +23 -0
  326. package/src/utils/__tests__/group_messages.test.ts +1 -0
  327. package/src/utils/archived_conversation.ts +13 -0
  328. package/src/utils/date.ts +8 -0
  329. package/src/utils/index.ts +1 -0
  330. package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
  331. package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
  332. package/src/utils/native_adapters/__tests__/menu.test.tsx +46 -0
  333. package/src/utils/native_adapters/configuration.ts +5 -0
  334. package/src/utils/native_adapters/index.ts +1 -0
  335. package/src/utils/native_adapters/menu.tsx +70 -0
  336. package/src/utils/request/conversation.ts +4 -0
  337. package/src/utils/request/messages_data_options.ts +1 -0
  338. package/src/utils/system_messages.ts +19 -10
  339. package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"use_animated_message_background_color.js","names":["useCallback","Platform","useSharedValue","useAnimatedStyle","withDelay","withSequence","withTiming","interpolateColor","Easing","ReduceMotion","useTheme","FLASH_IN_MS","FLASH_HOLD_MS","FLASH_OUT_MS","useAnimatedMessageBackgroundColor","colors","pressProgress","flashProgress","tintColor","fillColorNeutral050Base","tintsOnPress","OS","animatedBackgroundColor","pressTint","value","progress","Math","max","backgroundColor","handleMessagePressIn","duration","easing","inOut","ease","handleMessagePressOut","flash","out","reduceMotion","Never","System"],"sources":["../../src/hooks/use_animated_message_background_color.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { Platform } from 'react-native'\nimport {\n useSharedValue,\n useAnimatedStyle,\n withDelay,\n withSequence,\n withTiming,\n interpolateColor,\n Easing,\n ReduceMotion,\n} from 'react-native-reanimated'\nimport { useTheme } from './use_theme'\n\nconst FLASH_IN_MS = 150\nconst FLASH_HOLD_MS = 500\nconst FLASH_OUT_MS = 1500\n\nexport function useAnimatedMessageBackgroundColor() {\n const { colors } = useTheme()\n const pressProgress = useSharedValue(0)\n const flashProgress = useSharedValue(0)\n\n const tintColor = colors.fillColorNeutral050Base\n const tintsOnPress = Platform.OS === 'ios'\n\n const animatedBackgroundColor = useAnimatedStyle(() => {\n const pressTint = tintsOnPress ? pressProgress.value : 0\n const progress = Math.max(pressTint, flashProgress.value)\n const backgroundColor = interpolateColor(progress, [0, 1], ['transparent', tintColor])\n return {\n backgroundColor,\n }\n })\n\n const handleMessagePressIn = () => {\n pressProgress.value = withTiming(1, { duration: 300, easing: Easing.inOut(Easing.ease) })\n }\n\n const handleMessagePressOut = () => {\n pressProgress.value = withTiming(0, { duration: 300, easing: Easing.inOut(Easing.ease) })\n }\n\n const flash = useCallback(() => {\n flashProgress.value = withSequence(\n withTiming(1, {\n duration: FLASH_IN_MS,\n easing: Easing.out(Easing.ease),\n reduceMotion: ReduceMotion.Never,\n }),\n withDelay(\n FLASH_HOLD_MS,\n withTiming(0, {\n duration: FLASH_OUT_MS,\n easing: Easing.out(Easing.ease),\n reduceMotion: ReduceMotion.System,\n }),\n ReduceMotion.Never\n )\n )\n }, [flashProgress])\n\n return {\n animatedBackgroundColor,\n flash,\n handleMessagePressIn,\n handleMessagePressOut,\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,SAAS,EACTC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,QACP,yBAAyB;AAChC,SAASC,QAAQ,QAAQ,aAAa;AAEtC,MAAMC,WAAW,GAAG,GAAG;AACvB,MAAMC,aAAa,GAAG,GAAG;AACzB,MAAMC,YAAY,GAAG,IAAI;AAEzB,OAAO,SAASC,iCAAiCA,CAAA,EAAG;EAClD,MAAM;IAAEC;EAAO,CAAC,GAAGL,QAAQ,CAAC,CAAC;EAC7B,MAAMM,aAAa,GAAGd,cAAc,CAAC,CAAC,CAAC;EACvC,MAAMe,aAAa,GAAGf,cAAc,CAAC,CAAC,CAAC;EAEvC,MAAMgB,SAAS,GAAGH,MAAM,CAACI,uBAAuB;EAChD,MAAMC,YAAY,GAAGnB,QAAQ,CAACoB,EAAE,KAAK,KAAK;EAE1C,MAAMC,uBAAuB,GAAGnB,gBAAgB,CAAC,MAAM;IACrD,MAAMoB,SAAS,GAAGH,YAAY,GAAGJ,aAAa,CAACQ,KAAK,GAAG,CAAC;IACxD,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACJ,SAAS,EAAEN,aAAa,CAACO,KAAK,CAAC;IACzD,MAAMI,eAAe,GAAGrB,gBAAgB,CAACkB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,EAAEP,SAAS,CAAC,CAAC;IACtF,OAAO;MACLU;IACF,CAAC;EACH,CAAC,CAAC;EAEF,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;IACjCb,aAAa,CAACQ,KAAK,GAAGlB,UAAU,CAAC,CAAC,EAAE;MAAEwB,QAAQ,EAAE,GAAG;MAAEC,MAAM,EAAEvB,MAAM,CAACwB,KAAK,CAACxB,MAAM,CAACyB,IAAI;IAAE,CAAC,CAAC;EAC3F,CAAC;EAED,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;IAClClB,aAAa,CAACQ,KAAK,GAAGlB,UAAU,CAAC,CAAC,EAAE;MAAEwB,QAAQ,EAAE,GAAG;MAAEC,MAAM,EAAEvB,MAAM,CAACwB,KAAK,CAACxB,MAAM,CAACyB,IAAI;IAAE,CAAC,CAAC;EAC3F,CAAC;EAED,MAAME,KAAK,GAAGnC,WAAW,CAAC,MAAM;IAC9BiB,aAAa,CAACO,KAAK,GAAGnB,YAAY,CAChCC,UAAU,CAAC,CAAC,EAAE;MACZwB,QAAQ,EAAEnB,WAAW;MACrBoB,MAAM,EAAEvB,MAAM,CAAC4B,GAAG,CAAC5B,MAAM,CAACyB,IAAI,CAAC;MAC/BI,YAAY,EAAE5B,YAAY,CAAC6B;IAC7B,CAAC,CAAC,EACFlC,SAAS,CACPQ,aAAa,EACbN,UAAU,CAAC,CAAC,EAAE;MACZwB,QAAQ,EAAEjB,YAAY;MACtBkB,MAAM,EAAEvB,MAAM,CAAC4B,GAAG,CAAC5B,MAAM,CAACyB,IAAI,CAAC;MAC/BI,YAAY,EAAE5B,YAAY,CAAC8B;IAC7B,CAAC,CAAC,EACF9B,YAAY,CAAC6B,KACf,CACF,CAAC;EACH,CAAC,EAAE,CAACrB,aAAa,CAAC,CAAC;EAEnB,OAAO;IACLK,uBAAuB;IACvBa,KAAK;IACLN,oBAAoB;IACpBK;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"use_animated_message_background_color.js","names":["useCallback","Platform","useSharedValue","useAnimatedStyle","withDelay","withSequence","withTiming","interpolateColor","Easing","ReduceMotion","useReduceMotion","useTheme","FLASH_IN_MS","FLASH_HOLD_MS","FLASH_OUT_MS","useAnimatedMessageBackgroundColor","colors","reduceMotion","pressProgress","flashProgress","tintColor","name","fillColorNeutral040","fillColorNeutral050Base","tintsOnPress","OS","animatedBackgroundColor","pressTint","value","progress","Math","max","backgroundColor","handleMessagePressIn","duration","easing","inOut","ease","handleMessagePressOut","flash","out","Never","Always"],"sources":["../../src/hooks/use_animated_message_background_color.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { Platform } from 'react-native'\nimport {\n useSharedValue,\n useAnimatedStyle,\n withDelay,\n withSequence,\n withTiming,\n interpolateColor,\n Easing,\n ReduceMotion,\n} from 'react-native-reanimated'\nimport { useReduceMotion } from './use_reduce_motion'\nimport { useTheme } from './use_theme'\n\nconst FLASH_IN_MS = 150\nconst FLASH_HOLD_MS = 500\nconst FLASH_OUT_MS = 1500\n\nexport function useAnimatedMessageBackgroundColor() {\n const { colors } = useTheme()\n const reduceMotion = useReduceMotion()\n const pressProgress = useSharedValue(0)\n const flashProgress = useSharedValue(0)\n\n const tintColor =\n colors.name === 'dark' ? colors.fillColorNeutral040 : colors.fillColorNeutral050Base\n const tintsOnPress = Platform.OS === 'ios'\n\n const animatedBackgroundColor = useAnimatedStyle(() => {\n const pressTint = tintsOnPress ? pressProgress.value : 0\n const progress = Math.max(pressTint, flashProgress.value)\n const backgroundColor = interpolateColor(progress, [0, 1], ['transparent', tintColor])\n return {\n backgroundColor,\n }\n })\n\n const handleMessagePressIn = () => {\n pressProgress.value = withTiming(1, { duration: 300, easing: Easing.inOut(Easing.ease) })\n }\n\n const handleMessagePressOut = () => {\n pressProgress.value = withTiming(0, { duration: 300, easing: Easing.inOut(Easing.ease) })\n }\n\n const flash = useCallback(() => {\n flashProgress.value = withSequence(\n withTiming(1, {\n duration: FLASH_IN_MS,\n easing: Easing.out(Easing.ease),\n reduceMotion: ReduceMotion.Never,\n }),\n withDelay(\n FLASH_HOLD_MS,\n withTiming(0, {\n duration: FLASH_OUT_MS,\n easing: Easing.out(Easing.ease),\n reduceMotion: reduceMotion ? ReduceMotion.Always : ReduceMotion.Never,\n }),\n ReduceMotion.Never\n )\n )\n }, [flashProgress, reduceMotion])\n\n return {\n animatedBackgroundColor,\n flash,\n handleMessagePressIn,\n handleMessagePressOut,\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,SAAS,EACTC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,QACP,yBAAyB;AAChC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,QAAQ,QAAQ,aAAa;AAEtC,MAAMC,WAAW,GAAG,GAAG;AACvB,MAAMC,aAAa,GAAG,GAAG;AACzB,MAAMC,YAAY,GAAG,IAAI;AAEzB,OAAO,SAASC,iCAAiCA,CAAA,EAAG;EAClD,MAAM;IAAEC;EAAO,CAAC,GAAGL,QAAQ,CAAC,CAAC;EAC7B,MAAMM,YAAY,GAAGP,eAAe,CAAC,CAAC;EACtC,MAAMQ,aAAa,GAAGhB,cAAc,CAAC,CAAC,CAAC;EACvC,MAAMiB,aAAa,GAAGjB,cAAc,CAAC,CAAC,CAAC;EAEvC,MAAMkB,SAAS,GACbJ,MAAM,CAACK,IAAI,KAAK,MAAM,GAAGL,MAAM,CAACM,mBAAmB,GAAGN,MAAM,CAACO,uBAAuB;EACtF,MAAMC,YAAY,GAAGvB,QAAQ,CAACwB,EAAE,KAAK,KAAK;EAE1C,MAAMC,uBAAuB,GAAGvB,gBAAgB,CAAC,MAAM;IACrD,MAAMwB,SAAS,GAAGH,YAAY,GAAGN,aAAa,CAACU,KAAK,GAAG,CAAC;IACxD,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACJ,SAAS,EAAER,aAAa,CAACS,KAAK,CAAC;IACzD,MAAMI,eAAe,GAAGzB,gBAAgB,CAACsB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,EAAET,SAAS,CAAC,CAAC;IACtF,OAAO;MACLY;IACF,CAAC;EACH,CAAC,CAAC;EAEF,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;IACjCf,aAAa,CAACU,KAAK,GAAGtB,UAAU,CAAC,CAAC,EAAE;MAAE4B,QAAQ,EAAE,GAAG;MAAEC,MAAM,EAAE3B,MAAM,CAAC4B,KAAK,CAAC5B,MAAM,CAAC6B,IAAI;IAAE,CAAC,CAAC;EAC3F,CAAC;EAED,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;IAClCpB,aAAa,CAACU,KAAK,GAAGtB,UAAU,CAAC,CAAC,EAAE;MAAE4B,QAAQ,EAAE,GAAG;MAAEC,MAAM,EAAE3B,MAAM,CAAC4B,KAAK,CAAC5B,MAAM,CAAC6B,IAAI;IAAE,CAAC,CAAC;EAC3F,CAAC;EAED,MAAME,KAAK,GAAGvC,WAAW,CAAC,MAAM;IAC9BmB,aAAa,CAACS,KAAK,GAAGvB,YAAY,CAChCC,UAAU,CAAC,CAAC,EAAE;MACZ4B,QAAQ,EAAEtB,WAAW;MACrBuB,MAAM,EAAE3B,MAAM,CAACgC,GAAG,CAAChC,MAAM,CAAC6B,IAAI,CAAC;MAC/BpB,YAAY,EAAER,YAAY,CAACgC;IAC7B,CAAC,CAAC,EACFrC,SAAS,CACPS,aAAa,EACbP,UAAU,CAAC,CAAC,EAAE;MACZ4B,QAAQ,EAAEpB,YAAY;MACtBqB,MAAM,EAAE3B,MAAM,CAACgC,GAAG,CAAChC,MAAM,CAAC6B,IAAI,CAAC;MAC/BpB,YAAY,EAAEA,YAAY,GAAGR,YAAY,CAACiC,MAAM,GAAGjC,YAAY,CAACgC;IAClE,CAAC,CAAC,EACFhC,YAAY,CAACgC,KACf,CACF,CAAC;EACH,CAAC,EAAE,CAACtB,aAAa,EAAEF,YAAY,CAAC,CAAC;EAEjC,OAAO;IACLS,uBAAuB;IACvBa,KAAK;IACLN,oBAAoB;IACpBK;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { InfiniteData } from '@tanstack/react-query';
1
+ import { InfiniteData, keepPreviousData, Query } from '@tanstack/react-query';
2
2
  import { ApiCollection, ApiResource, ResourceObject } from '../types';
3
3
  import { GetRequest } from '../utils/client';
4
4
  import { ResponseError } from '../utils/response_error';
@@ -10,7 +10,8 @@ export type ApiGetQueryOptions = {
10
10
  staleTime?: number;
11
11
  gcTime?: number;
12
12
  enabled?: boolean;
13
- throwOnError?: boolean | ((error: ResponseError) => boolean);
13
+ throwOnError?: boolean | ((error: ResponseError, query: Query<any, ResponseError>) => boolean);
14
+ placeholderData?: typeof keepPreviousData;
14
15
  };
15
16
  export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(args: ApiGetOptions, opts?: ApiGetQueryOptions) => {
16
17
  error: ResponseError;
@@ -1 +1 @@
1
- {"version":3,"file":"use_api.d.ts","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,MAAM,uBAAuB,CAAA;AAGhF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,UAAU,EAAe,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAsB,MAAM,yBAAyB,CAAA;AAE3E,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAGpD,UAAU,aAAc,SAAQ,UAAU;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EACnE,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,EACtD,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC1B,CAAA"}
1
+ {"version":3,"file":"use_api.d.ts","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,EAGN,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,UAAU,EAAe,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAsB,MAAM,yBAAyB,CAAA;AAE3E,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAGpD,UAAU,aAAc,SAAQ,UAAU;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,OAAO,CAAC,CAAA;IAC9F,eAAe,CAAC,EAAE,OAAO,gBAAgB,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EACnE,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,EACtD,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use_api.js","names":["useInfiniteQuery","useQuery","useContext","ChatContext","throwResponseError","getNextPageParamFromMeta","useApiClient","getRequestQueryKey","useApiGet","args","opts","$","_c","session","apiClient","enabled","token","access_token","t0","t1","t2","queryKey","url","d","headers","t3","app","undefined","get","data","catch","queryFn","query","t4","useApiPaginator","pageParam","pageParmWhere","where","argsWhere","offset","Symbol","for","initialPageParam","getNextPageParam","_temp","t5","pages","flatMap","_temp2","data_0","t6","lastPage","meta","next","page"],"sources":["../../src/hooks/use_api.ts"],"sourcesContent":["import { InfiniteData, useInfiniteQuery, useQuery } from '@tanstack/react-query'\nimport { useContext } from 'react'\nimport { ChatContext } from '../contexts/chat_context'\nimport { ApiCollection, ApiResource, ResourceObject } from '../types'\nimport { GetRequest, RequestData } from '../utils/client'\nimport { ResponseError, throwResponseError } from '../utils/response_error'\nimport { getNextPageParamFromMeta } from './paginator_meta'\nimport { App, useApiClient } from './use_api_client'\nimport { getRequestQueryKey, RequestQueryKey } from './use_suspense_api'\n\ninterface ApiGetOptions extends GetRequest {\n app?: App\n}\n\nexport type ApiGetQueryOptions = {\n staleTime?: number\n gcTime?: number\n enabled?: boolean\n throwOnError?: boolean | ((error: ResponseError) => boolean)\n}\n\nexport const useApiGet = <T extends ResourceObject | ResourceObject[]>(\n args: ApiGetOptions,\n opts?: ApiGetQueryOptions\n) => {\n type Resource = ApiResource<T>\n const { session } = useContext(ChatContext)\n const apiClient = useApiClient()\n\n const enabled = !!session.token?.access_token && (opts?.enabled ?? true)\n\n const { data, ...query } = useQuery<Resource, ResponseError>({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ queryKey }) => {\n const [url, d, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return (apiClient[app].get({ url, data: d, headers }) as Promise<Resource>).catch(\n throwResponseError\n )\n },\n ...opts,\n enabled,\n })\n\n return { ...data, ...query }\n}\n\nexport const useApiPaginator = <T extends ResourceObject>(\n args: ApiGetOptions,\n opts?: ApiGetQueryOptions\n) => {\n const { session } = useContext(ChatContext)\n const apiClient = useApiClient()\n const enabled = !!session.token?.access_token && (opts?.enabled ?? true)\n const query = useInfiniteQuery<\n ApiCollection<T>,\n ResponseError,\n InfiniteData<ApiCollection<T>>,\n any,\n Partial<RequestData> | undefined\n >({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ pageParam }) => {\n const pageParmWhere = pageParam?.where || {}\n const argsWhere = args.data.where || {}\n const where = { ...argsWhere, ...pageParmWhere }\n const app = args.app || 'chat'\n const offset = pageParam?.offset || args.data.offset\n const data = { ...args.data, where, offset }\n\n return apiClient[app].get<ApiCollection<T>>({ url: args.url, data }).catch(throwResponseError)\n },\n initialPageParam: {} as Partial<RequestData>,\n getNextPageParam: lastPage => getNextPageParamFromMeta(lastPage.meta?.next),\n ...(opts || {}),\n enabled,\n })\n\n const data: T[] = query.data?.pages?.flatMap(page => page.data) || []\n\n return { ...query, data }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"use_api.js","names":["useInfiniteQuery","useQuery","useContext","ChatContext","throwResponseError","getNextPageParamFromMeta","useApiClient","getRequestQueryKey","useApiGet","args","opts","$","_c","session","apiClient","enabled","token","access_token","t0","t1","t2","queryKey","url","d","headers","t3","app","undefined","get","data","catch","queryFn","query","t4","useApiPaginator","pageParam","pageParmWhere","where","argsWhere","offset","Symbol","for","initialPageParam","getNextPageParam","_temp","t5","pages","flatMap","_temp2","data_0","t6","lastPage","meta","next","page"],"sources":["../../src/hooks/use_api.ts"],"sourcesContent":["import {\n InfiniteData,\n keepPreviousData,\n Query,\n useInfiniteQuery,\n useQuery,\n} from '@tanstack/react-query'\nimport { useContext } from 'react'\nimport { ChatContext } from '../contexts/chat_context'\nimport { ApiCollection, ApiResource, ResourceObject } from '../types'\nimport { GetRequest, RequestData } from '../utils/client'\nimport { ResponseError, throwResponseError } from '../utils/response_error'\nimport { getNextPageParamFromMeta } from './paginator_meta'\nimport { App, useApiClient } from './use_api_client'\nimport { getRequestQueryKey, RequestQueryKey } from './use_suspense_api'\n\ninterface ApiGetOptions extends GetRequest {\n app?: App\n}\n\nexport type ApiGetQueryOptions = {\n staleTime?: number\n gcTime?: number\n enabled?: boolean\n throwOnError?: boolean | ((error: ResponseError, query: Query<any, ResponseError>) => boolean)\n placeholderData?: typeof keepPreviousData\n}\n\nexport const useApiGet = <T extends ResourceObject | ResourceObject[]>(\n args: ApiGetOptions,\n opts?: ApiGetQueryOptions\n) => {\n type Resource = ApiResource<T>\n const { session } = useContext(ChatContext)\n const apiClient = useApiClient()\n\n const enabled = !!session.token?.access_token && (opts?.enabled ?? true)\n\n const { data, ...query } = useQuery<Resource, ResponseError>({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ queryKey }) => {\n const [url, d, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return (apiClient[app].get({ url, data: d, headers }) as Promise<Resource>).catch(\n throwResponseError\n )\n },\n ...opts,\n enabled,\n })\n\n return { ...data, ...query }\n}\n\nexport const useApiPaginator = <T extends ResourceObject>(\n args: ApiGetOptions,\n opts?: ApiGetQueryOptions\n) => {\n const { session } = useContext(ChatContext)\n const apiClient = useApiClient()\n const enabled = !!session.token?.access_token && (opts?.enabled ?? true)\n const query = useInfiniteQuery<\n ApiCollection<T>,\n ResponseError,\n InfiniteData<ApiCollection<T>>,\n any,\n Partial<RequestData> | undefined\n >({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ pageParam }) => {\n const pageParmWhere = pageParam?.where || {}\n const argsWhere = args.data.where || {}\n const where = { ...argsWhere, ...pageParmWhere }\n const app = args.app || 'chat'\n const offset = pageParam?.offset || args.data.offset\n const data = { ...args.data, where, offset }\n\n return apiClient[app].get<ApiCollection<T>>({ url: args.url, data }).catch(throwResponseError)\n },\n initialPageParam: {} as Partial<RequestData>,\n getNextPageParam: lastPage => getNextPageParamFromMeta(lastPage.meta?.next),\n ...(opts || {}),\n enabled,\n })\n\n const data: T[] = query.data?.pages?.flatMap(page => page.data) || []\n\n return { ...query, data }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const useCanBrowseArchivedConversations: () => boolean;
2
+ //# sourceMappingURL=use_can_browse_archived_conversations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_can_browse_archived_conversations.d.ts","sourceRoot":"","sources":["../../src/hooks/use_can_browse_archived_conversations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iCAAiC,QAAO,OAUpD,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import { FIVE_MINUTES } from '../utils/time';
3
+ import { useApiGet } from './use_api';
4
+ import { currentPersonRequestArgs } from './use_current_person';
5
+ import { useManualArchivingEnabled } from './use_manual_archiving_enabled';
6
+ export const useCanBrowseArchivedConversations = () => {
7
+ const $ = _c(2);
8
+ const manualArchivingEnabled = useManualArchivingEnabled();
9
+ let t0;
10
+ if ($[0] !== manualArchivingEnabled) {
11
+ t0 = {
12
+ enabled: manualArchivingEnabled,
13
+ staleTime: FIVE_MINUTES
14
+ };
15
+ $[0] = manualArchivingEnabled;
16
+ $[1] = t0;
17
+ } else {
18
+ t0 = $[1];
19
+ }
20
+ const {
21
+ data: person,
22
+ isFetched
23
+ } = useApiGet(currentPersonRequestArgs, t0);
24
+ if (!manualArchivingEnabled || !isFetched) {
25
+ return false;
26
+ }
27
+ return person?.canBrowseArchivedConversations ?? false;
28
+ };
29
+ //# sourceMappingURL=use_can_browse_archived_conversations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_can_browse_archived_conversations.js","names":["FIVE_MINUTES","useApiGet","currentPersonRequestArgs","useManualArchivingEnabled","useCanBrowseArchivedConversations","$","_c","manualArchivingEnabled","t0","enabled","staleTime","data","person","isFetched","canBrowseArchivedConversations"],"sources":["../../src/hooks/use_can_browse_archived_conversations.ts"],"sourcesContent":["import { CurrentPersonResource } from '../types'\nimport { FIVE_MINUTES } from '../utils/time'\nimport { useApiGet } from './use_api'\nimport { currentPersonRequestArgs } from './use_current_person'\nimport { useManualArchivingEnabled } from './use_manual_archiving_enabled'\n\nexport const useCanBrowseArchivedConversations = (): boolean => {\n const manualArchivingEnabled = useManualArchivingEnabled()\n const { data: person, isFetched } = useApiGet<CurrentPersonResource>(currentPersonRequestArgs, {\n enabled: manualArchivingEnabled,\n staleTime: FIVE_MINUTES,\n })\n\n if (!manualArchivingEnabled || !isFetched) return false\n\n return person?.canBrowseArchivedConversations ?? false\n}\n"],"mappings":";AACA,SAASA,YAAY,QAAQ,eAAe;AAC5C,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,wBAAwB,QAAQ,sBAAsB;AAC/D,SAASC,yBAAyB,QAAQ,gCAAgC;AAE1E,OAAO,MAAMC,iCAAiC,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAC/C,MAAAC,sBAAA,GAA+BJ,yBAAyB,CAAC,CAAC;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAE,sBAAA;IACqCC,EAAA;MAAAC,OAAA,EACpFF,sBAAsB;MAAAG,SAAA,EACpBV;IACb,CAAC;IAAAK,CAAA,MAAAE,sBAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAHD;IAAAM,IAAA,EAAAC,MAAA;IAAAC;EAAA,IAAoCZ,SAAS,CAAwBC,wBAAwB,EAAEM,EAG9F,CAAC;EAEF,IAAI,CAACD,sBAAoC,IAArC,CAA4BM,SAAS;IAAA,OAAS,KAAK;EAAA;EAAA,OAEhDD,MAAM,EAAAE,8BAAyC,IAA/C,KAA+C;AAAA,CACvD","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare function useClearConversationFilters(): () => void;
2
+ //# sourceMappingURL=use_clear_conversation_filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_clear_conversation_filters.d.ts","sourceRoot":"","sources":["../../src/hooks/use_clear_conversation_filters.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,eAY1C"}
@@ -0,0 +1,25 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import { useNavigation } from '@react-navigation/native';
3
+ import { useCallback } from 'react';
4
+ export function useClearConversationFilters() {
5
+ const $ = _c(2);
6
+ const navigation = useNavigation();
7
+ let t0;
8
+ if ($[0] !== navigation) {
9
+ t0 = () => {
10
+ navigation.setParams({
11
+ title: undefined,
12
+ chat_group_graph_id: undefined,
13
+ group_source_app_name: undefined,
14
+ show_direct_messages: undefined,
15
+ show_archived: undefined
16
+ });
17
+ };
18
+ $[0] = navigation;
19
+ $[1] = t0;
20
+ } else {
21
+ t0 = $[1];
22
+ }
23
+ return t0;
24
+ }
25
+ //# sourceMappingURL=use_clear_conversation_filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_clear_conversation_filters.js","names":["useNavigation","useCallback","useClearConversationFilters","$","_c","navigation","t0","setParams","title","undefined","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived"],"sources":["../../src/hooks/use_clear_conversation_filters.ts"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { useCallback } from 'react'\n\nexport function useClearConversationFilters() {\n const navigation = useNavigation()\n\n return useCallback(() => {\n navigation.setParams({\n title: undefined,\n chat_group_graph_id: undefined,\n group_source_app_name: undefined,\n show_direct_messages: undefined,\n show_archived: undefined,\n })\n }, [navigation])\n}\n"],"mappings":";AAAA,SAASA,aAAa,QAAQ,0BAA0B;AACxD,SAASC,WAAW,QAAQ,OAAO;AAEnC,OAAO,SAAAC,4BAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,UAAA,GAAmBL,aAAa,CAAC,CAAC;EAAA,IAAAM,EAAA;EAAA,IAAAH,CAAA,QAAAE,UAAA;IAEfC,EAAA,GAAAA,CAAA;MACjBD,UAAU,CAAAE,SAAU,CAAC;QAAAC,KAAA,EACZC,SAAS;QAAAC,mBAAA,EACKD,SAAS;QAAAE,qBAAA,EACPF,SAAS;QAAAG,oBAAA,EACVH,SAAS;QAAAI,aAAA,EAChBJ;MACjB,CAAC,CAAC;IAAA,CACH;IAAAN,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,OARMG,EAQS;AAAA","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { ApiResource, ConversationResource } from '../types';
2
+ import { SuspenseGetQueryOptions } from './use_suspense_api';
2
3
  export declare const getConversationRequestArgs: ({ conversation_id }: {
3
4
  conversation_id: number;
4
5
  }) => {
@@ -17,7 +18,7 @@ export declare const getConversationRequestArgs: ({ conversation_id }: {
17
18
  };
18
19
  export declare const useConversation: ({ conversation_id }: {
19
20
  conversation_id: number;
20
- }) => {
21
+ }, options?: SuspenseGetQueryOptions<ConversationResource>) => {
21
22
  error: import("..").FailedResponse | null;
22
23
  status: "success" | "error";
23
24
  isError: boolean;
@@ -125,6 +126,77 @@ export declare const useConversationUpdate: ({ conversation_id }: {
125
126
  export declare const useConversationDelete: ({ conversation_id }: {
126
127
  conversation_id: number;
127
128
  }) => import("@tanstack/react-query").UseMutationResult<any, Error, void, unknown>;
129
+ export declare const useConversationArchive: ({ conversation_id }: {
130
+ conversation_id: number;
131
+ }) => {
132
+ data: undefined;
133
+ variables: undefined;
134
+ error: null;
135
+ isError: false;
136
+ isIdle: true;
137
+ isPending: false;
138
+ isSuccess: false;
139
+ status: "idle";
140
+ reset: () => void;
141
+ context: unknown;
142
+ failureCount: number;
143
+ failureReason: Error | null;
144
+ isPaused: boolean;
145
+ submittedAt: number;
146
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
147
+ setArchived: import("@tanstack/react-query").UseMutateFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
148
+ } | {
149
+ data: undefined;
150
+ variables: boolean;
151
+ error: null;
152
+ isError: false;
153
+ isIdle: false;
154
+ isPending: true;
155
+ isSuccess: false;
156
+ status: "pending";
157
+ reset: () => void;
158
+ context: unknown;
159
+ failureCount: number;
160
+ failureReason: Error | null;
161
+ isPaused: boolean;
162
+ submittedAt: number;
163
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
164
+ setArchived: import("@tanstack/react-query").UseMutateFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
165
+ } | {
166
+ data: undefined;
167
+ error: Error;
168
+ variables: boolean;
169
+ isError: true;
170
+ isIdle: false;
171
+ isPending: false;
172
+ isSuccess: false;
173
+ status: "error";
174
+ reset: () => void;
175
+ context: unknown;
176
+ failureCount: number;
177
+ failureReason: Error | null;
178
+ isPaused: boolean;
179
+ submittedAt: number;
180
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
181
+ setArchived: import("@tanstack/react-query").UseMutateFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
182
+ } | {
183
+ data: import("..").ApiCollection | ApiResource;
184
+ error: null;
185
+ variables: boolean;
186
+ isError: false;
187
+ isIdle: false;
188
+ isPending: false;
189
+ isSuccess: true;
190
+ status: "success";
191
+ reset: () => void;
192
+ context: unknown;
193
+ failureCount: number;
194
+ failureReason: Error | null;
195
+ isPaused: boolean;
196
+ submittedAt: number;
197
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
198
+ setArchived: import("@tanstack/react-query").UseMutateFunction<import("..").ApiCollection | ApiResource, Error, boolean, unknown>;
199
+ };
128
200
  export declare const useConversationDisableReplies: ({ conversation_id }: {
129
201
  conversation_id: number;
130
202
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"use_conversation.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAO5D,eAAO,MAAM,0BAA0B,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;CA6DzF,CAAA;AAEF,eAAO,MAAM,eAAe,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/E,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDnF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,+JA+BrF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,iFAiBrF,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C7F,CAAA"}
1
+ {"version":3,"file":"use_conversation.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAM5D,OAAO,EAAsB,uBAAuB,EAAkB,MAAM,oBAAoB,CAAA;AAEhG,eAAO,MAAM,0BAA0B,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;CA+DzF,CAAA;AAEF,eAAO,MAAM,eAAe,GAC1B,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,EAChD,UAAU,uBAAuB,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDnF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,+JA+BrF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,iFAiBrF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCtF,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,qBAAqB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C7F,CAAA"}
@@ -1,10 +1,12 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
2
  import { useMutation, useQueryClient } from '@tanstack/react-query';
3
3
  import { useState } from 'react';
4
+ import { Alert } from 'react-native';
4
5
  import { transformGetToPost } from '../utils/client/request_helpers';
5
6
  import { Haptic } from '../utils/native_adapters';
6
7
  import { getConversationsRequestArgs } from '../utils/request/conversation';
7
8
  import { useApiClient } from './use_api_client';
9
+ import { useCurrentPersonCache } from './use_current_person';
8
10
  import { getRequestQueryKey, useSuspenseGet } from './use_suspense_api';
9
11
  export const getConversationRequestArgs = ({
10
12
  conversation_id
@@ -14,7 +16,7 @@ export const getConversationRequestArgs = ({
14
16
  fields: {
15
17
  Conversation: ['analytics_metadata', 'created_at', 'badges', 'conversation_membership', 'conversation_preview', 'gender_option', 'groups', 'last_message_author_id', 'last_message_author_name', 'last_message_created_at', 'last_message_text_preview', 'latest_read_message_sort_key', 'preview_avatar_urls', 'custom_avatar_type', 'custom_avatar_key', 'custom_avatar_color', 'custom_avatar_image_url', 'direct_message', 'disabled', 'disabled_reason', 'disabled_message', 'member_ability', 'muted', 'replies_disabled', 'title', 'unread_count', 'unread_reaction', 'updated_at'],
16
18
  AnalyticsMetadata: ['metadata'],
17
- MemberAbility: ['can_update', 'can_delete', 'leader', 'can_reply', 'can_delete_non_authored_messages', 'can_message_available_members'],
19
+ MemberAbility: ['can_update', 'can_delete', 'leader', 'can_reply', 'can_delete_non_authored_messages', 'can_message_available_members', 'can_archive', 'can_unarchive'],
18
20
  ConversationMembership: ['last_read_message_sort_key', 'notification_level', 'notification_level_description', 'notification_level_options', 'muted'],
19
21
  ConversationBadge: ['app_name', 'pco_resource_type', 'text'],
20
22
  Group: ['type', 'id', 'links', 'name', 'source_app_name', 'source_type']
@@ -22,7 +24,7 @@ export const getConversationRequestArgs = ({
22
24
  include: ['badges', 'conversation_membership', 'member_ability', 'groups', 'analytics_metadata']
23
25
  }
24
26
  });
25
- export const useConversation = t0 => {
27
+ export const useConversation = (t0, options) => {
26
28
  const $ = _c(2);
27
29
  const {
28
30
  conversation_id
@@ -38,7 +40,7 @@ export const useConversation = t0 => {
38
40
  t1 = $[1];
39
41
  }
40
42
  const args = t1;
41
- return useSuspenseGet(args);
43
+ return useSuspenseGet(args, options);
42
44
  };
43
45
  export const useConversationMute = t0 => {
44
46
  const $ = _c(25);
@@ -353,6 +355,128 @@ export const useConversationDelete = t0 => {
353
355
  }
354
356
  return useMutation(t5);
355
357
  };
358
+ export const useConversationArchive = t0 => {
359
+ const $ = _c(20);
360
+ const {
361
+ conversation_id
362
+ } = t0;
363
+ const apiClient = useApiClient();
364
+ const queryClient = useQueryClient();
365
+ const currentPersonCache = useCurrentPersonCache();
366
+ let t1;
367
+ if ($[0] !== conversation_id) {
368
+ t1 = getRequestQueryKey(getConversationRequestArgs({
369
+ conversation_id
370
+ }));
371
+ $[0] = conversation_id;
372
+ $[1] = t1;
373
+ } else {
374
+ t1 = $[1];
375
+ }
376
+ const conversationQueryKey = t1;
377
+ let t2;
378
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
379
+ t2 = getConversationsRequestArgs();
380
+ $[2] = t2;
381
+ } else {
382
+ t2 = $[2];
383
+ }
384
+ const {
385
+ url
386
+ } = t2;
387
+ let t3;
388
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
389
+ t3 = ["archiveConversation"];
390
+ $[3] = t3;
391
+ } else {
392
+ t3 = $[3];
393
+ }
394
+ let t4;
395
+ if ($[4] !== apiClient || $[5] !== conversation_id) {
396
+ t4 = async archived => {
397
+ const action = archived ? "archive" : "unarchive";
398
+ return apiClient.chat.post({
399
+ url: `/me/conversations/${conversation_id}/${action}`,
400
+ data: {
401
+ data: {
402
+ type: "Conversation",
403
+ attributes: {}
404
+ }
405
+ }
406
+ });
407
+ };
408
+ $[4] = apiClient;
409
+ $[5] = conversation_id;
410
+ $[6] = t4;
411
+ } else {
412
+ t4 = $[6];
413
+ }
414
+ let t5;
415
+ if ($[7] !== conversationQueryKey || $[8] !== currentPersonCache || $[9] !== queryClient) {
416
+ t5 = (_response, archived_0) => {
417
+ Haptic.notificationSuccess();
418
+ if (archived_0) {
419
+ currentPersonCache.update({
420
+ canBrowseArchivedConversations: true
421
+ });
422
+ }
423
+ queryClient.invalidateQueries({
424
+ queryKey: [url]
425
+ });
426
+ return queryClient.invalidateQueries({
427
+ queryKey: conversationQueryKey
428
+ });
429
+ };
430
+ $[7] = conversationQueryKey;
431
+ $[8] = currentPersonCache;
432
+ $[9] = queryClient;
433
+ $[10] = t5;
434
+ } else {
435
+ t5 = $[10];
436
+ }
437
+ let t6;
438
+ if ($[11] !== t4 || $[12] !== t5) {
439
+ t6 = {
440
+ mutationKey: t3,
441
+ mutationFn: t4,
442
+ onSuccess: t5,
443
+ onError: _temp
444
+ };
445
+ $[11] = t4;
446
+ $[12] = t5;
447
+ $[13] = t6;
448
+ } else {
449
+ t6 = $[13];
450
+ }
451
+ const t7 = useMutation(t6);
452
+ let mutation;
453
+ let setArchived;
454
+ if ($[14] !== t7) {
455
+ ({
456
+ mutate: setArchived,
457
+ ...mutation
458
+ } = t7);
459
+ $[14] = t7;
460
+ $[15] = mutation;
461
+ $[16] = setArchived;
462
+ } else {
463
+ mutation = $[15];
464
+ setArchived = $[16];
465
+ }
466
+ let t8;
467
+ if ($[17] !== mutation || $[18] !== setArchived) {
468
+ t8 = {
469
+ setArchived,
470
+ ...mutation
471
+ };
472
+ $[17] = mutation;
473
+ $[18] = setArchived;
474
+ $[19] = t8;
475
+ } else {
476
+ t8 = $[19];
477
+ }
478
+ return t8;
479
+ };
356
480
  export const useConversationDisableReplies = t0 => {
357
481
  const $ = _c(25);
358
482
  const {
@@ -492,4 +616,7 @@ export const useConversationDisableReplies = t0 => {
492
616
  }
493
617
  return t9;
494
618
  };
619
+ function _temp(_error, archived_1) {
620
+ Alert.alert("Oops", `Couldn't ${archived_1 ? "archive" : "unarchive"} this conversation. Please try again.`);
621
+ }
495
622
  //# sourceMappingURL=use_conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use_conversation.js","names":["useMutation","useQueryClient","useState","transformGetToPost","Haptic","getConversationsRequestArgs","useApiClient","getRequestQueryKey","useSuspenseGet","getConversationRequestArgs","conversation_id","url","data","fields","Conversation","AnalyticsMetadata","MemberAbility","ConversationMembership","ConversationBadge","Group","include","useConversation","t0","$","_c","t1","args","useConversationMute","apiClient","queryClient","requestArgs","queryKey","t2","conversation","value","setValue","muted","t3","setQueryData","prev","conversationMembership","t4","Symbol","for","t5","muted_0","action","chat","post","type","attributes","t6","response","invalidateQueries","prev_0","t7","onMutate","mutationKey","mutationFn","onSuccess","t8","mutation","setMuted","mutate","t9","useConversationUpdate","update","update_0","postArgs","patch","useConversationDelete","delete","notificationSuccess","useConversationDisableReplies","repliesDisabled","repliesDisabled_0","replies_disabled","setRepliesDisabled"],"sources":["../../src/hooks/use_conversation.ts"],"sourcesContent":["import { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { useState } from 'react'\nimport { ApiResource, ConversationResource } from '../types'\nimport { transformGetToPost } from '../utils/client/request_helpers'\nimport { Haptic } from '../utils/native_adapters'\nimport { getConversationsRequestArgs } from '../utils/request/conversation'\nimport { useApiClient } from './use_api_client'\nimport { getRequestQueryKey, useSuspenseGet } from './use_suspense_api'\n\nexport const getConversationRequestArgs = ({ conversation_id }: { conversation_id: number }) => ({\n url: `/me/conversations/${conversation_id}`,\n data: {\n fields: {\n Conversation: [\n 'analytics_metadata',\n 'created_at',\n 'badges',\n 'conversation_membership',\n 'conversation_preview',\n 'gender_option',\n 'groups',\n 'last_message_author_id',\n 'last_message_author_name',\n 'last_message_created_at',\n 'last_message_text_preview',\n 'latest_read_message_sort_key',\n 'preview_avatar_urls',\n 'custom_avatar_type',\n 'custom_avatar_key',\n 'custom_avatar_color',\n 'custom_avatar_image_url',\n 'direct_message',\n 'disabled',\n 'disabled_reason',\n 'disabled_message',\n 'member_ability',\n 'muted',\n 'replies_disabled',\n 'title',\n 'unread_count',\n 'unread_reaction',\n 'updated_at',\n ],\n AnalyticsMetadata: ['metadata'],\n MemberAbility: [\n 'can_update',\n 'can_delete',\n 'leader',\n 'can_reply',\n 'can_delete_non_authored_messages',\n 'can_message_available_members',\n ],\n ConversationMembership: [\n 'last_read_message_sort_key',\n 'notification_level',\n 'notification_level_description',\n 'notification_level_options',\n 'muted',\n ],\n ConversationBadge: ['app_name', 'pco_resource_type', 'text'],\n Group: ['type', 'id', 'links', 'name', 'source_app_name', 'source_type'],\n },\n include: [\n 'badges',\n 'conversation_membership',\n 'member_ability',\n 'groups',\n 'analytics_metadata',\n ],\n },\n})\n\nexport const useConversation = ({ conversation_id }: { conversation_id: number }) => {\n const args = getConversationRequestArgs({ conversation_id })\n\n return useSuspenseGet<ConversationResource>(args)\n}\n\nexport const useConversationMute = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const requestArgs = getConversationRequestArgs({ conversation_id })\n const queryKey = getRequestQueryKey(requestArgs)\n const { data: conversation } = useConversation({ conversation_id })\n const [value, setValue] = useState<boolean>(conversation.muted)\n\n const { mutate: setMuted, ...mutation } = useMutation({\n onMutate: async (muted: boolean) => {\n return queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n setValue(muted)\n prev.data.muted = muted\n if (prev.data.conversationMembership) {\n prev.data.conversationMembership.muted = muted\n }\n\n return prev\n })\n },\n mutationKey: ['muteConversation'],\n mutationFn: async (muted: boolean) => {\n const action = muted ? 'mute' : 'unmute'\n\n return apiClient.chat.post<ApiResource<ConversationResource>>({\n url: `/me/conversations/${conversation_id}/${action}`,\n data: { data: { type: '', attributes: {} }, fields: { Conversation: 'muted' } },\n })\n },\n onSuccess: (response: ApiResource<ConversationResource>) => {\n queryClient.invalidateQueries({ queryKey: ['/me/conversations'] })\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n\n // Posting to the mute action endpoint can't return all the fields\n // so we need to set only the fields we require\n prev.data.muted = response.data.muted\n if (prev.data.conversationMembership) {\n prev.data.conversationMembership.muted = response.data.muted\n }\n setValue(response.data.muted)\n\n return prev\n })\n },\n })\n\n return { muted: value, setMuted, ...mutation }\n}\n\nexport const useConversationUpdate = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const requestArgs = getConversationRequestArgs({ conversation_id })\n const queryKey = getRequestQueryKey(requestArgs)\n\n return useMutation({\n onMutate: async (update: Partial<ConversationResource>) => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (prev?.data) {\n prev.data = {\n ...prev.data,\n ...update,\n }\n }\n\n return prev\n })\n },\n mutationKey: ['mutateConversation'],\n mutationFn: async (update: Partial<ConversationResource>) => {\n const postArgs = transformGetToPost(requestArgs).data\n return apiClient.chat.patch<ApiResource<ConversationResource>>({\n url: `/me/conversations/${conversation_id}/`,\n data: { data: { type: '', attributes: update }, ...postArgs },\n })\n },\n onSuccess: response => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, () => response)\n },\n })\n}\n\nexport const useConversationDelete = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const { url } = getConversationsRequestArgs()\n\n return useMutation({\n mutationKey: ['deleteConversation'],\n mutationFn: async () => {\n return apiClient.chat.delete({\n url: `/me/conversations/${conversation_id}`,\n })\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [url] })\n Haptic.notificationSuccess()\n },\n })\n}\n\nexport const useConversationDisableReplies = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const requestArgs = getConversationRequestArgs({ conversation_id })\n const queryKey = getRequestQueryKey(requestArgs)\n const { data: conversation } = useConversation({ conversation_id })\n const [value, setValue] = useState<boolean>(conversation.repliesDisabled)\n\n const { mutate: setRepliesDisabled, ...mutation } = useMutation({\n onMutate: async (repliesDisabled: boolean) => {\n return queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n setValue(repliesDisabled)\n prev.data.repliesDisabled = repliesDisabled\n\n return prev\n })\n },\n mutationKey: ['disableRepliesConversation'],\n mutationFn: async (repliesDisabled: boolean) => {\n return apiClient.chat.patch<ApiResource<ConversationResource>>({\n url: `/me/conversations/${conversation_id}`,\n data: {\n data: {\n type: 'Conversation',\n attributes: {\n replies_disabled: repliesDisabled,\n },\n },\n },\n })\n },\n onSuccess: (response: ApiResource<ConversationResource>) => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n\n prev.data.repliesDisabled = response.data.repliesDisabled\n setValue(response.data.repliesDisabled)\n\n return prev\n })\n },\n })\n\n return { repliesDisabled: value, setRepliesDisabled, ...mutation }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"use_conversation.js","names":["useMutation","useQueryClient","useState","Alert","transformGetToPost","Haptic","getConversationsRequestArgs","useApiClient","useCurrentPersonCache","getRequestQueryKey","useSuspenseGet","getConversationRequestArgs","conversation_id","url","data","fields","Conversation","AnalyticsMetadata","MemberAbility","ConversationMembership","ConversationBadge","Group","include","useConversation","t0","options","$","_c","t1","args","useConversationMute","apiClient","queryClient","requestArgs","queryKey","t2","conversation","value","setValue","muted","t3","setQueryData","prev","conversationMembership","t4","Symbol","for","t5","muted_0","action","chat","post","type","attributes","t6","response","invalidateQueries","prev_0","t7","onMutate","mutationKey","mutationFn","onSuccess","t8","mutation","setMuted","mutate","t9","useConversationUpdate","update","update_0","postArgs","patch","useConversationDelete","delete","notificationSuccess","useConversationArchive","currentPersonCache","conversationQueryKey","archived","_response","archived_0","canBrowseArchivedConversations","onError","_temp","setArchived","useConversationDisableReplies","repliesDisabled","repliesDisabled_0","replies_disabled","setRepliesDisabled","_error","archived_1","alert"],"sources":["../../src/hooks/use_conversation.ts"],"sourcesContent":["import { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { useState } from 'react'\nimport { Alert } from 'react-native'\nimport { ApiResource, ConversationResource } from '../types'\nimport { transformGetToPost } from '../utils/client/request_helpers'\nimport { Haptic } from '../utils/native_adapters'\nimport { getConversationsRequestArgs } from '../utils/request/conversation'\nimport { useApiClient } from './use_api_client'\nimport { useCurrentPersonCache } from './use_current_person'\nimport { getRequestQueryKey, SuspenseGetQueryOptions, useSuspenseGet } from './use_suspense_api'\n\nexport const getConversationRequestArgs = ({ conversation_id }: { conversation_id: number }) => ({\n url: `/me/conversations/${conversation_id}`,\n data: {\n fields: {\n Conversation: [\n 'analytics_metadata',\n 'created_at',\n 'badges',\n 'conversation_membership',\n 'conversation_preview',\n 'gender_option',\n 'groups',\n 'last_message_author_id',\n 'last_message_author_name',\n 'last_message_created_at',\n 'last_message_text_preview',\n 'latest_read_message_sort_key',\n 'preview_avatar_urls',\n 'custom_avatar_type',\n 'custom_avatar_key',\n 'custom_avatar_color',\n 'custom_avatar_image_url',\n 'direct_message',\n 'disabled',\n 'disabled_reason',\n 'disabled_message',\n 'member_ability',\n 'muted',\n 'replies_disabled',\n 'title',\n 'unread_count',\n 'unread_reaction',\n 'updated_at',\n ],\n AnalyticsMetadata: ['metadata'],\n MemberAbility: [\n 'can_update',\n 'can_delete',\n 'leader',\n 'can_reply',\n 'can_delete_non_authored_messages',\n 'can_message_available_members',\n 'can_archive',\n 'can_unarchive',\n ],\n ConversationMembership: [\n 'last_read_message_sort_key',\n 'notification_level',\n 'notification_level_description',\n 'notification_level_options',\n 'muted',\n ],\n ConversationBadge: ['app_name', 'pco_resource_type', 'text'],\n Group: ['type', 'id', 'links', 'name', 'source_app_name', 'source_type'],\n },\n include: [\n 'badges',\n 'conversation_membership',\n 'member_ability',\n 'groups',\n 'analytics_metadata',\n ],\n },\n})\n\nexport const useConversation = (\n { conversation_id }: { conversation_id: number },\n options?: SuspenseGetQueryOptions<ConversationResource>\n) => {\n const args = getConversationRequestArgs({ conversation_id })\n\n return useSuspenseGet<ConversationResource>(args, options)\n}\n\nexport const useConversationMute = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const requestArgs = getConversationRequestArgs({ conversation_id })\n const queryKey = getRequestQueryKey(requestArgs)\n const { data: conversation } = useConversation({ conversation_id })\n const [value, setValue] = useState<boolean>(conversation.muted)\n\n const { mutate: setMuted, ...mutation } = useMutation({\n onMutate: async (muted: boolean) => {\n return queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n setValue(muted)\n prev.data.muted = muted\n if (prev.data.conversationMembership) {\n prev.data.conversationMembership.muted = muted\n }\n\n return prev\n })\n },\n mutationKey: ['muteConversation'],\n mutationFn: async (muted: boolean) => {\n const action = muted ? 'mute' : 'unmute'\n\n return apiClient.chat.post<ApiResource<ConversationResource>>({\n url: `/me/conversations/${conversation_id}/${action}`,\n data: { data: { type: '', attributes: {} }, fields: { Conversation: 'muted' } },\n })\n },\n onSuccess: (response: ApiResource<ConversationResource>) => {\n queryClient.invalidateQueries({ queryKey: ['/me/conversations'] })\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n\n // Posting to the mute action endpoint can't return all the fields\n // so we need to set only the fields we require\n prev.data.muted = response.data.muted\n if (prev.data.conversationMembership) {\n prev.data.conversationMembership.muted = response.data.muted\n }\n setValue(response.data.muted)\n\n return prev\n })\n },\n })\n\n return { muted: value, setMuted, ...mutation }\n}\n\nexport const useConversationUpdate = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const requestArgs = getConversationRequestArgs({ conversation_id })\n const queryKey = getRequestQueryKey(requestArgs)\n\n return useMutation({\n onMutate: async (update: Partial<ConversationResource>) => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (prev?.data) {\n prev.data = {\n ...prev.data,\n ...update,\n }\n }\n\n return prev\n })\n },\n mutationKey: ['mutateConversation'],\n mutationFn: async (update: Partial<ConversationResource>) => {\n const postArgs = transformGetToPost(requestArgs).data\n return apiClient.chat.patch<ApiResource<ConversationResource>>({\n url: `/me/conversations/${conversation_id}/`,\n data: { data: { type: '', attributes: update }, ...postArgs },\n })\n },\n onSuccess: response => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, () => response)\n },\n })\n}\n\nexport const useConversationDelete = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const { url } = getConversationsRequestArgs()\n\n return useMutation({\n mutationKey: ['deleteConversation'],\n mutationFn: async () => {\n return apiClient.chat.delete({\n url: `/me/conversations/${conversation_id}`,\n })\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [url] })\n Haptic.notificationSuccess()\n },\n })\n}\n\nexport const useConversationArchive = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const currentPersonCache = useCurrentPersonCache()\n const conversationQueryKey = getRequestQueryKey(getConversationRequestArgs({ conversation_id }))\n const { url } = getConversationsRequestArgs()\n\n const { mutate: setArchived, ...mutation } = useMutation({\n mutationKey: ['archiveConversation'],\n mutationFn: async (archived: boolean) => {\n const action = archived ? 'archive' : 'unarchive'\n\n return apiClient.chat.post({\n url: `/me/conversations/${conversation_id}/${action}`,\n data: { data: { type: 'Conversation', attributes: {} } },\n })\n },\n onSuccess: (_response, archived) => {\n Haptic.notificationSuccess()\n if (archived) currentPersonCache.update({ canBrowseArchivedConversations: true })\n queryClient.invalidateQueries({ queryKey: [url] })\n return queryClient.invalidateQueries({ queryKey: conversationQueryKey })\n },\n onError: (_error, archived) => {\n Alert.alert(\n 'Oops',\n `Couldn't ${archived ? 'archive' : 'unarchive'} this conversation. Please try again.`\n )\n },\n })\n\n return { setArchived, ...mutation }\n}\n\nexport const useConversationDisableReplies = ({ conversation_id }: { conversation_id: number }) => {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const requestArgs = getConversationRequestArgs({ conversation_id })\n const queryKey = getRequestQueryKey(requestArgs)\n const { data: conversation } = useConversation({ conversation_id })\n const [value, setValue] = useState<boolean>(conversation.repliesDisabled)\n\n const { mutate: setRepliesDisabled, ...mutation } = useMutation({\n onMutate: async (repliesDisabled: boolean) => {\n return queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n setValue(repliesDisabled)\n prev.data.repliesDisabled = repliesDisabled\n\n return prev\n })\n },\n mutationKey: ['disableRepliesConversation'],\n mutationFn: async (repliesDisabled: boolean) => {\n return apiClient.chat.patch<ApiResource<ConversationResource>>({\n url: `/me/conversations/${conversation_id}`,\n data: {\n data: {\n type: 'Conversation',\n attributes: {\n replies_disabled: repliesDisabled,\n },\n },\n },\n })\n },\n onSuccess: (response: ApiResource<ConversationResource>) => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n\n prev.data.repliesDisabled = response.data.repliesDisabled\n setValue(response.data.repliesDisabled)\n\n return prev\n })\n },\n })\n\n return { repliesDisabled: value, setRepliesDisabled, ...mutation }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"use_conversation_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_messages.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAazD,OAAO,EAAE,wBAAwB,EAAwB,MAAM,oBAAoB,CAAA;AAEnF,KAAK,aAAa,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAC/E,KAAK,OAAO,GAAG,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAEzD,eAAO,MAAM,uBAAuB,GAClC,4CAA4C,OAAO,EACnD,OAAO,wBAAwB;;;;;;;;;;CA0EhC,CAAA;AAiBD,eAAO,MAAM,0BAA0B,GAAI,SAAS,aAAa,SAIhE,CAAA"}
1
+ {"version":3,"file":"use_conversation_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_messages.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAazD,OAAO,EAAE,wBAAwB,EAAwB,MAAM,oBAAoB,CAAA;AAEnF,KAAK,aAAa,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAC/E,KAAK,OAAO,GAAG,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAEzD,eAAO,MAAM,uBAAuB,GAClC,4CAA4C,OAAO,EACnD,OAAO,wBAAwB;;;;;;;;;;CA0EhC,CAAA;AAmBD,eAAO,MAAM,0BAA0B,GAAI,SAAS,aAAa,SAIhE,CAAA"}