@messenger-box/platform-mobile 10.0.3-alpha.23 → 10.0.3-alpha.232

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/lib/components/messages-container-ui/BuildModeView.js +428 -0
  2. package/lib/components/messages-container-ui/BuildModeView.js.map +1 -0
  3. package/lib/components/messages-container-ui/MessagesContainerUI.js +55 -0
  4. package/lib/components/messages-container-ui/MessagesContainerUI.js.map +1 -0
  5. package/lib/components/messages-container-ui/PlanModeView.js +336 -0
  6. package/lib/components/messages-container-ui/PlanModeView.js.map +1 -0
  7. package/lib/compute.js +2 -3
  8. package/lib/compute.js.map +1 -1
  9. package/lib/index.js +1 -1
  10. package/lib/index.js.map +1 -1
  11. package/lib/module.js.map +1 -1
  12. package/lib/queries/inboxQueries.js +62 -0
  13. package/lib/queries/inboxQueries.js.map +1 -0
  14. package/lib/routes.json +2 -3
  15. package/lib/screens/inbox/DialogMessages.js +8 -3
  16. package/lib/screens/inbox/DialogMessages.js.map +1 -1
  17. package/lib/screens/inbox/DialogThreadMessages.js +6 -11
  18. package/lib/screens/inbox/DialogThreadMessages.js.map +1 -1
  19. package/lib/screens/inbox/DialogThreads.js +9 -11
  20. package/lib/screens/inbox/DialogThreads.js.map +1 -1
  21. package/lib/screens/inbox/Inbox.js.map +1 -1
  22. package/lib/screens/inbox/components/CachedImage/consts.js +1 -1
  23. package/lib/screens/inbox/components/CachedImage/consts.js.map +1 -1
  24. package/lib/screens/inbox/components/CachedImage/index.js +125 -96
  25. package/lib/screens/inbox/components/CachedImage/index.js.map +1 -1
  26. package/lib/screens/inbox/components/DialogItem.js +160 -0
  27. package/lib/screens/inbox/components/DialogItem.js.map +1 -0
  28. package/lib/screens/inbox/components/GiftedChatInboxComponent.js +315 -0
  29. package/lib/screens/inbox/components/GiftedChatInboxComponent.js.map +1 -0
  30. package/lib/screens/inbox/components/SlackMessageContainer/ImageViewerModal.js +3 -1
  31. package/lib/screens/inbox/components/SlackMessageContainer/ImageViewerModal.js.map +1 -1
  32. package/lib/screens/inbox/components/SlackMessageContainer/PaymentMessage.js +194 -0
  33. package/lib/screens/inbox/components/SlackMessageContainer/PaymentMessage.js.map +1 -0
  34. package/lib/screens/inbox/components/SlackMessageContainer/SlackBubble.js +149 -36
  35. package/lib/screens/inbox/components/SlackMessageContainer/SlackBubble.js.map +1 -1
  36. package/lib/screens/inbox/components/SlackMessageContainer/SlackMessage.js +4 -5
  37. package/lib/screens/inbox/components/SlackMessageContainer/SlackMessage.js.map +1 -1
  38. package/lib/screens/inbox/components/SubscriptionHandler.js +22 -0
  39. package/lib/screens/inbox/components/SubscriptionHandler.js.map +1 -0
  40. package/lib/screens/inbox/components/ThreadsViewItem.js +2 -4
  41. package/lib/screens/inbox/components/ThreadsViewItem.js.map +1 -1
  42. package/lib/screens/inbox/config/config.js +4 -2
  43. package/lib/screens/inbox/config/config.js.map +1 -1
  44. package/lib/screens/inbox/containers/ConversationView.js +1093 -1090
  45. package/lib/screens/inbox/containers/ConversationView.js.map +1 -1
  46. package/lib/screens/inbox/containers/Dialogs.js +130 -577
  47. package/lib/screens/inbox/containers/Dialogs.js.map +1 -1
  48. package/lib/screens/inbox/containers/ThreadConversationView.js +864 -1408
  49. package/lib/screens/inbox/containers/ThreadConversationView.js.map +1 -1
  50. package/lib/screens/inbox/containers/ThreadsView.js +9 -15
  51. package/lib/screens/inbox/containers/ThreadsView.js.map +1 -1
  52. package/lib/screens/inbox/hooks/useInboxMessages.js +31 -0
  53. package/lib/screens/inbox/hooks/useInboxMessages.js.map +1 -0
  54. package/lib/screens/inbox/hooks/useSafeDialogThreadsMachine.js +1 -1
  55. package/lib/screens/inbox/hooks/useSafeDialogThreadsMachine.js.map +1 -1
  56. package/lib/screens/inbox/workflow/dialog-threads-xstate.js.map +1 -1
  57. package/package.json +10 -8
  58. package/CHANGELOG.md +0 -172
  59. package/jest.config.js +0 -24
  60. package/lib/screens/inbox/components/DialogsListItem.js +0 -548
  61. package/lib/screens/inbox/components/DialogsListItem.js.map +0 -1
  62. package/lib/screens/inbox/components/ServiceDialogsListItem.js +0 -489
  63. package/lib/screens/inbox/components/ServiceDialogsListItem.js.map +0 -1
  64. package/lib/screens/inbox/components/workflow/dialogs-list-item-xstate.js +0 -175
  65. package/lib/screens/inbox/components/workflow/dialogs-list-item-xstate.js.map +0 -1
  66. package/lib/screens/inbox/components/workflow/service-dialogs-list-item-xstate.js +0 -191
  67. package/lib/screens/inbox/components/workflow/service-dialogs-list-item-xstate.js.map +0 -1
  68. package/lib/screens/inbox/containers/workflow/conversation-xstate.js +0 -380
  69. package/lib/screens/inbox/containers/workflow/conversation-xstate.js.map +0 -1
  70. package/lib/screens/inbox/containers/workflow/dialogs-xstate.js +0 -211
  71. package/lib/screens/inbox/containers/workflow/dialogs-xstate.js.map +0 -1
  72. package/lib/screens/inbox/containers/workflow/thread-conversation-xstate.js +0 -438
  73. package/lib/screens/inbox/containers/workflow/thread-conversation-xstate.js.map +0 -1
  74. package/rollup.config.mjs +0 -45
  75. package/src/components/index.ts +0 -0
  76. package/src/compute.ts +0 -63
  77. package/src/index.ts +0 -7
  78. package/src/module.ts +0 -10
  79. package/src/navigation/InboxNavigation.tsx +0 -102
  80. package/src/navigation/index.ts +0 -1
  81. package/src/screens/inbox/DialogMessages.tsx +0 -21
  82. package/src/screens/inbox/DialogThreadMessages.tsx +0 -97
  83. package/src/screens/inbox/DialogThreads.tsx +0 -125
  84. package/src/screens/inbox/Inbox.tsx +0 -17
  85. package/src/screens/inbox/components/CachedImage/consts.ts +0 -6
  86. package/src/screens/inbox/components/CachedImage/index.tsx +0 -223
  87. package/src/screens/inbox/components/DialogsHeader.tsx +0 -30
  88. package/src/screens/inbox/components/DialogsListItem.tsx +0 -819
  89. package/src/screens/inbox/components/ServiceDialogsListItem.tsx +0 -679
  90. package/src/screens/inbox/components/SlackMessageContainer/ImageViewerModal.tsx +0 -113
  91. package/src/screens/inbox/components/SlackMessageContainer/SlackBubble.tsx +0 -313
  92. package/src/screens/inbox/components/SlackMessageContainer/SlackMessage.tsx +0 -145
  93. package/src/screens/inbox/components/SlackMessageContainer/index.ts +0 -3
  94. package/src/screens/inbox/components/SmartLoader.tsx +0 -61
  95. package/src/screens/inbox/components/SupportServiceDialogsListItem.tsx +0 -301
  96. package/src/screens/inbox/components/ThreadsViewItem.tsx +0 -233
  97. package/src/screens/inbox/components/workflow/dialogs-list-item-xstate.ts +0 -145
  98. package/src/screens/inbox/components/workflow/service-dialogs-list-item-xstate.ts +0 -159
  99. package/src/screens/inbox/config/config.ts +0 -15
  100. package/src/screens/inbox/config/index.ts +0 -1
  101. package/src/screens/inbox/containers/ConversationView.tsx +0 -1784
  102. package/src/screens/inbox/containers/Dialogs.tsx +0 -829
  103. package/src/screens/inbox/containers/SupportServiceDialogs.tsx +0 -119
  104. package/src/screens/inbox/containers/ThreadConversationView.tsx +0 -2295
  105. package/src/screens/inbox/containers/ThreadsView.tsx +0 -224
  106. package/src/screens/inbox/containers/workflow/apollo/handleResult.ts +0 -20
  107. package/src/screens/inbox/containers/workflow/conversation-xstate.ts +0 -313
  108. package/src/screens/inbox/containers/workflow/dialogs-xstate.ts +0 -196
  109. package/src/screens/inbox/containers/workflow/thread-conversation-xstate.ts +0 -401
  110. package/src/screens/inbox/hooks/useSafeDialogThreadsMachine.ts +0 -136
  111. package/src/screens/inbox/index.ts +0 -37
  112. package/src/screens/inbox/machines/threadsMachine.ts +0 -147
  113. package/src/screens/inbox/workflow/dialog-threads-xstate.ts +0 -163
  114. package/src/screens/index.ts +0 -4
  115. package/tsconfig.json +0 -13
  116. package/webpack.config.js +0 -58
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useCallback,useEffect}from'react';import {Box,Text,Button,Center,Spinner,FlatList}from'@admin-layout/gluestack-ui-mobile';import {useSelector,useDispatch}from'react-redux';import {useRoute,useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {uniqBy,orderBy}from'lodash-es';import {useOnThreadCreatedUpdatedSubscription,OnThreadCreatedUpdatedDocument}from'common/graphql';import {userSelector}from'@adminide-stack/user-auth0-client';import {ThreadViewItem}from'../components/ThreadsViewItem.js';import {config}from'../config/config.js';var __defProp = Object.defineProperty;
1
+ import React__default,{useState,useCallback,useEffect}from'react';import {Box,Text,Button,Center,Spinner,FlatList}from'@admin-layout/gluestack-ui-mobile';import {useSelector,useDispatch}from'react-redux';import {useRoute,useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {uniqBy,orderBy}from'lodash-es';import {useThreadCreatedUpdatedSubscription,THREAD_CREATED_UPDATED}from'../../../queries/inboxQueries.js';import {userSelector}from'@adminide-stack/user-auth0-client';import {ThreadViewItem}from'../components/ThreadsViewItem.js';import {config}from'../config/config.js';var __defProp = Object.defineProperty;
2
2
  var __defProps = Object.defineProperties;
3
3
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -41,25 +41,23 @@ const ThreadsViewComponent = ({
41
41
  const [refreshing, setRefresh] = useState(false);
42
42
  const {
43
43
  data: threadCreatedUpdated
44
- } = useOnThreadCreatedUpdatedSubscription({
44
+ } = useThreadCreatedUpdatedSubscription({
45
45
  variables: {
46
46
  channelId: channelId == null ? void 0 : channelId.toString()
47
47
  }
48
48
  });
49
49
  const subscribeToNewMessages = useCallback(() => {
50
50
  return subscribeToMore({
51
- document: OnThreadCreatedUpdatedDocument,
51
+ document: THREAD_CREATED_UPDATED,
52
52
  variables: {
53
53
  channelId: channelId == null ? void 0 : channelId.toString()
54
54
  },
55
55
  updateQuery: (prev, {
56
56
  subscriptionData
57
57
  }) => {
58
- if (!subscriptionData.data)
59
- return prev;
58
+ if (!subscriptionData.data) return prev;
60
59
  const newThread = subscriptionData.data.threadCreatedUpdated.data;
61
- if (!newThread)
62
- return prev;
60
+ if (!newThread) return prev;
63
61
  const threads2 = prev.threadMessages.data || [];
64
62
  const index = threads2.findIndex((t) => t.id === newThread.id);
65
63
  let updatedThreads;
@@ -90,8 +88,7 @@ const ThreadsViewComponent = ({
90
88
  });
91
89
  const unsubscribe = subscribeToNewMessages();
92
90
  return () => {
93
- if (unsubscribe)
94
- unsubscribe();
91
+ if (unsubscribe) unsubscribe();
95
92
  };
96
93
  }, []));
97
94
  React__default.useEffect(() => {
@@ -100,8 +97,7 @@ const ThreadsViewComponent = ({
100
97
  }, [threadCreatedUpdated]);
101
98
  const threads = React__default.useMemo(() => {
102
99
  var _a, _b, _c, _d;
103
- if (((_b = (_a = data == null ? void 0 : data.threadMessages) == null ? void 0 : _a.data) == null ? void 0 : _b.length) == 0)
104
- return [];
100
+ if (((_b = (_a = data == null ? void 0 : data.threadMessages) == null ? void 0 : _a.data) == null ? void 0 : _b.length) == 0) return [];
105
101
  const threadsFiltered = ((_c = data == null ? void 0 : data.threadMessages) == null ? void 0 : _c.data) ? uniqBy([...(_d = data == null ? void 0 : data.threadMessages) == null ? void 0 : _d.data], ({
106
102
  id
107
103
  }) => id) : [];
@@ -109,8 +105,7 @@ const ThreadsViewComponent = ({
109
105
  }, [data]);
110
106
  React__default.useMemo(() => {
111
107
  var _a;
112
- if (!(threads == null ? void 0 : threads.length))
113
- return null;
108
+ if (!(threads == null ? void 0 : threads.length)) return null;
114
109
  return ((_a = threads == null ? void 0 : threads.map((t) => t == null ? void 0 : t.replies)) == null ? void 0 : _a.flat(1)) || [];
115
110
  }, [threads]);
116
111
  const handleSelectThread = useCallback((id, title, postParentId) => {
@@ -173,8 +168,7 @@ const SubscriptionHandler = ({
173
168
  useEffect(() => {
174
169
  const unsubscribe = subscribeToNewMessages();
175
170
  return () => {
176
- if (unsubscribe)
177
- unsubscribe();
171
+ if (unsubscribe) unsubscribe();
178
172
  };
179
173
  }, [channelId]);
180
174
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadsView.js","sources":["../../../../src/screens/inbox/containers/ThreadsView.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner, Button } from '@admin-layout/gluestack-ui-mobile';\nimport { Ionicons } from '@expo/vector-icons';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useNavigation, useRoute, useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport { orderBy, uniqBy, startCase } from 'lodash-es';\nimport {\n useThreadMessagesQuery,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n useOnThreadCreatedUpdatedSubscription,\n} from 'common/graphql';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { ThreadViewItem } from '../components/ThreadsViewItem';\nimport { config } from '../config';\nimport { Actions } from '../workflow/dialog-threads-xstate';\nconst { MESSAGES_PER_PAGE } = config;\n\nexport interface ThreadsViewProps {\n data: any;\n loading: boolean;\n refetch: any;\n subscribeToMore: any;\n error: any;\n channelId?: string;\n role?: string;\n channelsDetail?: any;\n refetchChannelDetail: (id: any) => Promise<any>;\n}\n\ninterface IThreadSubscriptionHandlerProps {\n subscribeToNewMessages: () => any;\n channelId: string | undefined;\n}\n\nconst ThreadsViewComponent = ({\n data,\n loading: threadLoading,\n refetch,\n subscribeToMore,\n error,\n channelId,\n role,\n channelsDetail,\n refetchChannelDetail,\n}: ThreadsViewProps) => {\n const { params } = useRoute<any>();\n const auth = useSelector(userSelector);\n const dispatch = useDispatch();\n const navigation = useNavigation<any>();\n const isFocused = useIsFocused();\n const [refreshing, setRefresh] = useState<boolean>(false);\n\n // Use thread subscription for real-time updates\n const { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n variables: { channelId: channelId?.toString() },\n });\n\n // Subscribe to thread updates\n const subscribeToNewMessages = useCallback(() => {\n return subscribeToMore({\n document: THREAD_CHAT_ADDED,\n variables: { channelId: channelId?.toString() },\n updateQuery: (prev: any, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n\n const newThread = subscriptionData.data.threadCreatedUpdated.data;\n if (!newThread) return prev;\n\n const threads = prev.threadMessages.data || [];\n const index = threads.findIndex((t: any) => t.id === newThread.id);\n\n let updatedThreads;\n if (index > -1) {\n // Update existing thread\n updatedThreads = [...threads];\n updatedThreads[index] = newThread;\n } else {\n // Add new thread\n updatedThreads = [newThread, ...threads];\n }\n\n return {\n ...prev,\n threadMessages: {\n ...prev.threadMessages,\n data: uniqBy(updatedThreads, 'id'),\n },\n };\n },\n });\n }, [channelId, subscribeToMore]);\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n navigation?.setOptions({ title: params?.title ?? 'Thread' });\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n });\n\n // Setup subscription\n const unsubscribe = subscribeToNewMessages();\n\n return () => {\n // Unsubscribe on cleanup\n if (unsubscribe) unsubscribe();\n };\n }, []),\n );\n\n // Effect for thread updates from subscription\n React.useEffect(() => {\n if (threadCreatedUpdated?.threadCreatedUpdated?.data) {\n // The subscription handler will handle updates\n }\n }, [threadCreatedUpdated]);\n\n const threads = React.useMemo(() => {\n if (data?.threadMessages?.data?.length == 0) return [];\n const threadsFiltered = data?.threadMessages?.data\n ? uniqBy([...data?.threadMessages?.data], ({ id }: any) => id)\n : [];\n return orderBy(threadsFiltered, ['updatedAt'], ['desc']) || [];\n }, [data]);\n\n const threadReplies = React.useMemo(() => {\n if (!threads?.length) return null;\n return threads?.map((t: any) => t?.replies)?.flat(1) || [];\n }, [threads]);\n\n const handleSelectThread = useCallback((id: any, title: any, postParentId: any) => {\n navigation.navigate(config.THREAD_MESSEGE_PATH as any, {\n channelId: id,\n role: role?.toString(),\n title: title,\n postParentId: postParentId,\n hideTabBar: true,\n });\n }, []);\n\n const handleRefresh = useCallback(() => {\n setRefresh(true);\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n }).finally(() => {\n setRefresh(false);\n });\n }, []);\n\n const fetchMoreThreads = useCallback(() => {\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n });\n }, []);\n\n if (error) {\n return (\n <Box style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>\n <Text>Error loading threads. {error.message}</Text>\n <Button onPress={handleRefresh} style={{ marginTop: 4 }}>\n <Text>Try Again</Text>\n </Button>\n </Box>\n );\n }\n\n return (\n <Box style={{ flex: 1 }}>\n {threadLoading && !threads?.length ? (\n <Center style={{ flex: 1 }}>\n <Spinner size=\"large\" />\n </Center>\n ) : threads?.length === 0 ? (\n <Box style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>\n <Text>No threads found</Text>\n </Box>\n ) : (\n <FlatList\n data={threads}\n keyExtractor={(item) => item.id.toString()}\n renderItem={({ item }) => (\n <ThreadViewItem\n {...item}\n onPress={handleSelectThread}\n channelId={channelId}\n channelsDetail={channelsDetail}\n />\n )}\n refreshing={refreshing}\n onRefresh={handleRefresh}\n onEndReached={fetchMoreThreads}\n onEndReachedThreshold={0.5}\n contentContainerStyle={{ padding: 16 }}\n ItemSeparatorComponent={() => <Box style={{ height: 3 }} />}\n />\n )}\n <SubscriptionHandler subscribeToNewMessages={subscribeToNewMessages} channelId={channelId} />\n </Box>\n );\n};\n\n// Component to handle subscription logic\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: IThreadSubscriptionHandlerProps) => {\n useEffect(() => {\n const unsubscribe = subscribeToNewMessages();\n return () => {\n if (unsubscribe) unsubscribe();\n };\n }, [channelId]);\n\n return null;\n};\n\nexport const ThreadsView = ThreadsViewComponent;\n"],"names":["THREAD_CHAT_ADDED","threads","React"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadsView.js","sources":["../../../../src/screens/inbox/containers/ThreadsView.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner, Button } from '@admin-layout/gluestack-ui-mobile';\nimport { Ionicons } from '@expo/vector-icons';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useNavigation, useRoute, useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport { orderBy, uniqBy, startCase } from 'lodash-es';\nimport {\n useThreadMessagesQuery,\n THREAD_CREATED_UPDATED,\n useThreadCreatedUpdatedSubscription,\n} from '../../../queries/inboxQueries';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { ThreadViewItem } from '../components/ThreadsViewItem';\nimport { config } from '../config';\nimport { Actions } from '../workflow/dialog-threads-xstate';\nconst { MESSAGES_PER_PAGE } = config;\n\nexport interface ThreadsViewProps {\n data: any;\n loading: boolean;\n refetch: any;\n subscribeToMore: any;\n error: any;\n channelId?: string;\n role?: string;\n channelsDetail?: any;\n refetchChannelDetail: (id: any) => Promise<any>;\n}\n\ninterface IThreadSubscriptionHandlerProps {\n subscribeToNewMessages: () => any;\n channelId: string | undefined;\n}\n\nconst ThreadsViewComponent = ({\n data,\n loading: threadLoading,\n refetch,\n subscribeToMore,\n error,\n channelId,\n role,\n channelsDetail,\n refetchChannelDetail,\n}: ThreadsViewProps) => {\n const { params } = useRoute<any>();\n const auth = useSelector(userSelector);\n const dispatch = useDispatch();\n const navigation = useNavigation<any>();\n const isFocused = useIsFocused();\n const [refreshing, setRefresh] = useState<boolean>(false);\n\n // Use thread subscription for real-time updates\n const { data: threadCreatedUpdated } = useThreadCreatedUpdatedSubscription({\n variables: { channelId: channelId?.toString() },\n });\n\n // Subscribe to thread updates\n const subscribeToNewMessages = useCallback(() => {\n return subscribeToMore({\n document: THREAD_CREATED_UPDATED,\n variables: { channelId: channelId?.toString() },\n updateQuery: (prev: any, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n\n const newThread = subscriptionData.data.threadCreatedUpdated.data;\n if (!newThread) return prev;\n\n const threads = prev.threadMessages.data || [];\n const index = threads.findIndex((t: any) => t.id === newThread.id);\n\n let updatedThreads;\n if (index > -1) {\n // Update existing thread\n updatedThreads = [...threads];\n updatedThreads[index] = newThread;\n } else {\n // Add new thread\n updatedThreads = [newThread, ...threads];\n }\n\n return {\n ...prev,\n threadMessages: {\n ...prev.threadMessages,\n data: uniqBy(updatedThreads, 'id'),\n },\n };\n },\n });\n }, [channelId, subscribeToMore]);\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n navigation?.setOptions({ title: params?.title ?? 'Thread' });\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n });\n\n // Setup subscription\n const unsubscribe = subscribeToNewMessages();\n\n return () => {\n // Unsubscribe on cleanup\n if (unsubscribe) unsubscribe();\n };\n }, []),\n );\n\n // Effect for thread updates from subscription\n React.useEffect(() => {\n if (threadCreatedUpdated?.threadCreatedUpdated?.data) {\n // The subscription handler will handle updates\n }\n }, [threadCreatedUpdated]);\n\n const threads = React.useMemo(() => {\n if (data?.threadMessages?.data?.length == 0) return [];\n const threadsFiltered = data?.threadMessages?.data\n ? uniqBy([...data?.threadMessages?.data], ({ id }: any) => id)\n : [];\n return orderBy(threadsFiltered, ['updatedAt'], ['desc']) || [];\n }, [data]);\n\n const threadReplies = React.useMemo(() => {\n if (!threads?.length) return null;\n return threads?.map((t: any) => t?.replies)?.flat(1) || [];\n }, [threads]);\n\n const handleSelectThread = useCallback((id: any, title: any, postParentId: any) => {\n navigation.navigate(config.THREAD_MESSEGE_PATH as any, {\n channelId: id,\n role: role?.toString(),\n title: title,\n postParentId: postParentId,\n hideTabBar: true,\n });\n }, []);\n\n const handleRefresh = useCallback(() => {\n setRefresh(true);\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n }).finally(() => {\n setRefresh(false);\n });\n }, []);\n\n const fetchMoreThreads = useCallback(() => {\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n });\n }, []);\n\n if (error) {\n return (\n <Box style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>\n <Text>Error loading threads. {error.message}</Text>\n <Button onPress={handleRefresh} style={{ marginTop: 4 }}>\n <Text>Try Again</Text>\n </Button>\n </Box>\n );\n }\n\n return (\n <Box style={{ flex: 1 }}>\n {threadLoading && !threads?.length ? (\n <Center style={{ flex: 1 }}>\n <Spinner size=\"large\" />\n </Center>\n ) : threads?.length === 0 ? (\n <Box style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>\n <Text>No threads found</Text>\n </Box>\n ) : (\n <FlatList\n data={threads}\n keyExtractor={(item) => item.id.toString()}\n renderItem={({ item }) => (\n <ThreadViewItem\n {...item}\n onPress={handleSelectThread}\n channelId={channelId}\n channelsDetail={channelsDetail}\n />\n )}\n refreshing={refreshing}\n onRefresh={handleRefresh}\n onEndReached={fetchMoreThreads}\n onEndReachedThreshold={0.5}\n contentContainerStyle={{ padding: 16 }}\n ItemSeparatorComponent={() => <Box style={{ height: 3 }} />}\n />\n )}\n <SubscriptionHandler subscribeToNewMessages={subscribeToNewMessages} channelId={channelId} />\n </Box>\n );\n};\n\n// Component to handle subscription logic\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: IThreadSubscriptionHandlerProps) => {\n useEffect(() => {\n const unsubscribe = subscribeToNewMessages();\n return () => {\n if (unsubscribe) unsubscribe();\n };\n }, [channelId]);\n\n return null;\n};\n\nexport const ThreadsView = ThreadsViewComponent;\n"],"names":["threads","React"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import {useCallback}from'react';function useInboxMessages({
2
+ useQueryHook,
3
+ queryVariables,
4
+ subscriptionDocument,
5
+ subscriptionVariables,
6
+ updateQuery,
7
+ onError
8
+ }) {
9
+ const {
10
+ data,
11
+ loading,
12
+ error,
13
+ refetch,
14
+ subscribeToMore
15
+ } = useQueryHook(queryVariables);
16
+ const subscribe = useCallback(() => {
17
+ return subscribeToMore({
18
+ document: subscriptionDocument,
19
+ variables: subscriptionVariables,
20
+ updateQuery,
21
+ onError
22
+ });
23
+ }, [subscribeToMore, subscriptionDocument, subscriptionVariables, updateQuery, onError]);
24
+ return {
25
+ data,
26
+ loading,
27
+ error,
28
+ refetch,
29
+ subscribe
30
+ };
31
+ }export{useInboxMessages};//# sourceMappingURL=useInboxMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInboxMessages.js","sources":["../../../../src/screens/inbox/hooks/useInboxMessages.ts"],"sourcesContent":["import { useCallback } from 'react';\n\n/**\n * useInboxMessages - a generic hook for fetching and subscribing to messages\n *\n * @param useQueryHook - Apollo query hook (e.g., useChannelMessagesQuery)\n * @param queryVariables - variables for the query\n * @param subscriptionDocument - GraphQL subscription document\n * @param subscriptionVariables - variables for the subscription\n * @param updateQuery - Apollo updateQuery function (optional)\n * @param onError - error handler (optional)\n * @returns { data, loading, error, refetch, subscribe }\n */\nexport function useInboxMessages({\n useQueryHook,\n queryVariables,\n subscriptionDocument,\n subscriptionVariables,\n updateQuery,\n onError,\n}) {\n const { data, loading, error, refetch, subscribeToMore } = useQueryHook(queryVariables);\n\n const subscribe = useCallback(() => {\n return subscribeToMore({\n document: subscriptionDocument,\n variables: subscriptionVariables,\n updateQuery,\n onError,\n });\n }, [subscribeToMore, subscriptionDocument, subscriptionVariables, updateQuery, onError]);\n\n return { data, loading, error, refetch, subscribe };\n}\n"],"names":[],"mappings":"gCAaO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,YAAA;AAAA,EACA,cAAA;AAAA,EACA,oBAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,aAAa,cAAc,CAAA;AAC/B,EAAA,MAAM,SAAA,GAAY,YAAY,MAAM;AAClC,IAAA,OAAO,eAAA,CAAgB;AAAA,MACrB,QAAA,EAAU,oBAAA;AAAA,MACV,SAAA,EAAW,qBAAA;AAAA,MACX,WAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,GAAG,CAAC,eAAA,EAAiB,sBAAsB,qBAAA,EAAuB,WAAA,EAAa,OAAO,CAAC,CAAA;AACvF,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF"}
@@ -105,4 +105,4 @@ function useSafeDialogThreadsMachine() {
105
105
  }
106
106
  }, []);
107
107
  return [state, send];
108
- }export{useSafeDialogThreadsMachine as default,useSafeDialogThreadsMachine};//# sourceMappingURL=useSafeDialogThreadsMachine.js.map
108
+ }export{useSafeDialogThreadsMachine};//# sourceMappingURL=useSafeDialogThreadsMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSafeDialogThreadsMachine.js","sources":["../../../../src/screens/inbox/hooks/useSafeDialogThreadsMachine.ts"],"sourcesContent":["import { useState, useCallback, useMemo } from 'react';\nimport { BaseState, Actions, dialogThreadsXstate } from '../workflow/dialog-threads-xstate';\n\n// Define proper types for the state and context\nexport interface DialogThreadsContext {\n channelId?: string;\n postParentId?: string | number;\n role?: string;\n channelsDetail: any;\n threadData: any[];\n loading: boolean;\n error: any;\n}\n\nexport interface DialogThreadsState {\n context: DialogThreadsContext;\n value: BaseState;\n matches: (stateValue: string) => boolean;\n}\n\n// Define proper action types\nexport type DialogThreadsEvent =\n | { type: typeof Actions.INITIALIZE; data: { channelId?: string; postParentId?: string | number; role?: string } }\n | { type: typeof Actions.FETCH_CHANNEL_DETAIL; data: { id: string } }\n | { type: typeof Actions.SET_CHANNEL_DETAIL; data: { channelsDetail: any } }\n | { type: typeof Actions.FETCH_THREADS; data?: any }\n | { type: typeof Actions.SET_THREADS; data: { threadData: any[] } }\n | { type: typeof Actions.ERROR; data: { error: any } };\n\n/**\n * Custom hook to safely use the dialog threads state machine\n * This provides a fallback implementation in case useMachine from XState has issues\n */\nexport function useSafeDialogThreadsMachine(): [DialogThreadsState, (event: DialogThreadsEvent) => void] {\n // Initialize with default state from the machine's initial context\n const [state, setState] = useState<DialogThreadsState>({\n context: {\n channelId: undefined,\n postParentId: undefined,\n role: undefined,\n channelsDetail: null,\n threadData: [],\n loading: true,\n error: null,\n },\n value: BaseState.Idle,\n matches: (value: string) => value === BaseState.Idle,\n });\n\n // Create a memoized function to determine state matching\n const matches = useCallback((value: string) => value === state.value, [state.value]);\n\n // Update the matches function when state changes\n useMemo(() => {\n setState((prev) => ({\n ...prev,\n matches,\n }));\n }, [matches]);\n\n // Create a safe send function to handle events\n const send = useCallback((event: DialogThreadsEvent) => {\n try {\n // Handle specific events based on the event type\n if (event.type === Actions.INITIALIZE) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n channelId: event.data?.channelId,\n postParentId: event.data?.postParentId,\n role: event.data?.role,\n loading: true,\n error: null,\n },\n value: BaseState.LoadingChannel,\n }));\n } else if (event.type === Actions.SET_CHANNEL_DETAIL) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n channelsDetail: event.data?.channelsDetail,\n loading: false,\n },\n value: BaseState.LoadingThreads,\n }));\n } else if (event.type === Actions.SET_THREADS) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n threadData: event.data?.threadData || [],\n loading: false,\n },\n value: BaseState.Active,\n }));\n } else if (event.type === Actions.FETCH_THREADS) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n loading: true,\n },\n value: BaseState.LoadingThreads,\n }));\n } else if (event.type === Actions.ERROR) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n error: event.data?.error,\n loading: false,\n },\n value: BaseState.Error,\n }));\n }\n } catch (error) {\n // Handle errors gracefully\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n error,\n loading: false,\n },\n value: BaseState.Error,\n }));\n }\n }, []);\n\n // Return as a tuple to match useMachine API\n return [state, send];\n}\n\nexport default useSafeDialogThreadsMachine;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSafeDialogThreadsMachine.js","sources":["../../../../src/screens/inbox/hooks/useSafeDialogThreadsMachine.ts"],"sourcesContent":["import { useState, useCallback, useMemo } from 'react';\nimport { BaseState, Actions, dialogThreadsXstate } from '../workflow/dialog-threads-xstate';\n\n// Define proper types for the state and context\nexport interface DialogThreadsContext {\n channelId?: string;\n postParentId?: string | number;\n role?: string;\n channelsDetail: any;\n threadData: any[];\n loading: boolean;\n error: any;\n}\n\nexport interface DialogThreadsState {\n context: DialogThreadsContext;\n value: BaseState;\n matches: (stateValue: string) => boolean;\n}\n\n// Define proper action types\nexport type DialogThreadsEvent =\n | { type: typeof Actions.INITIALIZE; data: { channelId?: string; postParentId?: string | number; role?: string } }\n | { type: typeof Actions.FETCH_CHANNEL_DETAIL; data: { id: string } }\n | { type: typeof Actions.SET_CHANNEL_DETAIL; data: { channelsDetail: any } }\n | { type: typeof Actions.FETCH_THREADS; data?: any }\n | { type: typeof Actions.SET_THREADS; data: { threadData: any[] } }\n | { type: typeof Actions.ERROR; data: { error: any } };\n\n/**\n * Custom hook to safely use the dialog threads state machine\n * This provides a fallback implementation in case useMachine from XState has issues\n */\nexport function useSafeDialogThreadsMachine(): [DialogThreadsState, (event: DialogThreadsEvent) => void] {\n // Initialize with default state from the machine's initial context\n const [state, setState] = useState<DialogThreadsState>({\n context: {\n channelId: undefined,\n postParentId: undefined,\n role: undefined,\n channelsDetail: null,\n threadData: [],\n loading: true,\n error: null,\n },\n value: BaseState.Idle,\n matches: (value: string) => value === BaseState.Idle,\n });\n\n // Create a memoized function to determine state matching\n const matches = useCallback((value: string) => value === state.value, [state.value]);\n\n // Update the matches function when state changes\n useMemo(() => {\n setState((prev) => ({\n ...prev,\n matches,\n }));\n }, [matches]);\n\n // Create a safe send function to handle events\n const send = useCallback((event: DialogThreadsEvent) => {\n try {\n // Handle specific events based on the event type\n if (event.type === Actions.INITIALIZE) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n channelId: event.data?.channelId,\n postParentId: event.data?.postParentId,\n role: event.data?.role,\n loading: true,\n error: null,\n },\n value: BaseState.LoadingChannel,\n }));\n } else if (event.type === Actions.SET_CHANNEL_DETAIL) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n channelsDetail: event.data?.channelsDetail,\n loading: false,\n },\n value: BaseState.LoadingThreads,\n }));\n } else if (event.type === Actions.SET_THREADS) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n threadData: event.data?.threadData || [],\n loading: false,\n },\n value: BaseState.Active,\n }));\n } else if (event.type === Actions.FETCH_THREADS) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n loading: true,\n },\n value: BaseState.LoadingThreads,\n }));\n } else if (event.type === Actions.ERROR) {\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n error: event.data?.error,\n loading: false,\n },\n value: BaseState.Error,\n }));\n }\n } catch (error) {\n // Handle errors gracefully\n setState((prev) => ({\n ...prev,\n context: {\n ...prev.context,\n error,\n loading: false,\n },\n value: BaseState.Error,\n }));\n }\n }, []);\n\n // Return as a tuple to match useMachine API\n return [state, send];\n}\n\nexport default useSafeDialogThreadsMachine;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-threads-xstate.js","sources":["../../../../src/screens/inbox/workflow/dialog-threads-xstate.ts"],"sourcesContent":["import { assign, setup } from 'xstate';\nimport { threadsMachineConfig } from '../machines/threadsMachine';\n\nexport enum BaseState {\n Idle = 'idle',\n LoadingChannel = 'loadingChannel',\n LoadingThreads = 'loadingThreads',\n Active = 'active',\n Error = 'error',\n}\n\nexport enum Actions {\n INITIALIZE = 'INITIALIZE',\n FETCH_CHANNEL_DETAIL = 'FETCH_CHANNEL_DETAIL',\n SET_CHANNEL_DETAIL = 'SET_CHANNEL_DETAIL',\n FETCH_THREADS = 'FETCH_THREADS',\n SET_THREADS = 'SET_THREADS',\n ERROR = 'ERROR',\n}\n\n// Type definitions for the event data\ntype InitializeEventData = { channelId?: string; postParentId?: string; role?: string };\ntype ChannelDetailEventData = { id: string };\ntype SetChannelDetailEventData = { channelsDetail: any };\ntype SetThreadsEventData = { threadData: any[] };\ntype ErrorEventData = { error: any };\n\nexport const dialogThreadsXstate = setup({\n types: {\n context: {} as {\n channelId?: string;\n postParentId?: string;\n role?: string;\n channelsDetail: any;\n threadData: any[];\n loading: boolean;\n error: any;\n },\n events: {} as\n | { type: typeof Actions.INITIALIZE; data: InitializeEventData }\n | { type: typeof Actions.FETCH_CHANNEL_DETAIL; data: ChannelDetailEventData }\n | { type: typeof Actions.SET_CHANNEL_DETAIL; data: SetChannelDetailEventData }\n | { type: typeof Actions.FETCH_THREADS; data?: {} }\n | { type: typeof Actions.SET_THREADS; data: SetThreadsEventData }\n | { type: typeof Actions.ERROR; data: ErrorEventData },\n },\n actions: {\n setInitialContext: assign({\n channelId: ({ event }) => {\n if (event.type === Actions.INITIALIZE) {\n return event.data.channelId;\n }\n return undefined;\n },\n postParentId: ({ event }) => {\n if (event.type === Actions.INITIALIZE) {\n return event.data.postParentId;\n }\n return undefined;\n },\n role: ({ event }) => {\n if (event.type === Actions.INITIALIZE) {\n return event.data.role;\n }\n return undefined;\n },\n loading: true,\n error: null,\n }),\n setChannelDetail: assign({\n channelsDetail: ({ event }) => {\n if (event.type === Actions.SET_CHANNEL_DETAIL) {\n return event.data.channelsDetail;\n }\n return null;\n },\n loading: false,\n }),\n setThreads: assign({\n threadData: ({ event }) => {\n if (event.type === Actions.SET_THREADS) {\n return event.data.threadData;\n }\n return [];\n },\n loading: false,\n }),\n setError: assign({\n error: ({ event }) => {\n if (event.type === Actions.ERROR) {\n return event.data.error;\n }\n return null;\n },\n loading: false,\n }),\n setLoading: assign({\n loading: true,\n }),\n },\n}).createMachine({\n id: 'dialogThreads',\n initial: BaseState.Idle,\n context: {\n channelId: undefined,\n postParentId: undefined,\n role: undefined,\n channelsDetail: null,\n threadData: [],\n loading: true,\n error: null,\n },\n states: {\n [BaseState.Idle]: {\n on: {\n [Actions.INITIALIZE]: {\n target: BaseState.LoadingChannel,\n actions: 'setInitialContext',\n },\n },\n },\n [BaseState.LoadingChannel]: {\n on: {\n [Actions.SET_CHANNEL_DETAIL]: {\n target: BaseState.LoadingThreads,\n actions: 'setChannelDetail',\n },\n [Actions.ERROR]: {\n target: BaseState.Error,\n actions: 'setError',\n },\n },\n },\n [BaseState.LoadingThreads]: {\n on: {\n [Actions.SET_THREADS]: {\n target: BaseState.Active,\n actions: 'setThreads',\n },\n [Actions.ERROR]: {\n target: BaseState.Error,\n actions: 'setError',\n },\n },\n },\n [BaseState.Active]: {\n on: {\n [Actions.FETCH_THREADS]: {\n target: BaseState.LoadingThreads,\n actions: 'setLoading',\n },\n },\n },\n [BaseState.Error]: {\n on: {\n [Actions.INITIALIZE]: {\n target: BaseState.LoadingChannel,\n actions: 'setInitialContext',\n },\n },\n },\n },\n});\n"],"names":["BaseState","Actions"],"mappings":"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"}
1
+ {"version":3,"file":"dialog-threads-xstate.js","sources":["../../../../src/screens/inbox/workflow/dialog-threads-xstate.ts"],"sourcesContent":["import { assign, setup } from 'xstate';\nimport { threadsMachineConfig } from '../machines/threadsMachine';\n\nexport enum BaseState {\n Idle = 'idle',\n LoadingChannel = 'loadingChannel',\n LoadingThreads = 'loadingThreads',\n Active = 'active',\n Error = 'error',\n}\n\nexport enum Actions {\n INITIALIZE = 'INITIALIZE',\n FETCH_CHANNEL_DETAIL = 'FETCH_CHANNEL_DETAIL',\n SET_CHANNEL_DETAIL = 'SET_CHANNEL_DETAIL',\n FETCH_THREADS = 'FETCH_THREADS',\n SET_THREADS = 'SET_THREADS',\n ERROR = 'ERROR',\n}\n\n// Type definitions for the event data\ntype InitializeEventData = { channelId?: string; postParentId?: string; role?: string };\ntype ChannelDetailEventData = { id: string };\ntype SetChannelDetailEventData = { channelsDetail: any };\ntype SetThreadsEventData = { threadData: any[] };\ntype ErrorEventData = { error: any };\n\nexport const dialogThreadsXstate = setup({\n types: {\n context: {} as {\n channelId?: string;\n postParentId?: string;\n role?: string;\n channelsDetail: any;\n threadData: any[];\n loading: boolean;\n error: any;\n },\n events: {} as\n | { type: typeof Actions.INITIALIZE; data: InitializeEventData }\n | { type: typeof Actions.FETCH_CHANNEL_DETAIL; data: ChannelDetailEventData }\n | { type: typeof Actions.SET_CHANNEL_DETAIL; data: SetChannelDetailEventData }\n | { type: typeof Actions.FETCH_THREADS; data?: {} }\n | { type: typeof Actions.SET_THREADS; data: SetThreadsEventData }\n | { type: typeof Actions.ERROR; data: ErrorEventData },\n },\n actions: {\n setInitialContext: assign({\n channelId: ({ event }) => {\n if (event.type === Actions.INITIALIZE) {\n return event.data.channelId;\n }\n return undefined;\n },\n postParentId: ({ event }) => {\n if (event.type === Actions.INITIALIZE) {\n return event.data.postParentId;\n }\n return undefined;\n },\n role: ({ event }) => {\n if (event.type === Actions.INITIALIZE) {\n return event.data.role;\n }\n return undefined;\n },\n loading: true,\n error: null,\n }),\n setChannelDetail: assign({\n channelsDetail: ({ event }) => {\n if (event.type === Actions.SET_CHANNEL_DETAIL) {\n return event.data.channelsDetail;\n }\n return null;\n },\n loading: false,\n }),\n setThreads: assign({\n threadData: ({ event }) => {\n if (event.type === Actions.SET_THREADS) {\n return event.data.threadData;\n }\n return [];\n },\n loading: false,\n }),\n setError: assign({\n error: ({ event }) => {\n if (event.type === Actions.ERROR) {\n return event.data.error;\n }\n return null;\n },\n loading: false,\n }),\n setLoading: assign({\n loading: true,\n }),\n },\n}).createMachine({\n id: 'dialogThreads',\n initial: BaseState.Idle,\n context: {\n channelId: undefined,\n postParentId: undefined,\n role: undefined,\n channelsDetail: null,\n threadData: [],\n loading: true,\n error: null,\n },\n states: {\n [BaseState.Idle]: {\n on: {\n [Actions.INITIALIZE]: {\n target: BaseState.LoadingChannel,\n actions: 'setInitialContext',\n },\n },\n },\n [BaseState.LoadingChannel]: {\n on: {\n [Actions.SET_CHANNEL_DETAIL]: {\n target: BaseState.LoadingThreads,\n actions: 'setChannelDetail',\n },\n [Actions.ERROR]: {\n target: BaseState.Error,\n actions: 'setError',\n },\n },\n },\n [BaseState.LoadingThreads]: {\n on: {\n [Actions.SET_THREADS]: {\n target: BaseState.Active,\n actions: 'setThreads',\n },\n [Actions.ERROR]: {\n target: BaseState.Error,\n actions: 'setError',\n },\n },\n },\n [BaseState.Active]: {\n on: {\n [Actions.FETCH_THREADS]: {\n target: BaseState.LoadingThreads,\n actions: 'setLoading',\n },\n },\n },\n [BaseState.Error]: {\n on: {\n [Actions.INITIALIZE]: {\n target: BaseState.LoadingChannel,\n actions: 'setInitialContext',\n },\n },\n },\n },\n});\n"],"names":["BaseState","Actions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/platform-mobile",
3
- "version": "10.0.3-alpha.23",
3
+ "version": "10.0.3-alpha.232",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -22,10 +22,11 @@
22
22
  "watch-ts": "tsc --watch"
23
23
  },
24
24
  "dependencies": {
25
- "@messenger-box/core": "10.0.3-alpha.17",
26
- "@messenger-box/platform-client": "10.0.3-alpha.17",
25
+ "@messenger-box/core": "10.0.3-alpha.232",
26
+ "@messenger-box/platform-client": "10.0.3-alpha.232",
27
27
  "base-64": "1.0.0",
28
- "react-native-gifted-chat": "1.0.4"
28
+ "react-native-gifted-chat": "2.6.5",
29
+ "react-native-markdown-display": "^7.0.0"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/bootstrap": "4.5.0",
@@ -33,15 +34,16 @@
33
34
  "@types/react-virtualized-auto-sizer": "1.0.0"
34
35
  },
35
36
  "peerDependencies": {
37
+ "@adminide-stack/file-info-client": "*",
36
38
  "@apollo/client": "*",
37
- "@container-stack/file-info-client": "*",
38
- "lodash": "*"
39
+ "lodash": "*",
40
+ "react-native-safe-area-context": "*"
39
41
  },
40
42
  "publishConfig": {
41
43
  "access": "public"
42
44
  },
45
+ "gitHead": "2042ca1c0b634b41d81cf2dc7299d13c446642ee",
43
46
  "typescript": {
44
47
  "definition": "lib/index.d.ts"
45
- },
46
- "gitHead": "bb2351bcc0f7a1b26c73b3c89f66d148a1797b26"
48
+ }
47
49
  }
package/CHANGELOG.md DELETED
@@ -1,172 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [10.0.3-alpha.23](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.22...v10.0.3-alpha.23) (2025-04-14)
7
-
8
- **Note:** Version bump only for package @messenger-box/platform-mobile
9
-
10
- ## [10.0.3-alpha.22](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.21...v10.0.3-alpha.22) (2025-04-14)
11
-
12
- **Note:** Version bump only for package @messenger-box/platform-mobile
13
-
14
- ## [10.0.3-alpha.20](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.19...v10.0.3-alpha.20) (2025-04-12)
15
-
16
- **Note:** Version bump only for package @messenger-box/platform-mobile
17
-
18
- ## [10.0.3-alpha.19](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.18...v10.0.3-alpha.19) (2025-04-10)
19
-
20
- **Note:** Version bump only for package @messenger-box/platform-mobile
21
-
22
- ## [10.0.3-alpha.18](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.17...v10.0.3-alpha.18) (2025-04-10)
23
-
24
- **Note:** Version bump only for package @messenger-box/platform-mobile
25
-
26
- ## [10.0.3-alpha.17](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.16...v10.0.3-alpha.17) (2025-04-08)
27
-
28
- **Note:** Version bump only for package @messenger-box/platform-mobile
29
-
30
- ## [10.0.3-alpha.16](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.15...v10.0.3-alpha.16) (2025-03-28)
31
-
32
- **Note:** Version bump only for package @messenger-box/platform-mobile
33
-
34
- ## [10.0.3-alpha.15](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.14...v10.0.3-alpha.15) (2025-03-28)
35
-
36
- **Note:** Version bump only for package @messenger-box/platform-mobile
37
-
38
- ## [10.0.3-alpha.14](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.13...v10.0.3-alpha.14) (2025-03-27)
39
-
40
- **Note:** Version bump only for package @messenger-box/platform-mobile
41
-
42
- ## [10.0.3-alpha.10](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.9...v10.0.3-alpha.10) (2025-03-22)
43
-
44
- **Note:** Version bump only for package @messenger-box/platform-mobile
45
-
46
- ## [10.0.3-alpha.7](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.6...v10.0.3-alpha.7) (2025-02-27)
47
-
48
- **Note:** Version bump only for package @messenger-box/platform-mobile
49
-
50
- ## [10.0.3-alpha.5](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.4...v10.0.3-alpha.5) (2025-02-25)
51
-
52
- **Note:** Version bump only for package @messenger-box/platform-mobile
53
-
54
- ## [10.0.3-alpha.0](https://github.com/cdmbase/messenger-box/compare/v10.0.2-alpha.6...v10.0.3-alpha.0) (2025-02-24)
55
-
56
- **Note:** Version bump only for package @messenger-box/platform-mobile
57
-
58
- ## [10.0.2-alpha.5](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.4...v10.0.2-alpha.5) (2025-02-24)
59
-
60
- **Note:** Version bump only for package @messenger-box/platform-mobile
61
-
62
- ## [10.0.2-alpha.4](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.3...v10.0.2-alpha.4) (2025-02-10)
63
-
64
- **Note:** Version bump only for package @messenger-box/platform-mobile
65
-
66
- ## [10.0.2-alpha.3](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.2...v10.0.2-alpha.3) (2025-02-10)
67
-
68
- **Note:** Version bump only for package @messenger-box/platform-mobile
69
-
70
- ## [10.0.2-alpha.2](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.1...v10.0.2-alpha.2) (2025-02-10)
71
-
72
- **Note:** Version bump only for package @messenger-box/platform-mobile
73
-
74
- ## [10.0.2-alpha.0](https://github.com/cdmbase/messenger-box/compare/v9.0.4-alpha.23...v10.0.2-alpha.0) (2025-02-04)
75
-
76
- **Note:** Version bump only for package @messenger-box/platform-mobile
77
-
78
- ## [10.0.1-alpha.0](https://github.com/cdmbase/messenger-box/compare/v9.0.4-alpha.23...v10.0.1-alpha.0) (2025-02-04)
79
-
80
- **Note:** Version bump only for package @messenger-box/platform-mobile
81
-
82
- ## [9.0.4-alpha.22](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.21...v9.0.4-alpha.22) (2025-01-31)
83
-
84
- **Note:** Version bump only for package @messenger-box/platform-mobile
85
-
86
- ## [9.0.4-alpha.21](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.20...v9.0.4-alpha.21) (2025-01-20)
87
-
88
- **Note:** Version bump only for package @messenger-box/platform-mobile
89
-
90
- ## [9.0.4-alpha.17](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.16...v9.0.4-alpha.17) (2024-10-17)
91
-
92
- **Note:** Version bump only for package @messenger-box/platform-mobile
93
-
94
- ## [9.0.4-alpha.15](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.14...v9.0.4-alpha.15) (2024-09-30)
95
-
96
- **Note:** Version bump only for package @messenger-box/platform-mobile
97
-
98
- ## [9.0.4-alpha.7](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.6...v9.0.4-alpha.7) (2024-09-20)
99
-
100
- **Note:** Version bump only for package @messenger-box/platform-mobile
101
-
102
- ## [9.0.4-alpha.4](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.3...v9.0.4-alpha.4) (2024-09-19)
103
-
104
- **Note:** Version bump only for package @messenger-box/platform-mobile
105
-
106
- ## [9.0.4-alpha.1](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.0...v9.0.4-alpha.1) (2024-09-12)
107
-
108
- **Note:** Version bump only for package @messenger-box/platform-mobile
109
-
110
- ## [9.0.2-alpha.6](https://github.com/CDEBase/messenger-box/compare/v9.0.2-alpha.5...v9.0.2-alpha.6) (2024-09-09)
111
-
112
- **Note:** Version bump only for package @messenger-box/platform-mobile
113
-
114
- ## [9.0.2-alpha.0](https://github.com/CDEBase/messenger-box/compare/v7.2.6-alpha.10...v9.0.2-alpha.0) (2024-09-06)
115
-
116
- **Note:** Version bump only for package @messenger-box/platform-mobile
117
-
118
- ## [7.2.6-alpha.4](https://github.com/CDEBase/messenger-box/compare/v7.2.6-alpha.3...v7.2.6-alpha.4) (2024-08-12)
119
-
120
- **Note:** Version bump only for package @messenger-box/platform-mobile
121
-
122
- ## 7.2.6-alpha.0 (2024-08-11)
123
-
124
- ### Bug Fixes
125
-
126
- - **mobile:** image upload in the mobile inbox ([effa26f](https://github.com/CDEBase/messenger-box/commit/effa26f9b4199f0c572d1a5880dea13578f56d6c))
127
- - **platform-mobile:** fix image preview on selection in chat ([33bedbb](https://github.com/CDEBase/messenger-box/commit/33bedbb13f72f9359f44d8c69f6f4517d477a582))
128
-
129
- ### Features
130
-
131
- - add inbox right side bar slot ([a90e137](https://github.com/CDEBase/messenger-box/commit/a90e1370c010218c27b057526605e105f049cc5c))
132
- - add seperate modules for react native ([63e3ac2](https://github.com/CDEBase/messenger-box/commit/63e3ac2f7840cce28ee04e79b9a1993e148786e7))
133
-
134
- ### Reverts
135
-
136
- - Revert "Merge slackUIDev and updated inbox" ([ca31269](https://github.com/CDEBase/messenger-box/commit/ca3126949d58890b296606e5055e55c10cf9c9f2))
137
-
138
- ## 7.2.4-alpha.0 (2024-07-19)
139
-
140
- ### Bug Fixes
141
-
142
- - **mobile:** image upload in the mobile inbox ([effa26f](https://github.com/CDEBase/messenger-box/commit/effa26f9b4199f0c572d1a5880dea13578f56d6c))
143
- - **platform-mobile:** fix image preview on selection in chat ([33bedbb](https://github.com/CDEBase/messenger-box/commit/33bedbb13f72f9359f44d8c69f6f4517d477a582))
144
-
145
- ### Features
146
-
147
- - add inbox right side bar slot ([a90e137](https://github.com/CDEBase/messenger-box/commit/a90e1370c010218c27b057526605e105f049cc5c))
148
- - add seperate modules for react native ([63e3ac2](https://github.com/CDEBase/messenger-box/commit/63e3ac2f7840cce28ee04e79b9a1993e148786e7))
149
-
150
- ### Reverts
151
-
152
- - Revert "Merge slackUIDev and updated inbox" ([ca31269](https://github.com/CDEBase/messenger-box/commit/ca3126949d58890b296606e5055e55c10cf9c9f2))
153
-
154
- ## [7.2.1-alpha.2](https://github.com/CDEBase/messenger-box/compare/v7.2.1-alpha.1...v7.2.1-alpha.2) (2024-07-16)
155
-
156
- **Note:** Version bump only for package @messenger-box/platform-mobile
157
-
158
- ## 7.2.1-alpha.0 (2024-07-15)
159
-
160
- ### Bug Fixes
161
-
162
- - **mobile:** image upload in the mobile inbox ([effa26f](https://github.com/CDEBase/messenger-box/commit/effa26f9b4199f0c572d1a5880dea13578f56d6c))
163
- - **platform-mobile:** fix image preview on selection in chat ([33bedbb](https://github.com/CDEBase/messenger-box/commit/33bedbb13f72f9359f44d8c69f6f4517d477a582))
164
-
165
- ### Features
166
-
167
- - add inbox right side bar slot ([a90e137](https://github.com/CDEBase/messenger-box/commit/a90e1370c010218c27b057526605e105f049cc5c))
168
- - add seperate modules for react native ([63e3ac2](https://github.com/CDEBase/messenger-box/commit/63e3ac2f7840cce28ee04e79b9a1993e148786e7))
169
-
170
- ### Reverts
171
-
172
- - Revert "Merge slackUIDev and updated inbox" ([ca31269](https://github.com/CDEBase/messenger-box/commit/ca3126949d58890b296606e5055e55c10cf9c9f2))
package/jest.config.js DELETED
@@ -1,24 +0,0 @@
1
- const merge = require('merge');
2
- const baseConfig = require('../../../jest.config.base');
3
-
4
- const mergeData = merge.recursive(
5
- baseConfig,
6
- {
7
- testEnvironment: 'jsdom',
8
- transform: {
9
- '\\.(js|jsx)?$': '../../../transform.js',
10
- },
11
- moduleNameMapper: {
12
- '^__mocks__/(.*)$': '<rootDir>/../../__mocks__/$1',
13
- // we'll use commonjs version of lodash for tests 👌
14
- // because we don't need to use any kind of tree shaking right?!
15
- '^lodash-es$': '<rootDir>/../../../node_modules/lodash/index.js',
16
- },
17
- roots: ['src'],
18
- },
19
- {
20
- globals: {},
21
- },
22
- );
23
-
24
- module.exports = mergeData;