@planningcenter/chat-react-native 4.4.1-rc.0 → 4.5.0-rc.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.
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +3 -2
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +20 -17
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -1
- package/build/hooks/use_clear_conversation_filters.js +2 -1
- package/build/hooks/use_clear_conversation_filters.js.map +1 -1
- package/build/hooks/use_conversations_cache.d.ts +1 -1
- package/build/hooks/use_conversations_cache.d.ts.map +1 -1
- package/build/hooks/use_conversations_cache.js +64 -55
- package/build/hooks/use_conversations_cache.js.map +1 -1
- package/build/hooks/use_conversations_jolt_events.js +2 -2
- package/build/hooks/use_conversations_jolt_events.js.map +1 -1
- package/build/hooks/use_jolt.d.ts.map +1 -1
- package/build/hooks/use_jolt.js +37 -9
- package/build/hooks/use_jolt.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/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/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js +191 -168
- package/build/screens/conversations/components/filter_dropdown_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.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/package.json +2 -2
- package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +1 -0
- package/src/components/conversations/conversations.tsx +12 -2
- package/src/contexts/conversations_context.tsx +8 -1
- package/src/hooks/__tests__/use_conversations_jolt_events.test.tsx +135 -0
- package/src/hooks/__tests__/use_jolt.test.tsx +76 -1
- package/src/hooks/use_clear_conversation_filters.ts +1 -0
- package/src/hooks/use_conversations_cache.ts +29 -24
- package/src/hooks/use_conversations_jolt_events.ts +2 -2
- package/src/hooks/use_jolt.ts +26 -2
- package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
- package/src/screens/conversation_filters/screen_props.ts +1 -0
- package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +55 -3
- package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +17 -2
- package/src/screens/conversations/conversations_screen.tsx +1 -0
- package/src/utils/__tests__/conversation.test.ts +1 -0
- package/src/utils/request/conversation.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAA;AActC,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,EAChB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAClE,IAAI,GACJ,SAAS,CAAA;CACd;AAED,eAAO,MAAM,aAAa,GAAI,yBAAyB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAA;AActC,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,EAChB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAClE,IAAI,GACJ,SAAS,CAAA;CACd;AAED,eAAO,MAAM,aAAa,GAAI,yBAAyB,kBAAkB,4CAmGxE,CAAA"}
|
|
@@ -33,13 +33,14 @@ export const Conversations = t0 => {
|
|
|
33
33
|
chat_group_graph_id,
|
|
34
34
|
group_source_app_name,
|
|
35
35
|
show_direct_messages,
|
|
36
|
-
show_archived
|
|
36
|
+
show_archived,
|
|
37
|
+
show_unread
|
|
37
38
|
} = t1;
|
|
38
39
|
const navigation = useNavigation();
|
|
39
40
|
const canCreateConversations = useCanCreateConversations();
|
|
40
41
|
const clearFilters = useClearConversationFilters();
|
|
41
42
|
const filterDropdownEnabled = useFilterDropdownEnabled();
|
|
42
|
-
const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived;
|
|
43
|
+
const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived || !!show_unread;
|
|
43
44
|
const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage;
|
|
44
45
|
const showFilteredResultsFooter = filterDropdownEnabled && isFilterApplied && !show_archived && !hasNextPage && !isLoading && conversations.length > 0;
|
|
45
46
|
const showBadges = !chat_group_graph_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","undefined","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: { chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived\n const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title ?? undefined,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","show_unread","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","undefined","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: {\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id ||\n !!group_source_app_name ||\n !!show_direct_messages ||\n !!show_archived ||\n !!show_unread\n const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title ?? undefined,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations_context.d.ts","sourceRoot":"","sources":["../../src/contexts/conversations_context.tsx"],"names":[],"mappings":"AAKA,OAAc,EAAiB,iBAAiB,EAAiC,MAAM,OAAO,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAoB,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAIxF,UAAU,yBAA0B,SAAQ,qBAAqB;IAC/D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,uBAAuB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAsBD,eAAO,MAAM,4BAA4B,GAAI,6CAI1C,iBAAiB,CAAC;IACnB,IAAI,EAAE,yBAAyB,CAAA;IAC/B,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B,CAAC,
|
|
1
|
+
{"version":3,"file":"conversations_context.d.ts","sourceRoot":"","sources":["../../src/contexts/conversations_context.tsx"],"names":[],"mappings":"AAKA,OAAc,EAAiB,iBAAiB,EAAiC,MAAM,OAAO,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAoB,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAIxF,UAAU,yBAA0B,SAAQ,qBAAqB;IAC/D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,uBAAuB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAsBD,eAAO,MAAM,4BAA4B,GAAI,6CAI1C,iBAAiB,CAAC;IACnB,IAAI,EAAE,yBAAyB,CAAA;IAC/B,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B,CAAC,4CAgCD,CAAA;AAaD,eAAO,MAAM,uBAAuB,iCAAyC,CAAA"}
|
|
@@ -21,7 +21,7 @@ const ConversationsContext = createContext({
|
|
|
21
21
|
...defaultQueryValue
|
|
22
22
|
});
|
|
23
23
|
export const ConversationsContextProvider = t0 => {
|
|
24
|
-
const $ = _c(
|
|
24
|
+
const $ = _c(15);
|
|
25
25
|
const {
|
|
26
26
|
children,
|
|
27
27
|
args: t1,
|
|
@@ -41,52 +41,55 @@ export const ConversationsContextProvider = t0 => {
|
|
|
41
41
|
chat_group_graph_id,
|
|
42
42
|
group_source_app_name,
|
|
43
43
|
show_direct_messages,
|
|
44
|
-
show_archived
|
|
44
|
+
show_archived,
|
|
45
|
+
show_unread
|
|
45
46
|
} = args;
|
|
46
47
|
let t3;
|
|
47
|
-
if ($[2] !== chat_group_graph_id || $[3] !== group_source_app_name || $[4] !== show_archived || $[5] !== show_direct_messages) {
|
|
48
|
+
if ($[2] !== chat_group_graph_id || $[3] !== group_source_app_name || $[4] !== show_archived || $[5] !== show_direct_messages || $[6] !== show_unread) {
|
|
48
49
|
t3 = {
|
|
49
50
|
chat_group_graph_id,
|
|
50
51
|
group_source_app_name,
|
|
51
52
|
show_direct_messages,
|
|
52
|
-
show_archived
|
|
53
|
+
show_archived,
|
|
54
|
+
show_unread
|
|
53
55
|
};
|
|
54
56
|
$[2] = chat_group_graph_id;
|
|
55
57
|
$[3] = group_source_app_name;
|
|
56
58
|
$[4] = show_archived;
|
|
57
59
|
$[5] = show_direct_messages;
|
|
58
|
-
$[6] =
|
|
60
|
+
$[6] = show_unread;
|
|
61
|
+
$[7] = t3;
|
|
59
62
|
} else {
|
|
60
|
-
t3 = $[
|
|
63
|
+
t3 = $[7];
|
|
61
64
|
}
|
|
62
65
|
const query = useConversations(t3, paginatorOptions);
|
|
63
66
|
let t4;
|
|
64
|
-
if ($[
|
|
67
|
+
if ($[8] !== activeConversationId || $[9] !== args || $[10] !== query) {
|
|
65
68
|
t4 = {
|
|
66
69
|
args,
|
|
67
70
|
activeConversationId,
|
|
68
71
|
setActiveConversationId,
|
|
69
72
|
...query
|
|
70
73
|
};
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
$[
|
|
74
|
-
$[
|
|
74
|
+
$[8] = activeConversationId;
|
|
75
|
+
$[9] = args;
|
|
76
|
+
$[10] = query;
|
|
77
|
+
$[11] = t4;
|
|
75
78
|
} else {
|
|
76
|
-
t4 = $[
|
|
79
|
+
t4 = $[11];
|
|
77
80
|
}
|
|
78
81
|
const value = t4;
|
|
79
82
|
let t5;
|
|
80
|
-
if ($[
|
|
83
|
+
if ($[12] !== children || $[13] !== value) {
|
|
81
84
|
t5 = /*#__PURE__*/_jsx(ConversationsContext.Provider, {
|
|
82
85
|
value: value,
|
|
83
86
|
children: children
|
|
84
87
|
});
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
87
|
-
$[
|
|
88
|
+
$[12] = children;
|
|
89
|
+
$[13] = value;
|
|
90
|
+
$[14] = t5;
|
|
88
91
|
} else {
|
|
89
|
-
t5 = $[
|
|
92
|
+
t5 = $[14];
|
|
90
93
|
}
|
|
91
94
|
return t5;
|
|
92
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations_context.js","names":["React","createContext","useContext","useMemo","useState","useConversations","jsx","_jsx","defaultQueryValue","conversations","refetch","Promise","resolve","error","isError","isLoading","fetchNextPage","hasNextPage","isFetching","isFetched","isRefetching","ConversationsContext","args","activeConversationId","undefined","setActiveConversationId","ConversationsContextProvider","t0","$","_c","children","t1","opts","paginatorOptions","t2","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","t3","query","t4","value","t5","Provider","_options","Error","useConversationsContext"],"sources":["../../src/contexts/conversations_context.tsx"],"sourcesContent":["import {\n FetchNextPageOptions,\n InfiniteQueryObserverResult,\n InfiniteData,\n} from '@tanstack/react-query'\nimport React, { createContext, PropsWithChildren, useContext, useMemo, useState } from 'react'\nimport { ApiGetQueryOptions } from '../hooks'\nimport { useConversations, UseConversationsValue } from '../hooks/use_conversations'\nimport { ConversationFiltersParams } from '../screens/conversation_filters/screen_props'\nimport { ApiCollection, ConversationResource } from '../types'\nimport { ResponseError } from '../utils/response_error'\n\ninterface ConversationsContextValue extends UseConversationsValue {\n activeConversationId?: number\n setActiveConversationId: (_id: number) => void\n args: ConversationFiltersParams\n}\n\nconst defaultQueryValue: UseConversationsValue = {\n conversations: [],\n refetch: () => Promise.resolve(null),\n error: null,\n isError: false,\n isLoading: true,\n fetchNextPage,\n hasNextPage: false,\n isFetching: false,\n isFetched: false,\n isRefetching: false,\n}\n\nconst ConversationsContext = createContext<ConversationsContextValue>({\n args: {},\n activeConversationId: undefined,\n setActiveConversationId: () => {},\n ...defaultQueryValue,\n})\n\nexport const ConversationsContextProvider = ({\n children,\n args = {},\n opts: paginatorOptions,\n}: PropsWithChildren<{\n args: ConversationFiltersParams\n opts?: ApiGetQueryOptions\n}>) => {\n const [activeConversationId, setActiveConversationId] = useState<number | undefined>()\n const {
|
|
1
|
+
{"version":3,"file":"conversations_context.js","names":["React","createContext","useContext","useMemo","useState","useConversations","jsx","_jsx","defaultQueryValue","conversations","refetch","Promise","resolve","error","isError","isLoading","fetchNextPage","hasNextPage","isFetching","isFetched","isRefetching","ConversationsContext","args","activeConversationId","undefined","setActiveConversationId","ConversationsContextProvider","t0","$","_c","children","t1","opts","paginatorOptions","t2","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","show_unread","t3","query","t4","value","t5","Provider","_options","Error","useConversationsContext"],"sources":["../../src/contexts/conversations_context.tsx"],"sourcesContent":["import {\n FetchNextPageOptions,\n InfiniteQueryObserverResult,\n InfiniteData,\n} from '@tanstack/react-query'\nimport React, { createContext, PropsWithChildren, useContext, useMemo, useState } from 'react'\nimport { ApiGetQueryOptions } from '../hooks'\nimport { useConversations, UseConversationsValue } from '../hooks/use_conversations'\nimport { ConversationFiltersParams } from '../screens/conversation_filters/screen_props'\nimport { ApiCollection, ConversationResource } from '../types'\nimport { ResponseError } from '../utils/response_error'\n\ninterface ConversationsContextValue extends UseConversationsValue {\n activeConversationId?: number\n setActiveConversationId: (_id: number) => void\n args: ConversationFiltersParams\n}\n\nconst defaultQueryValue: UseConversationsValue = {\n conversations: [],\n refetch: () => Promise.resolve(null),\n error: null,\n isError: false,\n isLoading: true,\n fetchNextPage,\n hasNextPage: false,\n isFetching: false,\n isFetched: false,\n isRefetching: false,\n}\n\nconst ConversationsContext = createContext<ConversationsContextValue>({\n args: {},\n activeConversationId: undefined,\n setActiveConversationId: () => {},\n ...defaultQueryValue,\n})\n\nexport const ConversationsContextProvider = ({\n children,\n args = {},\n opts: paginatorOptions,\n}: PropsWithChildren<{\n args: ConversationFiltersParams\n opts?: ApiGetQueryOptions\n}>) => {\n const [activeConversationId, setActiveConversationId] = useState<number | undefined>()\n const {\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n } = args\n\n const query = useConversations(\n {\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n },\n paginatorOptions\n )\n\n const value = useMemo(\n () => ({\n args,\n activeConversationId,\n setActiveConversationId,\n ...query,\n }),\n [args, activeConversationId, query]\n )\n\n return <ConversationsContext.Provider value={value}>{children}</ConversationsContext.Provider>\n}\n\nfunction fetchNextPage(\n _options?: FetchNextPageOptions\n): Promise<\n InfiniteQueryObserverResult<\n InfiniteData<ApiCollection<ConversationResource>, unknown>,\n ResponseError\n >\n> {\n throw new Error('Function not implemented.')\n}\n\nexport const useConversationsContext = () => useContext(ConversationsContext)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"use_clear_conversation_filters.d.ts","sourceRoot":"","sources":["../../src/hooks/use_clear_conversation_filters.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,eAa1C"}
|
|
@@ -12,7 +12,8 @@ export function useClearConversationFilters() {
|
|
|
12
12
|
chat_group_graph_id: undefined,
|
|
13
13
|
group_source_app_name: undefined,
|
|
14
14
|
show_direct_messages: undefined,
|
|
15
|
-
show_archived: undefined
|
|
15
|
+
show_archived: undefined,
|
|
16
|
+
show_unread: undefined
|
|
16
17
|
});
|
|
17
18
|
};
|
|
18
19
|
$[0] = navigation;
|
|
@@ -1 +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;
|
|
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","show_unread"],"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 show_unread: 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,SAAS;QAAAK,WAAA,EACXL;MACf,CAAC,CAAC;IAAA,CACH;IAAAN,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,OATMG,EASS;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversations_cache.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversations_cache.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"use_conversations_cache.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversations_cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAO9D,OAAO,EAAE,uBAAuB,EAA+B,MAAM,+BAA+B,CAAA;AAMpG,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC;2BAkB/B,oBAAoB;sBAqCrB;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;wBAkBrB;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;0BAPZ;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;;2BAhDR,oBAAoB;wBA4B/B,OAAO,CAAC,oBAAoB,CAAC;EAmD/D"}
|
|
@@ -5,7 +5,7 @@ import { getConversationsRequestArgs } from '../utils/request/conversation';
|
|
|
5
5
|
import { useApiClient } from './use_api_client';
|
|
6
6
|
import { getRequestQueryKey } from './use_suspense_api';
|
|
7
7
|
export function useConversationsCache(args) {
|
|
8
|
-
const $ = _c(
|
|
8
|
+
const $ = _c(35);
|
|
9
9
|
const apiClient = useApiClient();
|
|
10
10
|
const queryClient = useQueryClient();
|
|
11
11
|
let conversationsRequestArgs;
|
|
@@ -28,18 +28,23 @@ export function useConversationsCache(args) {
|
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
const {
|
|
31
|
-
|
|
31
|
+
url,
|
|
32
|
+
data
|
|
32
33
|
} = conversationsRequestArgs;
|
|
33
34
|
const {
|
|
34
|
-
data
|
|
35
|
+
data: conversations
|
|
35
36
|
} = await apiClient.chat.get({
|
|
36
|
-
url
|
|
37
|
+
url,
|
|
37
38
|
data: {
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
...data,
|
|
40
|
+
where: {
|
|
41
|
+
...data.where,
|
|
42
|
+
id
|
|
43
|
+
},
|
|
44
|
+
perPage: 1
|
|
40
45
|
}
|
|
41
46
|
});
|
|
42
|
-
return
|
|
47
|
+
return conversations[0];
|
|
43
48
|
};
|
|
44
49
|
$[3] = apiClient;
|
|
45
50
|
$[4] = conversationsRequestArgs;
|
|
@@ -105,106 +110,110 @@ export function useConversationsCache(args) {
|
|
|
105
110
|
}
|
|
106
111
|
const updateAll = t4;
|
|
107
112
|
let t5;
|
|
108
|
-
if ($[15] !==
|
|
109
|
-
t5 =
|
|
113
|
+
if ($[15] !== conversationQueryKey || $[16] !== queryClient) {
|
|
114
|
+
t5 = t6 => {
|
|
110
115
|
const {
|
|
111
116
|
id: id_0
|
|
112
117
|
} = t6;
|
|
113
|
-
|
|
114
|
-
if (!conversation_1.id) {
|
|
118
|
+
if (!id_0) {
|
|
115
119
|
return;
|
|
116
120
|
}
|
|
117
|
-
|
|
121
|
+
queryClient.setQueryData(conversationQueryKey, prev_2 => deleteRecordInPagesData({
|
|
122
|
+
data: prev_2,
|
|
123
|
+
record: {
|
|
124
|
+
id: id_0
|
|
125
|
+
}
|
|
126
|
+
}));
|
|
118
127
|
};
|
|
119
|
-
$[15] =
|
|
120
|
-
$[16] =
|
|
128
|
+
$[15] = conversationQueryKey;
|
|
129
|
+
$[16] = queryClient;
|
|
121
130
|
$[17] = t5;
|
|
122
131
|
} else {
|
|
123
132
|
t5 = $[17];
|
|
124
133
|
}
|
|
125
|
-
const
|
|
134
|
+
const handleConversationDestroy = t5;
|
|
126
135
|
let t6;
|
|
127
|
-
if ($[18] !== fetchConversation || $[19] !==
|
|
136
|
+
if ($[18] !== fetchConversation || $[19] !== updateOnly) {
|
|
128
137
|
t6 = async t7 => {
|
|
129
138
|
const {
|
|
130
139
|
id: id_1
|
|
131
140
|
} = t7;
|
|
132
|
-
const
|
|
133
|
-
if (!
|
|
141
|
+
const conversation_1 = await fetchConversation(id_1).catch(_temp3);
|
|
142
|
+
if (!conversation_1) {
|
|
134
143
|
return;
|
|
135
144
|
}
|
|
136
|
-
|
|
145
|
+
updateOnly(conversation_1);
|
|
137
146
|
};
|
|
138
147
|
$[18] = fetchConversation;
|
|
139
|
-
$[19] =
|
|
148
|
+
$[19] = updateOnly;
|
|
140
149
|
$[20] = t6;
|
|
141
150
|
} else {
|
|
142
151
|
t6 = $[20];
|
|
143
152
|
}
|
|
144
|
-
const
|
|
153
|
+
const fetchAndUpdate = t6;
|
|
145
154
|
let t7;
|
|
146
|
-
if ($[21] !==
|
|
147
|
-
t7 = t8 => {
|
|
155
|
+
if ($[21] !== fetchConversation || $[22] !== handleConversationDestroy || $[23] !== updateOrCreate) {
|
|
156
|
+
t7 = async t8 => {
|
|
148
157
|
const {
|
|
149
158
|
id: id_2
|
|
150
159
|
} = t8;
|
|
151
|
-
|
|
160
|
+
let conversation_2;
|
|
161
|
+
try {
|
|
162
|
+
conversation_2 = await fetchConversation(id_2);
|
|
163
|
+
} catch {
|
|
152
164
|
return;
|
|
153
165
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
166
|
+
if (conversation_2) {
|
|
167
|
+
updateOrCreate(conversation_2);
|
|
168
|
+
} else {
|
|
169
|
+
handleConversationDestroy({
|
|
157
170
|
id: id_2
|
|
158
|
-
}
|
|
159
|
-
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
160
173
|
};
|
|
161
|
-
$[21] =
|
|
162
|
-
$[22] =
|
|
163
|
-
$[23] =
|
|
174
|
+
$[21] = fetchConversation;
|
|
175
|
+
$[22] = handleConversationDestroy;
|
|
176
|
+
$[23] = updateOrCreate;
|
|
177
|
+
$[24] = t7;
|
|
164
178
|
} else {
|
|
165
|
-
t7 = $[
|
|
179
|
+
t7 = $[24];
|
|
166
180
|
}
|
|
167
|
-
const
|
|
181
|
+
const fetchAndSync = t7;
|
|
168
182
|
let t8;
|
|
169
|
-
if ($[
|
|
183
|
+
if ($[25] !== conversationQueryKey || $[26] !== queryClient) {
|
|
170
184
|
t8 = () => queryClient.invalidateQueries({
|
|
171
185
|
queryKey: conversationQueryKey
|
|
172
186
|
});
|
|
173
|
-
$[
|
|
174
|
-
$[
|
|
175
|
-
$[
|
|
187
|
+
$[25] = conversationQueryKey;
|
|
188
|
+
$[26] = queryClient;
|
|
189
|
+
$[27] = t8;
|
|
176
190
|
} else {
|
|
177
|
-
t8 = $[
|
|
191
|
+
t8 = $[27];
|
|
178
192
|
}
|
|
179
193
|
let t9;
|
|
180
|
-
if ($[
|
|
194
|
+
if ($[28] !== fetchAndSync || $[29] !== fetchAndUpdate || $[30] !== handleConversationDestroy || $[31] !== t8 || $[32] !== updateAll || $[33] !== updateOrCreate) {
|
|
181
195
|
t9 = {
|
|
182
196
|
create: updateOrCreate,
|
|
183
197
|
destroy: handleConversationDestroy,
|
|
184
|
-
|
|
198
|
+
fetchSync: fetchAndSync,
|
|
185
199
|
fetchUpdate: fetchAndUpdate,
|
|
186
200
|
invalidate: t8,
|
|
187
201
|
update: updateOrCreate,
|
|
188
202
|
updateAll
|
|
189
203
|
};
|
|
190
|
-
$[
|
|
191
|
-
$[
|
|
192
|
-
$[
|
|
193
|
-
$[
|
|
194
|
-
$[
|
|
195
|
-
$[
|
|
196
|
-
$[
|
|
204
|
+
$[28] = fetchAndSync;
|
|
205
|
+
$[29] = fetchAndUpdate;
|
|
206
|
+
$[30] = handleConversationDestroy;
|
|
207
|
+
$[31] = t8;
|
|
208
|
+
$[32] = updateAll;
|
|
209
|
+
$[33] = updateOrCreate;
|
|
210
|
+
$[34] = t9;
|
|
197
211
|
} else {
|
|
198
|
-
t9 = $[
|
|
212
|
+
t9 = $[34];
|
|
199
213
|
}
|
|
200
214
|
return t9;
|
|
201
215
|
}
|
|
202
|
-
function
|
|
203
|
-
return c_0;
|
|
204
|
-
}
|
|
205
|
-
function _temp3(c) {
|
|
206
|
-
return c;
|
|
207
|
-
}
|
|
216
|
+
function _temp3() {}
|
|
208
217
|
function _temp2(record_0, current_0) {
|
|
209
218
|
return {
|
|
210
219
|
...current_0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversations_cache.js","names":["useQueryClient","deleteRecordInPagesData","updateRecordInPagesData","updateAllRecordsInPagesData","updateOrCreateRecordInPagesData","getConversationsRequestArgs","useApiClient","getRequestQueryKey","useConversationsCache","args","$","_c","apiClient","queryClient","conversationsRequestArgs","t0","conversationQueryKey","t1","id","data","
|
|
1
|
+
{"version":3,"file":"use_conversations_cache.js","names":["useQueryClient","deleteRecordInPagesData","updateRecordInPagesData","updateAllRecordsInPagesData","updateOrCreateRecordInPagesData","getConversationsRequestArgs","useApiClient","getRequestQueryKey","useConversationsCache","args","$","_c","apiClient","queryClient","conversationsRequestArgs","t0","conversationQueryKey","t1","id","url","data","conversations","chat","get","where","perPage","fetchConversation","t2","conversation","setQueryData","prev","record","processRecord","_temp","updateOrCreate","t3","conversation_0","prev_0","_temp2","updateOnly","t4","update","prev_1","record_1","updateAll","t5","t6","id_0","prev_2","handleConversationDestroy","t7","id_1","conversation_1","catch","_temp3","fetchAndUpdate","t8","id_2","fetchAndSync","invalidateQueries","queryKey","t9","create","destroy","fetchSync","fetchUpdate","invalidate","record_0","current_0","current"],"sources":["../../src/hooks/use_conversations_cache.ts"],"sourcesContent":["import { InfiniteData, useQueryClient } from '@tanstack/react-query'\nimport { ApiCollection, ConversationResource } from '../types'\nimport {\n deleteRecordInPagesData,\n updateRecordInPagesData,\n updateAllRecordsInPagesData,\n updateOrCreateRecordInPagesData,\n} from '../utils'\nimport { ConversationRequestArgs, getConversationsRequestArgs } from '../utils/request/conversation'\nimport { useApiClient } from './use_api_client'\nimport { getRequestQueryKey } from './use_suspense_api'\n\ntype QueryData = InfiniteData<ApiCollection<ConversationResource>>\n\nexport function useConversationsCache(args?: Partial<ConversationRequestArgs>) {\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const conversationsRequestArgs = getConversationsRequestArgs(args)\n const conversationQueryKey = getRequestQueryKey(conversationsRequestArgs)\n\n const fetchConversation = async (id: number) => {\n if (!id) return\n\n const { url, data } = conversationsRequestArgs\n const { data: conversations } = await apiClient.chat.get<ApiCollection<ConversationResource>>({\n url,\n data: { ...data, where: { ...data.where, id }, perPage: 1 },\n })\n\n return conversations[0]\n }\n\n const updateOrCreate = async (conversation: ConversationResource) => {\n if (!conversation.id) return\n\n queryClient.setQueryData<QueryData>(conversationQueryKey, prev =>\n updateOrCreateRecordInPagesData({\n data: prev,\n record: conversation,\n processRecord: (record, current) => {\n return { ...current, ...record }\n },\n })\n )\n }\n\n const updateOnly = async (conversation: ConversationResource) => {\n if (!conversation.id) return\n\n queryClient.setQueryData<QueryData>(conversationQueryKey, prev =>\n updateRecordInPagesData({\n data: prev,\n record: conversation,\n processRecord: (record, current) => {\n return { ...current, ...record }\n },\n })\n )\n }\n\n const updateAll = async (update: Partial<ConversationResource>) => {\n queryClient.setQueryData<QueryData>(conversationQueryKey, prev =>\n updateAllRecordsInPagesData({\n data: prev,\n processRecord: record => ({ ...record, ...update }),\n })\n )\n }\n\n const handleConversationDestroy = ({ id }: { id: number }) => {\n if (!id) return\n\n queryClient.setQueryData<QueryData>(conversationQueryKey, prev =>\n deleteRecordInPagesData({\n data: prev,\n record: { id },\n })\n )\n }\n\n const fetchAndUpdate = async ({ id }: { id: number }) => {\n const conversation = await fetchConversation(id).catch(() => undefined)\n if (!conversation) return\n\n updateOnly(conversation)\n }\n\n const fetchAndSync = async ({ id }: { id: number }) => {\n let conversation: ConversationResource | undefined\n try {\n conversation = await fetchConversation(id)\n } catch {\n return\n }\n\n if (conversation) {\n updateOrCreate(conversation)\n } else {\n handleConversationDestroy({ id })\n }\n }\n\n return {\n create: updateOrCreate,\n destroy: handleConversationDestroy,\n fetchSync: fetchAndSync,\n fetchUpdate: fetchAndUpdate,\n invalidate: () => queryClient.invalidateQueries({ queryKey: conversationQueryKey }),\n update: updateOrCreate,\n updateAll,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,7 +31,7 @@ export function useConversationsJoltEvents() {
|
|
|
31
31
|
idempotentKey: e.data.data.last_message_idempotent_key
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
cache.
|
|
34
|
+
cache.fetchSync({
|
|
35
35
|
id: e.data.data.id
|
|
36
36
|
});
|
|
37
37
|
};
|
|
@@ -45,7 +45,7 @@ export function useConversationsJoltEvents() {
|
|
|
45
45
|
useJoltEvent(joltChannel, "conversation.updated", t0);
|
|
46
46
|
let t1;
|
|
47
47
|
if ($[4] !== cache) {
|
|
48
|
-
t1 = e_0 => cache.
|
|
48
|
+
t1 = e_0 => cache.fetchSync({
|
|
49
49
|
id: e_0.data.data.id
|
|
50
50
|
});
|
|
51
51
|
$[4] = cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversations_jolt_events.js","names":["useConversationsContext","completeMessageCreationConversationTracking","useApiGet","useApiClient","useConversationsCache","currentPersonRequestArgs","useCurrentPersonCache","useJoltChannel","useJoltEvent","useCurrentPerson","useConversationsJoltEvents","$","_c","data","currentPerson","args","cache","currentPersonCache","apiClient","enabled","id","joltChannel","t0","e","last_message_idempotent_key","last_message_author_id","idempotentKey","
|
|
1
|
+
{"version":3,"file":"use_conversations_jolt_events.js","names":["useConversationsContext","completeMessageCreationConversationTracking","useApiGet","useApiClient","useConversationsCache","currentPersonRequestArgs","useCurrentPersonCache","useJoltChannel","useJoltEvent","useCurrentPerson","useConversationsJoltEvents","$","_c","data","currentPerson","args","cache","currentPersonCache","apiClient","enabled","id","joltChannel","t0","e","last_message_idempotent_key","last_message_author_id","idempotentKey","fetchSync","t1","e_0","t2","e_1","destroy","invalidate"],"sources":["../../src/hooks/use_conversations_jolt_events.ts"],"sourcesContent":["import { useConversationsContext } from '../contexts/conversations_context'\nimport { CurrentPersonResource } from '../types'\nimport { JoltConversationEvent } from '../types/jolt_events'\nimport { completeMessageCreationConversationTracking } from '../utils/performance_tracking'\nimport { useApiGet } from './use_api'\nimport { useApiClient } from './use_api_client'\nimport { useConversationsCache } from './use_conversations_cache'\nimport { currentPersonRequestArgs, useCurrentPersonCache } from './use_current_person'\nimport { useJoltChannel, useJoltEvent } from './use_jolt'\n\nconst useCurrentPerson = () => {\n return useApiGet<CurrentPersonResource>(currentPersonRequestArgs)\n}\n\nexport function useConversationsJoltEvents() {\n const { data: currentPerson } = useCurrentPerson()\n const { args } = useConversationsContext()\n const cache = useConversationsCache(args)\n const currentPersonCache = useCurrentPersonCache()\n const apiClient = useApiClient()\n const enabled = currentPerson?.id ? true : false\n const joltChannel = useJoltChannel(`chat.people.${currentPerson?.id}`, enabled)\n\n useJoltEvent(joltChannel, 'conversation.updated', (e: JoltConversationEvent) => {\n if (\n e.data.data.last_message_idempotent_key &&\n e.data.data.last_message_author_id === currentPerson?.id\n ) {\n completeMessageCreationConversationTracking({\n apiClient,\n idempotentKey: e.data.data.last_message_idempotent_key,\n })\n }\n cache.fetchSync({ id: e.data.data.id })\n })\n useJoltEvent(joltChannel, 'conversation.created', (e: JoltConversationEvent) =>\n cache.fetchSync({ id: e.data.data.id })\n )\n useJoltEvent(joltChannel, 'conversation.destroyed', (e: JoltConversationEvent) =>\n cache.destroy({ id: e.data.data.id })\n )\n\n useJoltEvent(joltChannel, 'STREAM_USER_UPDATED', currentPersonCache.invalidate) // Would be nice to have a non-stream chat event\n useJoltEvent(joltChannel, 'conversation.read', currentPersonCache.invalidate)\n}\n"],"mappings":"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","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;AA+CD,eAAO,MAAM,qBAAqB,YAQjC,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;AAqBD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAc,GACtB,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAyCrC;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
|
@@ -240,8 +240,24 @@ export const useJoltForegroundPing = () => {
|
|
|
240
240
|
}
|
|
241
241
|
useEffect(t0, t1);
|
|
242
242
|
};
|
|
243
|
+
const channelConsumers = new WeakMap();
|
|
244
|
+
const retainChannel = (jolt, channelName) => {
|
|
245
|
+
const counts = channelConsumers.get(jolt) ?? new Map();
|
|
246
|
+
channelConsumers.set(jolt, counts);
|
|
247
|
+
counts.set(channelName, (counts.get(channelName) ?? 0) + 1);
|
|
248
|
+
};
|
|
249
|
+
const releaseChannel = (jolt, channelName) => {
|
|
250
|
+
const counts = channelConsumers.get(jolt);
|
|
251
|
+
const remaining = (counts?.get(channelName) ?? 1) - 1;
|
|
252
|
+
if (remaining > 0) {
|
|
253
|
+
counts?.set(channelName, remaining);
|
|
254
|
+
} else {
|
|
255
|
+
counts?.delete(channelName);
|
|
256
|
+
}
|
|
257
|
+
return remaining;
|
|
258
|
+
};
|
|
243
259
|
export function useJoltChannel(channelName, t0) {
|
|
244
|
-
const $ = _c(
|
|
260
|
+
const $ = _c(18);
|
|
245
261
|
const enabled = t0 === undefined ? true : t0;
|
|
246
262
|
const jolt = useJoltClient();
|
|
247
263
|
const queryClient = useQueryClient();
|
|
@@ -310,15 +326,27 @@ export function useJoltChannel(channelName, t0) {
|
|
|
310
326
|
const handleUnsubscribe = t4;
|
|
311
327
|
let t5;
|
|
312
328
|
let t6;
|
|
313
|
-
if ($[13] !== handleUnsubscribe) {
|
|
314
|
-
t5 = () =>
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
329
|
+
if ($[13] !== channelName || $[14] !== handleUnsubscribe || $[15] !== jolt) {
|
|
330
|
+
t5 = () => {
|
|
331
|
+
if (!jolt) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
retainChannel(jolt, channelName);
|
|
335
|
+
return () => {
|
|
336
|
+
if (releaseChannel(jolt, channelName) === 0) {
|
|
337
|
+
handleUnsubscribe();
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
t6 = [jolt, channelName, handleUnsubscribe];
|
|
342
|
+
$[13] = channelName;
|
|
343
|
+
$[14] = handleUnsubscribe;
|
|
344
|
+
$[15] = jolt;
|
|
345
|
+
$[16] = t5;
|
|
346
|
+
$[17] = t6;
|
|
319
347
|
} else {
|
|
320
|
-
t5 = $[
|
|
321
|
-
t6 = $[
|
|
348
|
+
t5 = $[16];
|
|
349
|
+
t6 = $[17];
|
|
322
350
|
}
|
|
323
351
|
useEffect(t5, t6);
|
|
324
352
|
return subscription;
|