@planningcenter/chat-react-native 4.4.1-qa-staging.16 → 4.4.1-qa-staging.18
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.
- package/build/components/conversations/archived_results_footer.d.ts +6 -0
- package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
- package/build/components/conversations/archived_results_footer.js +51 -0
- package/build/components/conversations/archived_results_footer.js.map +1 -0
- package/build/components/conversations/conversation_actions.d.ts.map +1 -1
- package/build/components/conversations/conversation_actions.js +241 -206
- package/build/components/conversations/conversation_actions.js.map +1 -1
- package/build/components/conversations/conversation_preview.d.ts.map +1 -1
- package/build/components/conversations/conversation_preview.js +99 -93
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +65 -40
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
- package/build/components/conversations/conversations_blank_state.js +55 -12
- package/build/components/conversations/conversations_blank_state.js.map +1 -1
- package/build/components/conversations/filtered_results_footer.d.ts +2 -0
- package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
- package/build/components/conversations/filtered_results_footer.js +77 -0
- package/build/components/conversations/filtered_results_footer.js.map +1 -0
- package/build/components/display/filter_dropdown.d.ts +2 -1
- package/build/components/display/filter_dropdown.d.ts.map +1 -1
- package/build/components/display/filter_dropdown.js +63 -58
- package/build/components/display/filter_dropdown.js.map +1 -1
- package/build/components/display/icon_tile.d.ts +12 -0
- package/build/components/display/icon_tile.d.ts.map +1 -0
- package/build/components/display/icon_tile.js +109 -0
- package/build/components/display/icon_tile.js.map +1 -0
- package/build/components/display/index.d.ts +1 -0
- package/build/components/display/index.d.ts.map +1 -1
- package/build/components/display/index.js +1 -0
- package/build/components/display/index.js.map +1 -1
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +21 -18
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/hooks/index.d.ts +2 -0
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
- package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
- package/build/hooks/use_can_browse_archived_conversations.js +29 -0
- package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
- package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
- package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
- package/build/hooks/use_clear_conversation_filters.js +25 -0
- package/build/hooks/use_clear_conversation_filters.js.map +1 -0
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +32 -24
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_current_person.d.ts.map +1 -1
- package/build/hooks/use_current_person.js +1 -1
- package/build/hooks/use_current_person.js.map +1 -1
- package/build/hooks/use_jolt.d.ts.map +1 -1
- package/build/hooks/use_jolt.js +29 -8
- package/build/hooks/use_jolt.js.map +1 -1
- package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
- package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
- package/build/hooks/use_manual_archiving_enabled.js +18 -0
- package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
- package/build/hooks/use_reduce_motion.d.ts.map +1 -1
- package/build/hooks/use_reduce_motion.js +2 -1
- package/build/hooks/use_reduce_motion.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +2 -1
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +9 -0
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +92 -1
- package/build/screens/conversation_filters/components/rows.js.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
- package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
- package/build/screens/conversation_filters/filter_types.d.ts +1 -0
- package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
- package/build/screens/conversation_filters/filter_types.js +1 -0
- package/build/screens/conversation_filters/filter_types.js.map +1 -1
- package/build/screens/conversation_filters/screen_props.d.ts +1 -0
- package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
- package/build/screens/conversation_filters/screen_props.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts +1 -0
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +79 -48
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js +587 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +95 -90
- package/build/screens/conversations/components/list_header_component.js.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.js +100 -95
- package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts +1 -0
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +15 -2
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/types/resources/person.d.ts +1 -0
- package/build/types/resources/person.d.ts.map +1 -1
- package/build/types/resources/person.js.map +1 -1
- package/build/utils/date.d.ts.map +1 -1
- package/build/utils/date.js +5 -10
- package/build/utils/date.js.map +1 -1
- package/build/utils/native_adapters/menu.d.ts +1 -0
- package/build/utils/native_adapters/menu.d.ts.map +1 -1
- package/build/utils/native_adapters/menu.js +1 -0
- package/build/utils/native_adapters/menu.js.map +1 -1
- package/build/utils/request/conversation.d.ts +2 -1
- package/build/utils/request/conversation.d.ts.map +1 -1
- package/build/utils/request/conversation.js +4 -1
- package/build/utils/request/conversation.js.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
- package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
- package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
- package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
- package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
- package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
- package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
- package/src/components/conversations/__tests__/conversation_preview.test.tsx +38 -3
- package/src/components/conversations/__tests__/conversations.test.tsx +82 -0
- package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
- package/src/components/conversations/archived_results_footer.tsx +36 -0
- package/src/components/conversations/conversation_actions.tsx +27 -19
- package/src/components/conversations/conversation_preview.tsx +30 -10
- package/src/components/conversations/conversations.tsx +25 -2
- package/src/components/conversations/conversations_blank_state.tsx +21 -0
- package/src/components/conversations/filtered_results_footer.tsx +38 -0
- package/src/components/display/__tests__/filter_dropdown.test.tsx +9 -1
- package/src/components/display/filter_dropdown.tsx +14 -13
- package/src/components/display/icon_tile.tsx +54 -0
- package/src/components/display/index.ts +1 -0
- package/src/contexts/conversations_context.tsx +2 -1
- package/src/hooks/__tests__/use_conversation_archive.test.tsx +22 -0
- package/src/hooks/__tests__/use_jolt.test.tsx +30 -8
- package/src/hooks/__tests__/use_reduce_motion.test.tsx +13 -1
- package/src/hooks/index.ts +2 -0
- package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
- package/src/hooks/use_clear_conversation_filters.ts +16 -0
- package/src/hooks/use_conversation.ts +4 -1
- package/src/hooks/use_current_person.ts +1 -0
- package/src/hooks/use_jolt.ts +33 -8
- package/src/hooks/use_manual_archiving_enabled.ts +10 -0
- package/src/hooks/use_reduce_motion.ts +2 -1
- package/src/screens/conversation_details_screen.tsx +2 -3
- package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
- package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
- package/src/screens/conversation_filters/components/rows.tsx +29 -1
- package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
- package/src/screens/conversation_filters/filter_types.ts +1 -0
- package/src/screens/conversation_filters/screen_props.ts +1 -0
- package/src/screens/conversation_filters_screen.tsx +25 -5
- package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
- package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +248 -0
- package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
- package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +284 -0
- package/src/screens/conversations/components/list_header_component.tsx +17 -12
- package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
- package/src/screens/conversations/conversations_screen.tsx +15 -2
- package/src/types/resources/person.ts +1 -0
- package/src/utils/__tests__/conversation.test.ts +1 -0
- package/src/utils/__tests__/date.test.ts +4 -0
- package/src/utils/date.ts +5 -4
- package/src/utils/native_adapters/__tests__/menu.test.tsx +6 -2
- package/src/utils/native_adapters/menu.tsx +2 -0
- package/src/utils/request/conversation.ts +4 -0
- package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
|
@@ -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 @@
|
|
|
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 +1 @@
|
|
|
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;
|
|
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"}
|
|
@@ -6,6 +6,7 @@ import { transformGetToPost } from '../utils/client/request_helpers';
|
|
|
6
6
|
import { Haptic } from '../utils/native_adapters';
|
|
7
7
|
import { getConversationsRequestArgs } from '../utils/request/conversation';
|
|
8
8
|
import { useApiClient } from './use_api_client';
|
|
9
|
+
import { useCurrentPersonCache } from './use_current_person';
|
|
9
10
|
import { getRequestQueryKey, useSuspenseGet } from './use_suspense_api';
|
|
10
11
|
export const getConversationRequestArgs = ({
|
|
11
12
|
conversation_id
|
|
@@ -355,12 +356,13 @@ export const useConversationDelete = t0 => {
|
|
|
355
356
|
return useMutation(t5);
|
|
356
357
|
};
|
|
357
358
|
export const useConversationArchive = t0 => {
|
|
358
|
-
const $ = _c(
|
|
359
|
+
const $ = _c(20);
|
|
359
360
|
const {
|
|
360
361
|
conversation_id
|
|
361
362
|
} = t0;
|
|
362
363
|
const apiClient = useApiClient();
|
|
363
364
|
const queryClient = useQueryClient();
|
|
365
|
+
const currentPersonCache = useCurrentPersonCache();
|
|
364
366
|
let t1;
|
|
365
367
|
if ($[0] !== conversation_id) {
|
|
366
368
|
t1 = getRequestQueryKey(getConversationRequestArgs({
|
|
@@ -410,9 +412,14 @@ export const useConversationArchive = t0 => {
|
|
|
410
412
|
t4 = $[6];
|
|
411
413
|
}
|
|
412
414
|
let t5;
|
|
413
|
-
if ($[7] !== conversationQueryKey || $[8] !== queryClient) {
|
|
414
|
-
t5 = () => {
|
|
415
|
+
if ($[7] !== conversationQueryKey || $[8] !== currentPersonCache || $[9] !== queryClient) {
|
|
416
|
+
t5 = (_response, archived_0) => {
|
|
415
417
|
Haptic.notificationSuccess();
|
|
418
|
+
if (archived_0) {
|
|
419
|
+
currentPersonCache.update({
|
|
420
|
+
canBrowseArchivedConversations: true
|
|
421
|
+
});
|
|
422
|
+
}
|
|
416
423
|
queryClient.invalidateQueries({
|
|
417
424
|
queryKey: [url]
|
|
418
425
|
});
|
|
@@ -421,51 +428,52 @@ export const useConversationArchive = t0 => {
|
|
|
421
428
|
});
|
|
422
429
|
};
|
|
423
430
|
$[7] = conversationQueryKey;
|
|
424
|
-
$[8] =
|
|
425
|
-
$[9] =
|
|
431
|
+
$[8] = currentPersonCache;
|
|
432
|
+
$[9] = queryClient;
|
|
433
|
+
$[10] = t5;
|
|
426
434
|
} else {
|
|
427
|
-
t5 = $[
|
|
435
|
+
t5 = $[10];
|
|
428
436
|
}
|
|
429
437
|
let t6;
|
|
430
|
-
if ($[
|
|
438
|
+
if ($[11] !== t4 || $[12] !== t5) {
|
|
431
439
|
t6 = {
|
|
432
440
|
mutationKey: t3,
|
|
433
441
|
mutationFn: t4,
|
|
434
442
|
onSuccess: t5,
|
|
435
443
|
onError: _temp
|
|
436
444
|
};
|
|
437
|
-
$[
|
|
438
|
-
$[
|
|
439
|
-
$[
|
|
445
|
+
$[11] = t4;
|
|
446
|
+
$[12] = t5;
|
|
447
|
+
$[13] = t6;
|
|
440
448
|
} else {
|
|
441
|
-
t6 = $[
|
|
449
|
+
t6 = $[13];
|
|
442
450
|
}
|
|
443
451
|
const t7 = useMutation(t6);
|
|
444
452
|
let mutation;
|
|
445
453
|
let setArchived;
|
|
446
|
-
if ($[
|
|
454
|
+
if ($[14] !== t7) {
|
|
447
455
|
({
|
|
448
456
|
mutate: setArchived,
|
|
449
457
|
...mutation
|
|
450
458
|
} = t7);
|
|
451
|
-
$[
|
|
452
|
-
$[
|
|
453
|
-
$[
|
|
459
|
+
$[14] = t7;
|
|
460
|
+
$[15] = mutation;
|
|
461
|
+
$[16] = setArchived;
|
|
454
462
|
} else {
|
|
455
|
-
mutation = $[
|
|
456
|
-
setArchived = $[
|
|
463
|
+
mutation = $[15];
|
|
464
|
+
setArchived = $[16];
|
|
457
465
|
}
|
|
458
466
|
let t8;
|
|
459
|
-
if ($[
|
|
467
|
+
if ($[17] !== mutation || $[18] !== setArchived) {
|
|
460
468
|
t8 = {
|
|
461
469
|
setArchived,
|
|
462
470
|
...mutation
|
|
463
471
|
};
|
|
464
|
-
$[
|
|
465
|
-
$[
|
|
466
|
-
$[
|
|
472
|
+
$[17] = mutation;
|
|
473
|
+
$[18] = setArchived;
|
|
474
|
+
$[19] = t8;
|
|
467
475
|
} else {
|
|
468
|
-
t8 = $[
|
|
476
|
+
t8 = $[19];
|
|
469
477
|
}
|
|
470
478
|
return t8;
|
|
471
479
|
};
|
|
@@ -608,7 +616,7 @@ export const useConversationDisableReplies = t0 => {
|
|
|
608
616
|
}
|
|
609
617
|
return t9;
|
|
610
618
|
};
|
|
611
|
-
function _temp(_error,
|
|
612
|
-
Alert.alert("Oops", `Couldn't ${
|
|
619
|
+
function _temp(_error, archived_1) {
|
|
620
|
+
Alert.alert("Oops", `Couldn't ${archived_1 ? "archive" : "unarchive"} this conversation. Please try again.`);
|
|
613
621
|
}
|
|
614
622
|
//# sourceMappingURL=use_conversation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversation.js","names":["useMutation","useQueryClient","useState","Alert","transformGetToPost","Haptic","getConversationsRequestArgs","useApiClient","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","conversationQueryKey","archived","onError","_temp","setArchived","useConversationDisableReplies","repliesDisabled","repliesDisabled_0","replies_disabled","setRepliesDisabled","_error","archived_0","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 { 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 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: () => {\n Haptic.notificationSuccess()\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
|
+
{"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_current_person.d.ts","sourceRoot":"","sources":["../../src/hooks/use_current_person.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAKhD,eAAO,MAAM,wBAAwB;;;;;;;
|
|
1
|
+
{"version":3,"file":"use_current_person.d.ts","sourceRoot":"","sources":["../../src/hooks/use_current_person.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAKhD,eAAO,MAAM,wBAAwB;;;;;;;CAmBpC,CAAA;AAED,eAAO,MAAM,qBAAqB,8CAA+C,CAAA;AAEjF,eAAO,MAAM,gBAAgB,6BAO5B,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAE5D,eAAO,MAAM,qBAAqB;qBAGtB,OAAO,CAAC,qBAAqB,CAAC,kBACvB,aAAa,CAAC,qBAAqB,CAAC;;CActD,CAAA"}
|
|
@@ -6,7 +6,7 @@ export const currentPersonRequestArgs = {
|
|
|
6
6
|
url: '/me',
|
|
7
7
|
data: {
|
|
8
8
|
fields: {
|
|
9
|
-
Person: ['id', 'name', 'avatar', 'can_chat', 'unread_count', 'pco_chat_enabled', 'age_qualification_status', 'direct_messages_disabled', 'direct_messages_eligible', 'under_18']
|
|
9
|
+
Person: ['id', 'name', 'avatar', 'can_chat', 'unread_count', 'pco_chat_enabled', 'age_qualification_status', 'direct_messages_disabled', 'direct_messages_eligible', 'can_browse_archived_conversations', 'under_18']
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_current_person.js","names":["useQueryClient","FIVE_MINUTES","THIRTY_MINUTES","getRequestQueryKey","useSuspenseGet","currentPersonRequestArgs","url","data","fields","Person","currentPersonQueryKey","useCurrentPerson","$","_c","t0","Symbol","for","staleTime","gcTime","person","useCurrentPersonCache","queryClient","handleUpdate","update","processRecord","r","u","setQueryData","handleInvalidate","invalidateQueries","queryKey","invalidate"],"sources":["../../src/hooks/use_current_person.ts"],"sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { CurrentPersonResource } from '../types'\nimport { ApiResource } from '../types/api_primitives'\nimport { FIVE_MINUTES, THIRTY_MINUTES } from '../utils/time'\nimport { getRequestQueryKey, useSuspenseGet } from './use_suspense_api'\n\nexport const currentPersonRequestArgs = {\n url: '/me',\n data: {\n fields: {\n Person: [\n 'id',\n 'name',\n 'avatar',\n 'can_chat',\n 'unread_count',\n 'pco_chat_enabled',\n 'age_qualification_status',\n 'direct_messages_disabled',\n 'direct_messages_eligible',\n 'under_18',\n ],\n },\n },\n}\n\nexport const currentPersonQueryKey = getRequestQueryKey(currentPersonRequestArgs)\n\nexport const useCurrentPerson = () => {\n const { data: person } = useSuspenseGet<CurrentPersonResource>(currentPersonRequestArgs, {\n staleTime: FIVE_MINUTES,\n gcTime: THIRTY_MINUTES,\n })\n\n return person\n}\n\ntype ProcessRecord<T> = (record: T, update: Partial<T>) => T\n\nexport const useCurrentPersonCache = () => {\n const queryClient = useQueryClient()\n const handleUpdate = (\n update: Partial<CurrentPersonResource>,\n processRecord: ProcessRecord<CurrentPersonResource> = (r, u) => ({ ...r, ...u })\n ) => {\n queryClient.setQueryData<ApiResource<CurrentPersonResource>>(currentPersonQueryKey, data => {\n if (!data) return data\n\n return { ...data, data: processRecord(data.data, update) }\n })\n }\n\n const handleInvalidate = () => {\n queryClient.invalidateQueries({ queryKey: currentPersonQueryKey })\n }\n\n return { update: handleUpdate, invalidate: handleInvalidate }\n}\n"],"mappings":";AAAA,SAASA,cAAc,QAAQ,uBAAuB;AAGtD,SAASC,YAAY,EAAEC,cAAc,QAAQ,eAAe;AAC5D,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,oBAAoB;AAEvE,OAAO,MAAMC,wBAAwB,GAAG;EACtCC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE;IACJC,MAAM,EAAE;MACNC,MAAM,EAAE,CACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,UAAU;IAEd;EACF;AACF,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGP,kBAAkB,CAACE,wBAAwB,CAAC;AAEjF,OAAO,MAAMM,gBAAgB,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAF,CAAA,QAAAG,MAAA,CAAAC,GAAA;IAC2DF,EAAA;MAAAG,SAAA,EAC5EhB,YAAY;MAAAiB,MAAA,EACfhB;IACV,CAAC;IAAAU,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAHD;IAAAL,IAAA,EAAAY;EAAA,IAAyBf,cAAc,CAAwBC,wBAAwB,EAAES,EAGxF,CAAC;EAAA,OAEKK,MAAM;AAAA,CACd;AAID,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACzC,MAAMC,WAAW,GAAGrB,cAAc,CAAC,CAAC;EACpC,MAAMsB,YAAY,GAAGA,CACnBC,MAAsC,EACtCC,aAAmD,GAAGA,CAACC,CAAC,EAAEC,CAAC,MAAM;IAAE,GAAGD,CAAC;IAAE,GAAGC;EAAE,CAAC,CAAC,KAC7E;IACHL,WAAW,CAACM,YAAY,CAAqCjB,qBAAqB,EAAEH,IAAI,IAAI;MAC1F,IAAI,CAACA,IAAI,EAAE,OAAOA,IAAI;MAEtB,OAAO;QAAE,GAAGA,IAAI;QAAEA,IAAI,EAAEiB,aAAa,CAACjB,IAAI,CAACA,IAAI,EAAEgB,MAAM;MAAE,CAAC;IAC5D,CAAC,CAAC;EACJ,CAAC;EAED,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;IAC7BP,WAAW,CAACQ,iBAAiB,CAAC;MAAEC,QAAQ,EAAEpB;IAAsB,CAAC,CAAC;EACpE,CAAC;EAED,OAAO;IAAEa,MAAM,EAAED,YAAY;IAAES,UAAU,EAAEH;EAAiB,CAAC;AAC/D,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"use_current_person.js","names":["useQueryClient","FIVE_MINUTES","THIRTY_MINUTES","getRequestQueryKey","useSuspenseGet","currentPersonRequestArgs","url","data","fields","Person","currentPersonQueryKey","useCurrentPerson","$","_c","t0","Symbol","for","staleTime","gcTime","person","useCurrentPersonCache","queryClient","handleUpdate","update","processRecord","r","u","setQueryData","handleInvalidate","invalidateQueries","queryKey","invalidate"],"sources":["../../src/hooks/use_current_person.ts"],"sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { CurrentPersonResource } from '../types'\nimport { ApiResource } from '../types/api_primitives'\nimport { FIVE_MINUTES, THIRTY_MINUTES } from '../utils/time'\nimport { getRequestQueryKey, useSuspenseGet } from './use_suspense_api'\n\nexport const currentPersonRequestArgs = {\n url: '/me',\n data: {\n fields: {\n Person: [\n 'id',\n 'name',\n 'avatar',\n 'can_chat',\n 'unread_count',\n 'pco_chat_enabled',\n 'age_qualification_status',\n 'direct_messages_disabled',\n 'direct_messages_eligible',\n 'can_browse_archived_conversations',\n 'under_18',\n ],\n },\n },\n}\n\nexport const currentPersonQueryKey = getRequestQueryKey(currentPersonRequestArgs)\n\nexport const useCurrentPerson = () => {\n const { data: person } = useSuspenseGet<CurrentPersonResource>(currentPersonRequestArgs, {\n staleTime: FIVE_MINUTES,\n gcTime: THIRTY_MINUTES,\n })\n\n return person\n}\n\ntype ProcessRecord<T> = (record: T, update: Partial<T>) => T\n\nexport const useCurrentPersonCache = () => {\n const queryClient = useQueryClient()\n const handleUpdate = (\n update: Partial<CurrentPersonResource>,\n processRecord: ProcessRecord<CurrentPersonResource> = (r, u) => ({ ...r, ...u })\n ) => {\n queryClient.setQueryData<ApiResource<CurrentPersonResource>>(currentPersonQueryKey, data => {\n if (!data) return data\n\n return { ...data, data: processRecord(data.data, update) }\n })\n }\n\n const handleInvalidate = () => {\n queryClient.invalidateQueries({ queryKey: currentPersonQueryKey })\n }\n\n return { update: handleUpdate, invalidate: handleInvalidate }\n}\n"],"mappings":";AAAA,SAASA,cAAc,QAAQ,uBAAuB;AAGtD,SAASC,YAAY,EAAEC,cAAc,QAAQ,eAAe;AAC5D,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,oBAAoB;AAEvE,OAAO,MAAMC,wBAAwB,GAAG;EACtCC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE;IACJC,MAAM,EAAE;MACNC,MAAM,EAAE,CACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,mCAAmC,EACnC,UAAU;IAEd;EACF;AACF,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGP,kBAAkB,CAACE,wBAAwB,CAAC;AAEjF,OAAO,MAAMM,gBAAgB,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAF,CAAA,QAAAG,MAAA,CAAAC,GAAA;IAC2DF,EAAA;MAAAG,SAAA,EAC5EhB,YAAY;MAAAiB,MAAA,EACfhB;IACV,CAAC;IAAAU,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAHD;IAAAL,IAAA,EAAAY;EAAA,IAAyBf,cAAc,CAAwBC,wBAAwB,EAAES,EAGxF,CAAC;EAAA,OAEKK,MAAM;AAAA,CACd;AAID,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACzC,MAAMC,WAAW,GAAGrB,cAAc,CAAC,CAAC;EACpC,MAAMsB,YAAY,GAAGA,CACnBC,MAAsC,EACtCC,aAAmD,GAAGA,CAACC,CAAC,EAAEC,CAAC,MAAM;IAAE,GAAGD,CAAC;IAAE,GAAGC;EAAE,CAAC,CAAC,KAC7E;IACHL,WAAW,CAACM,YAAY,CAAqCjB,qBAAqB,EAAEH,IAAI,IAAI;MAC1F,IAAI,CAACA,IAAI,EAAE,OAAOA,IAAI;MAEtB,OAAO;QAAE,GAAGA,IAAI;QAAEA,IAAI,EAAEiB,aAAa,CAACjB,IAAI,CAACA,IAAI,EAAEgB,MAAM;MAAE,CAAC;IAC5D,CAAC,CAAC;EACJ,CAAC;EAED,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;IAC7BP,WAAW,CAACQ,iBAAiB,CAAC;MAAEC,QAAQ,EAAEpB;IAAsB,CAAC,CAAC;EACpE,CAAC;EAED,OAAO;IAAEa,MAAM,EAAED,YAAY;IAAES,UAAU,EAAEH;EAAiB,CAAC;AAC/D,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_jolt.d.ts","sourceRoot":"","sources":["../../src/hooks/use_jolt.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,6BAA6B,CAAA;AACpD,OAAO,EACL,aAAa,EAEd,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EAEL,gBAAgB,EACjB,MAAM,yDAAyD,CAAA;AAMhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAWnE,eAAO,MAAM,aAAa,QAAO,UAAU,GAAG,SAqG7C,CAAA;
|
|
1
|
+
{"version":3,"file":"use_jolt.d.ts","sourceRoot":"","sources":["../../src/hooks/use_jolt.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,6BAA6B,CAAA;AACpD,OAAO,EACL,aAAa,EAEd,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EAEL,gBAAgB,EACjB,MAAM,yDAAyD,CAAA;AAMhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAWnE,eAAO,MAAM,aAAa,QAAO,UAAU,GAAG,SAqG7C,CAAA;AA+CD,eAAO,MAAM,qBAAqB,YAQjC,CAAA;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAc,GACtB,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAoCrC;AAED,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;AAE5C,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAClD,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,EAC5C,SAAS,EAAE,uBAAuB,EAClC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,QAO5B"}
|
package/build/hooks/use_jolt.js
CHANGED
|
@@ -193,6 +193,33 @@ const pingSubscribedJoltClients = queryClient => {
|
|
|
193
193
|
} catch {}
|
|
194
194
|
});
|
|
195
195
|
};
|
|
196
|
+
const foregroundPingListeners = new Map();
|
|
197
|
+
const subscribeToForegroundPing = queryClient => {
|
|
198
|
+
const existing = foregroundPingListeners.get(queryClient);
|
|
199
|
+
if (existing) {
|
|
200
|
+
existing.mounts += 1;
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
let previousState = AppState.currentState;
|
|
204
|
+
const subscription = AppState.addEventListener('change', nextState => {
|
|
205
|
+
if (nextState === 'active' && previousState !== 'active') {
|
|
206
|
+
pingSubscribedJoltClients(queryClient);
|
|
207
|
+
}
|
|
208
|
+
previousState = nextState;
|
|
209
|
+
});
|
|
210
|
+
foregroundPingListeners.set(queryClient, {
|
|
211
|
+
mounts: 1,
|
|
212
|
+
remove: () => subscription.remove()
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
const unsubscribeFromForegroundPing = queryClient => {
|
|
216
|
+
const existing = foregroundPingListeners.get(queryClient);
|
|
217
|
+
if (!existing) return;
|
|
218
|
+
existing.mounts -= 1;
|
|
219
|
+
if (existing.mounts > 0) return;
|
|
220
|
+
existing.remove();
|
|
221
|
+
foregroundPingListeners.delete(queryClient);
|
|
222
|
+
};
|
|
196
223
|
export const useJoltForegroundPing = () => {
|
|
197
224
|
const $ = _c(3);
|
|
198
225
|
const queryClient = useQueryClient();
|
|
@@ -200,14 +227,8 @@ export const useJoltForegroundPing = () => {
|
|
|
200
227
|
let t1;
|
|
201
228
|
if ($[0] !== queryClient) {
|
|
202
229
|
t0 = () => {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
if (nextState === "active" && previousState !== "active") {
|
|
206
|
-
pingSubscribedJoltClients(queryClient);
|
|
207
|
-
}
|
|
208
|
-
previousState = nextState;
|
|
209
|
-
});
|
|
210
|
-
return () => subscription.remove();
|
|
230
|
+
subscribeToForegroundPing(queryClient);
|
|
231
|
+
return () => unsubscribeFromForegroundPing(queryClient);
|
|
211
232
|
};
|
|
212
233
|
t1 = [queryClient];
|
|
213
234
|
$[0] = queryClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_jolt.js","names":["JoltClient","useQuery","useQueryClient","useSuspenseQuery","useCallback","useEffect","useMemo","AppState","useChatContext","Client","Uri","throwResponseError","FIVE_SECONDS","useJoltClient","$","_c","session","sessionAccessToken","token","access_token","queryClient","t0","uri","t1","root","api","defaultHeaders","headers","version","apiClient","t2","fetchQuery","queryKey","queryFn","post","url","data","type","attributes","catch","staleTime","fetchJoltToken","t3","Symbol","for","t4","then","_temp","Infinity","gcTime","refetchOnWindowFocus","wssUrl","t5","_temp2","fetchAuthTokenFn","t6","channel","connectionId","cid","_temp3","_temp4","fetchSubscribeToken","t7","channel_0","connectionId_0","options","fetchSubscribeTokenFn","t8","Boolean","t9","t10","logToConsole","t11","enabled","joltClient","pingSubscribedJoltClients","getQueryCache","findAll","forEach","query","state","subscriptions","length","ping","useJoltForegroundPing","previousState","currentState","subscription","addEventListener","nextState","remove","useJoltChannel","channelName","undefined","jolt","ready","alreadySubscribed","find","c","subscribe","handleSubscribe","removeQueries","exact","unsubscribe","handleUnsubscribe","useJoltEvent","eventName","callback","_temp5","bind","e","res","res_0","id","res_1","res_2","console","error"],"sources":["../../src/hooks/use_jolt.ts"],"sourcesContent":["import JoltClient from '@planningcenter/jolt-client'\nimport {\n CustomMessage,\n FetchAuthToken,\n} from '@planningcenter/jolt-client/dist/types/JoltConnection'\nimport {\n FetchSubscribeToken,\n JoltSubscription,\n} from '@planningcenter/jolt-client/dist/types/JoltSubscription'\nimport { QueryClient, useQuery, useQueryClient, useSuspenseQuery } from '@tanstack/react-query'\nimport { useCallback, useEffect, useMemo } from 'react'\nimport { AppState, AppStateStatus } from 'react-native'\nimport { useChatContext } from '../contexts/chat_context'\nimport { ApiResource } from '../types'\nimport type { JoltSubscriptionPattern } from '../types/jolt_events'\nimport { Client, Uri } from '../utils'\nimport { throwResponseError } from '../utils/response_error'\nimport { FIVE_SECONDS } from '../utils/time'\n\ninterface JoltResponse {\n type: 'JoltToken'\n id: string\n wssUrl: string\n}\n\nexport const useJoltClient = (): JoltClient | undefined => {\n const { session } = useChatContext()\n const sessionAccessToken = session.token?.access_token\n const queryClient = useQueryClient()\n const uri = useMemo(() => new Uri({ session }), [session])\n const apiClient = useMemo(\n () =>\n new Client({\n root: uri.api(`/chat/v2`),\n defaultHeaders: uri.headers,\n version: '2018-11-01',\n }),\n [uri]\n )\n\n const fetchJoltToken = async () => {\n return queryClient.fetchQuery({\n queryKey: ['jolt-token'],\n queryFn: () => {\n return apiClient\n .post<ApiResource<JoltResponse>>({\n url: '/me/jolt_authorize',\n data: {\n data: {\n type: 'JoltToken',\n attributes: {},\n },\n },\n })\n .catch(throwResponseError)\n },\n staleTime: FIVE_SECONDS,\n })\n }\n\n /** The wssUrl is static and doesn't change so we can cache it to infinity and beyond */\n const { data: wssUrl } = useSuspenseQuery<string>({\n queryKey: ['wss-url'],\n queryFn: () => fetchJoltToken().then(res => res.data.wssUrl),\n staleTime: Infinity,\n gcTime: Infinity,\n refetchOnWindowFocus: false,\n })\n\n const fetchAuthTokenFn: FetchAuthToken = () => {\n return queryClient.fetchQuery({\n queryKey: ['jolt-auth-token'],\n queryFn: () => fetchJoltToken().then(res => res.data.id),\n })\n }\n\n const fetchSubscribeToken: FetchSubscribeToken = (channel: string, connectionId: string) => {\n return apiClient\n .post<ApiResource<JoltResponse>>({\n url: '/me/jolt_subscribe',\n data: {\n data: {\n type: 'JoltSubscribeToken',\n attributes: { channel, cid: connectionId },\n },\n },\n })\n .then(res => res.data.id)\n .catch((res: unknown) => {\n console.error('failed to subscribe to Jolt channel', res)\n return ''\n })\n }\n\n const fetchSubscribeTokenFn: FetchSubscribeToken = (\n channel: string,\n connectionId: string,\n options\n ) => {\n return queryClient.fetchQuery({\n queryKey: ['jolt-subscribe-token', channel, connectionId],\n queryFn: () => fetchSubscribeToken(channel, connectionId, options),\n })\n }\n\n const { data: joltClient } = useQuery({\n enabled: Boolean(wssUrl),\n queryKey: ['jolt-client', wssUrl, sessionAccessToken],\n queryFn: async () => {\n if (!wssUrl) return undefined\n\n return new JoltClient(\n wssUrl,\n {\n fetchAuthTokenFn,\n fetchSubscribeTokenFn,\n },\n { logToConsole: false }\n )\n },\n refetchOnWindowFocus: false,\n staleTime: Infinity,\n gcTime: Infinity,\n })\n\n return joltClient\n}\n\nconst pingSubscribedJoltClients = (queryClient: QueryClient) => {\n queryClient\n .getQueryCache()\n .findAll({ queryKey: ['jolt-client'] })\n .forEach(query => {\n const joltClient = query.state.data as JoltClient | undefined\n if (!joltClient || joltClient.subscriptions.length === 0) return\n\n try {\n joltClient.ping()\n } catch {}\n })\n}\n\nexport const useJoltForegroundPing = () => {\n const queryClient = useQueryClient()\n\n useEffect(() => {\n let previousState: AppStateStatus = AppState.currentState\n const subscription = AppState.addEventListener('change', nextState => {\n if (nextState === 'active' && previousState !== 'active') {\n pingSubscribedJoltClients(queryClient)\n }\n previousState = nextState\n })\n\n return () => subscription.remove()\n }, [queryClient])\n}\n\nexport function useJoltChannel(\n channelName: string,\n enabled: boolean = true\n): JoltSubscription | undefined | null {\n const jolt = useJoltClient()\n const queryClient = useQueryClient()\n const ready = Boolean(jolt) && enabled\n\n const handleSubscribe = useCallback(async () => {\n if (!jolt) return null\n\n // If the subscription already exists, we don't need to subscribe again\n const alreadySubscribed = jolt.subscriptions.find(c => c.channel === channelName)\n if (alreadySubscribed) return alreadySubscribed\n\n return jolt.subscribe(channelName)\n }, [channelName, jolt])\n\n const { data: subscription } = useQuery<JoltSubscription | null>({\n queryKey: ['jolt-subscription', channelName],\n queryFn: handleSubscribe,\n refetchOnWindowFocus: false,\n enabled: ready,\n })\n\n const handleUnsubscribe = useCallback(() => {\n queryClient.removeQueries({\n queryKey: ['jolt-subscription', channelName],\n exact: true,\n })\n\n jolt?.unsubscribe(channelName)\n }, [queryClient, channelName, jolt])\n\n useEffect(() => {\n return handleUnsubscribe\n }, [handleUnsubscribe])\n\n return subscription\n}\n\ntype UserCallbackFn<T> = (_event: T) => void\n\nexport function useJoltEvent<T extends CustomMessage>(\n channel: JoltSubscription | undefined | null,\n eventName: JoltSubscriptionPattern,\n callback: UserCallbackFn<T>\n) {\n useEffect(() => {\n if (!channel) return () => {}\n\n return channel.bind(eventName, e => callback(e as T))\n }, [channel, eventName, callback])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"use_jolt.js","names":["JoltClient","useQuery","useQueryClient","useSuspenseQuery","useCallback","useEffect","useMemo","AppState","useChatContext","Client","Uri","throwResponseError","FIVE_SECONDS","useJoltClient","$","_c","session","sessionAccessToken","token","access_token","queryClient","t0","uri","t1","root","api","defaultHeaders","headers","version","apiClient","t2","fetchQuery","queryKey","queryFn","post","url","data","type","attributes","catch","staleTime","fetchJoltToken","t3","Symbol","for","t4","then","_temp","Infinity","gcTime","refetchOnWindowFocus","wssUrl","t5","_temp2","fetchAuthTokenFn","t6","channel","connectionId","cid","_temp3","_temp4","fetchSubscribeToken","t7","channel_0","connectionId_0","options","fetchSubscribeTokenFn","t8","Boolean","t9","t10","logToConsole","t11","enabled","joltClient","pingSubscribedJoltClients","getQueryCache","findAll","forEach","query","state","subscriptions","length","ping","foregroundPingListeners","Map","subscribeToForegroundPing","existing","get","mounts","previousState","currentState","subscription","addEventListener","nextState","set","remove","unsubscribeFromForegroundPing","delete","useJoltForegroundPing","useJoltChannel","channelName","undefined","jolt","ready","alreadySubscribed","find","c","subscribe","handleSubscribe","removeQueries","exact","unsubscribe","handleUnsubscribe","useJoltEvent","eventName","callback","_temp5","bind","e","res","res_0","id","res_1","res_2","console","error"],"sources":["../../src/hooks/use_jolt.ts"],"sourcesContent":["import JoltClient from '@planningcenter/jolt-client'\nimport {\n CustomMessage,\n FetchAuthToken,\n} from '@planningcenter/jolt-client/dist/types/JoltConnection'\nimport {\n FetchSubscribeToken,\n JoltSubscription,\n} from '@planningcenter/jolt-client/dist/types/JoltSubscription'\nimport { QueryClient, useQuery, useQueryClient, useSuspenseQuery } from '@tanstack/react-query'\nimport { useCallback, useEffect, useMemo } from 'react'\nimport { AppState, AppStateStatus } from 'react-native'\nimport { useChatContext } from '../contexts/chat_context'\nimport { ApiResource } from '../types'\nimport type { JoltSubscriptionPattern } from '../types/jolt_events'\nimport { Client, Uri } from '../utils'\nimport { throwResponseError } from '../utils/response_error'\nimport { FIVE_SECONDS } from '../utils/time'\n\ninterface JoltResponse {\n type: 'JoltToken'\n id: string\n wssUrl: string\n}\n\nexport const useJoltClient = (): JoltClient | undefined => {\n const { session } = useChatContext()\n const sessionAccessToken = session.token?.access_token\n const queryClient = useQueryClient()\n const uri = useMemo(() => new Uri({ session }), [session])\n const apiClient = useMemo(\n () =>\n new Client({\n root: uri.api(`/chat/v2`),\n defaultHeaders: uri.headers,\n version: '2018-11-01',\n }),\n [uri]\n )\n\n const fetchJoltToken = async () => {\n return queryClient.fetchQuery({\n queryKey: ['jolt-token'],\n queryFn: () => {\n return apiClient\n .post<ApiResource<JoltResponse>>({\n url: '/me/jolt_authorize',\n data: {\n data: {\n type: 'JoltToken',\n attributes: {},\n },\n },\n })\n .catch(throwResponseError)\n },\n staleTime: FIVE_SECONDS,\n })\n }\n\n /** The wssUrl is static and doesn't change so we can cache it to infinity and beyond */\n const { data: wssUrl } = useSuspenseQuery<string>({\n queryKey: ['wss-url'],\n queryFn: () => fetchJoltToken().then(res => res.data.wssUrl),\n staleTime: Infinity,\n gcTime: Infinity,\n refetchOnWindowFocus: false,\n })\n\n const fetchAuthTokenFn: FetchAuthToken = () => {\n return queryClient.fetchQuery({\n queryKey: ['jolt-auth-token'],\n queryFn: () => fetchJoltToken().then(res => res.data.id),\n })\n }\n\n const fetchSubscribeToken: FetchSubscribeToken = (channel: string, connectionId: string) => {\n return apiClient\n .post<ApiResource<JoltResponse>>({\n url: '/me/jolt_subscribe',\n data: {\n data: {\n type: 'JoltSubscribeToken',\n attributes: { channel, cid: connectionId },\n },\n },\n })\n .then(res => res.data.id)\n .catch((res: unknown) => {\n console.error('failed to subscribe to Jolt channel', res)\n return ''\n })\n }\n\n const fetchSubscribeTokenFn: FetchSubscribeToken = (\n channel: string,\n connectionId: string,\n options\n ) => {\n return queryClient.fetchQuery({\n queryKey: ['jolt-subscribe-token', channel, connectionId],\n queryFn: () => fetchSubscribeToken(channel, connectionId, options),\n })\n }\n\n const { data: joltClient } = useQuery({\n enabled: Boolean(wssUrl),\n queryKey: ['jolt-client', wssUrl, sessionAccessToken],\n queryFn: async () => {\n if (!wssUrl) return undefined\n\n return new JoltClient(\n wssUrl,\n {\n fetchAuthTokenFn,\n fetchSubscribeTokenFn,\n },\n { logToConsole: false }\n )\n },\n refetchOnWindowFocus: false,\n staleTime: Infinity,\n gcTime: Infinity,\n })\n\n return joltClient\n}\n\nconst pingSubscribedJoltClients = (queryClient: QueryClient) => {\n queryClient\n .getQueryCache()\n .findAll({ queryKey: ['jolt-client'] })\n .forEach(query => {\n const joltClient = query.state.data as JoltClient | undefined\n if (!joltClient || joltClient.subscriptions.length === 0) return\n\n try {\n joltClient.ping()\n } catch {}\n })\n}\n\nconst foregroundPingListeners = new Map<QueryClient, { mounts: number; remove: () => void }>()\n\nconst subscribeToForegroundPing = (queryClient: QueryClient) => {\n const existing = foregroundPingListeners.get(queryClient)\n if (existing) {\n existing.mounts += 1\n return\n }\n\n let previousState: AppStateStatus = AppState.currentState\n const subscription = AppState.addEventListener('change', nextState => {\n if (nextState === 'active' && previousState !== 'active') {\n pingSubscribedJoltClients(queryClient)\n }\n previousState = nextState\n })\n\n foregroundPingListeners.set(queryClient, { mounts: 1, remove: () => subscription.remove() })\n}\n\nconst unsubscribeFromForegroundPing = (queryClient: QueryClient) => {\n const existing = foregroundPingListeners.get(queryClient)\n if (!existing) return\n\n existing.mounts -= 1\n if (existing.mounts > 0) return\n\n existing.remove()\n foregroundPingListeners.delete(queryClient)\n}\n\nexport const useJoltForegroundPing = () => {\n const queryClient = useQueryClient()\n\n useEffect(() => {\n subscribeToForegroundPing(queryClient)\n\n return () => unsubscribeFromForegroundPing(queryClient)\n }, [queryClient])\n}\n\nexport function useJoltChannel(\n channelName: string,\n enabled: boolean = true\n): JoltSubscription | undefined | null {\n const jolt = useJoltClient()\n const queryClient = useQueryClient()\n const ready = Boolean(jolt) && enabled\n\n const handleSubscribe = useCallback(async () => {\n if (!jolt) return null\n\n // If the subscription already exists, we don't need to subscribe again\n const alreadySubscribed = jolt.subscriptions.find(c => c.channel === channelName)\n if (alreadySubscribed) return alreadySubscribed\n\n return jolt.subscribe(channelName)\n }, [channelName, jolt])\n\n const { data: subscription } = useQuery<JoltSubscription | null>({\n queryKey: ['jolt-subscription', channelName],\n queryFn: handleSubscribe,\n refetchOnWindowFocus: false,\n enabled: ready,\n })\n\n const handleUnsubscribe = useCallback(() => {\n queryClient.removeQueries({\n queryKey: ['jolt-subscription', channelName],\n exact: true,\n })\n\n jolt?.unsubscribe(channelName)\n }, [queryClient, channelName, jolt])\n\n useEffect(() => {\n return handleUnsubscribe\n }, [handleUnsubscribe])\n\n return subscription\n}\n\ntype UserCallbackFn<T> = (_event: T) => void\n\nexport function useJoltEvent<T extends CustomMessage>(\n channel: JoltSubscription | undefined | null,\n eventName: JoltSubscriptionPattern,\n callback: UserCallbackFn<T>\n) {\n useEffect(() => {\n if (!channel) return () => {}\n\n return channel.bind(eventName, e => callback(e as T))\n }, [channel, eventName, callback])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_manual_archiving_enabled.d.ts","sourceRoot":"","sources":["../../src/hooks/use_manual_archiving_enabled.ts"],"names":[],"mappings":"AAEA,wBAAgB,yBAAyB,YAOxC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import { availableFeatures, useFeatures } from './use_features';
|
|
3
|
+
export function useManualArchivingEnabled() {
|
|
4
|
+
const $ = _c(2);
|
|
5
|
+
const {
|
|
6
|
+
featureEnabled
|
|
7
|
+
} = useFeatures();
|
|
8
|
+
let t0;
|
|
9
|
+
if ($[0] !== featureEnabled) {
|
|
10
|
+
t0 = featureEnabled(availableFeatures.manual_archiving) || featureEnabled(availableFeatures.manual_archiving_rollout);
|
|
11
|
+
$[0] = featureEnabled;
|
|
12
|
+
$[1] = t0;
|
|
13
|
+
} else {
|
|
14
|
+
t0 = $[1];
|
|
15
|
+
}
|
|
16
|
+
return t0;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=use_manual_archiving_enabled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_manual_archiving_enabled.js","names":["availableFeatures","useFeatures","useManualArchivingEnabled","$","_c","featureEnabled","t0","manual_archiving","manual_archiving_rollout"],"sources":["../../src/hooks/use_manual_archiving_enabled.ts"],"sourcesContent":["import { availableFeatures, useFeatures } from './use_features'\n\nexport function useManualArchivingEnabled() {\n const { featureEnabled } = useFeatures()\n\n return (\n featureEnabled(availableFeatures.manual_archiving) ||\n featureEnabled(availableFeatures.manual_archiving_rollout)\n )\n}\n"],"mappings":";AAAA,SAASA,iBAAiB,EAAEC,WAAW,QAAQ,gBAAgB;AAE/D,OAAO,SAAAC,0BAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL;IAAAC;EAAA,IAA2BJ,WAAW,CAAC,CAAC;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAE,cAAA;IAGtCC,EAAA,GAAAD,cAAc,CAACL,iBAAiB,CAAAO,gBACyB,CAAC,IAA1DF,cAAc,CAACL,iBAAiB,CAAAQ,wBAAyB,CAAC;IAAAL,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,OAD1DG,EAC0D;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_reduce_motion.d.ts","sourceRoot":"","sources":["../../src/hooks/use_reduce_motion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use_reduce_motion.d.ts","sourceRoot":"","sources":["../../src/hooks/use_reduce_motion.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,eAc3B,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { AccessibilityInfo } from 'react-native';
|
|
4
|
+
import { useReducedMotion } from 'react-native-reanimated';
|
|
4
5
|
export const useReduceMotion = () => {
|
|
5
6
|
const $ = _c(2);
|
|
6
|
-
const [reduceMotion, setReduceMotion] = useState(
|
|
7
|
+
const [reduceMotion, setReduceMotion] = useState(useReducedMotion());
|
|
7
8
|
let t0;
|
|
8
9
|
let t1;
|
|
9
10
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_reduce_motion.js","names":["useEffect","useState","AccessibilityInfo","useReduceMotion","$","_c","reduceMotion","setReduceMotion","t0","t1","Symbol","for","isReduceMotionEnabled","then","subscription","addEventListener","remove"],"sources":["../../src/hooks/use_reduce_motion.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { AccessibilityInfo } from 'react-native'\n\nexport const useReduceMotion = () => {\n const [reduceMotion, setReduceMotion] = useState(
|
|
1
|
+
{"version":3,"file":"use_reduce_motion.js","names":["useEffect","useState","AccessibilityInfo","useReducedMotion","useReduceMotion","$","_c","reduceMotion","setReduceMotion","t0","t1","Symbol","for","isReduceMotionEnabled","then","subscription","addEventListener","remove"],"sources":["../../src/hooks/use_reduce_motion.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { AccessibilityInfo } from 'react-native'\nimport { useReducedMotion } from 'react-native-reanimated'\n\nexport const useReduceMotion = () => {\n const [reduceMotion, setReduceMotion] = useState(useReducedMotion())\n\n useEffect(() => {\n AccessibilityInfo.isReduceMotionEnabled().then(setReduceMotion)\n\n const subscription = AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotion)\n\n return () => {\n subscription.remove()\n }\n }, [])\n\n return reduceMotion\n}\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,OAAO,MAAMC,eAAe,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAC7B,OAAAC,YAAA,EAAAC,eAAA,IAAwCP,QAAQ,CAACE,gBAAgB,CAAC,CAAC,CAAC;EAAA,IAAAM,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAM,MAAA,CAAAC,GAAA;IAE1DH,EAAA,GAAAA,CAAA;MACRP,iBAAiB,CAAAW,qBAAsB,CAAC,CAAC,CAAAC,IAAK,CAACN,eAAe,CAAC;MAE/D,MAAAO,YAAA,GAAqBb,iBAAiB,CAAAc,gBAAiB,CAAC,qBAAqB,EAAER,eAAe,CAAC;MAAA,OAExF;QACLO,YAAY,CAAAE,MAAO,CAAC,CAAC;MAAA,CACtB;IAAA,CACF;IAAEP,EAAA,KAAE;IAAAL,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAD,EAAA,GAAAJ,CAAA;IAAAK,EAAA,GAAAL,CAAA;EAAA;EARLL,SAAS,CAACS,EAQT,EAAEC,EAAE,CAAC;EAAA,OAECH,YAAY;AAAA,CACpB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation_details_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_details_screen.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"conversation_details_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_details_screen.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AA4FzF,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC7D,eAAe,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,wBAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,EAAE,8BAA8B,2CAualF"}
|
|
@@ -9,6 +9,7 @@ import { useHeaderRight } from '../components/display/platform_modal_header_butt
|
|
|
9
9
|
import { useSuspensePaginator, useTheme } from '../hooks';
|
|
10
10
|
import { useConversation, useConversationArchive, useConversationDelete, useConversationDisableReplies, useConversationMute, useConversationUpdate } from '../hooks/use_conversation';
|
|
11
11
|
import { availableFeatures, useFeatures } from '../hooks/use_features';
|
|
12
|
+
import { useManualArchivingEnabled } from '../hooks/use_manual_archiving_enabled';
|
|
12
13
|
import { usePreviewAvatarDiameter } from '../hooks/use_preview_avatar_diameter';
|
|
13
14
|
import { useUnarchiveConversationAction } from '../hooks/use_unarchive_conversation_action';
|
|
14
15
|
import { isDefined } from '../types';
|
|
@@ -74,7 +75,7 @@ export function ConversationDetailsScreen(t0) {
|
|
|
74
75
|
}
|
|
75
76
|
const granularNotificationsEnabled = t1;
|
|
76
77
|
const customAvatarsEnabled = featureEnabled(availableFeatures.custom_conversation_avatars);
|
|
77
|
-
const manualArchivingEnabled =
|
|
78
|
+
const manualArchivingEnabled = useManualArchivingEnabled();
|
|
78
79
|
const showGenderFilter = featureEnabled(availableFeatures.gender_specific_conversations) && !!conversation.genderOption;
|
|
79
80
|
const genderLabel = conversation.genderOption ? genderDisplayLabel(conversation.genderOption) : "";
|
|
80
81
|
let t2;
|