@messenger-box/platform-mobile 10.0.3-alpha.0 → 10.0.3-alpha.5

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 (25) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/module.js +1 -1
  3. package/lib/screens/inbox/DialogMessages.js +1 -1
  4. package/lib/screens/inbox/DialogMessages.js.map +1 -1
  5. package/lib/screens/inbox/DialogThreadMessages.js +1 -1
  6. package/lib/screens/inbox/DialogThreadMessages.js.map +1 -1
  7. package/lib/screens/inbox/DialogThreads.js.map +1 -1
  8. package/lib/screens/inbox/components/DialogsListItem.js +5 -1
  9. package/lib/screens/inbox/components/DialogsListItem.js.map +1 -1
  10. package/lib/screens/inbox/components/ServiceDialogsListItem.js.map +1 -1
  11. package/lib/screens/inbox/components/SlackMessageContainer/ImageViewerModal.js +1 -1
  12. package/lib/screens/inbox/components/SlackMessageContainer/SlackBubble.js +13 -4
  13. package/lib/screens/inbox/components/SlackMessageContainer/SlackBubble.js.map +1 -1
  14. package/lib/screens/inbox/components/SlackMessageContainer/SlackMessage.js +4 -2
  15. package/lib/screens/inbox/components/SlackMessageContainer/SlackMessage.js.map +1 -1
  16. package/lib/screens/inbox/components/ThreadsViewItem.js.map +1 -1
  17. package/lib/screens/inbox/config/config.js +1 -1
  18. package/lib/screens/inbox/containers/ConversationView.js +2 -2
  19. package/lib/screens/inbox/containers/ConversationView.js.map +1 -1
  20. package/lib/screens/inbox/containers/Dialogs.js.map +1 -1
  21. package/lib/screens/inbox/containers/ThreadConversationView.js +2 -2
  22. package/lib/screens/inbox/containers/ThreadConversationView.js.map +1 -1
  23. package/lib/screens/inbox/containers/ThreadsView.js +1 -1
  24. package/lib/screens/inbox/containers/ThreadsView.js.map +1 -1
  25. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [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)
7
+
8
+ **Note:** Version bump only for package @messenger-box/platform-mobile
9
+
6
10
  ## [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)
7
11
 
8
12
  **Note:** Version bump only for package @messenger-box/platform-mobile
package/lib/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import {Feature}from'@common-stack/client-react';import {dataIdFromObject,schema,typePolicies}from'@messenger-box/platform-client';import {filteredRoutes}from'./compute.js';var PlatformModule = new Feature({
1
+ import {Feature}from'@common-stack/client-react';import {typePolicies,schema,dataIdFromObject}from'@messenger-box/platform-client';import {filteredRoutes}from'./compute.js';var PlatformModule = new Feature({
2
2
  dataIdFromObject,
3
3
  clientStateParams: {
4
4
  typeDefs: schema,
@@ -6,7 +6,7 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
7
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
8
  var __spreadValues = (a, b) => {
9
- for (var prop in b)
9
+ for (var prop in b || (b = {}))
10
10
  if (__hasOwnProp.call(b, prop))
11
11
  __defNormalProp(a, prop, b[prop]);
12
12
  if (__getOwnPropSymbols)
@@ -1 +1 @@
1
- {"version":3,"file":"DialogMessages.js","sources":["../../../src/screens/inbox/DialogMessages.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Box } from '@admin-layout/gluestack-ui-mobile';\nimport { ConversationView } from './containers/ConversationView';\nimport { navigationRef } from '@common-stack/client-react';\n\nexport function DialogMessages({ channelId, role, isShowThreadMessage = true, ...rest }) {\n const currentRoute = navigationRef.isReady() ? navigationRef?.getCurrentRoute() : null;\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <Box bg={'$white'} flex={1}>\n <ConversationView\n {...rest}\n channelId={currentRoute?.params?.channelId ?? channelId}\n role={role}\n isShowThreadMessage={isShowThreadMessage}\n />\n </Box>\n );\n}\n\nexport default DialogMessages;\n"],"names":["_a","_b"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAAS,eAAe,EAK5B,EAAA;AAL4B,EAC7B,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,mBAAsB,GAAA;AAAA,GAPxB,GAI+B,EAI1B,EAAA,IAAA,GAAA,SAAA,CAJ0B,EAI1B,EAAA;AAAA,IAHH,WAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAPF,EAAA,IAAAA,KAAAC,GAAA,EAAA,EAAA;AAUE,EAAA,MAAM,eAAe,aAAc,CAAA,OAAA,MAAYD,GAAA,GAAA,aAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAe,eAAoB,EAAA,GAAA,IAAA;AAClF,EAEE,uBAAA,KAAA,CAAA,aAAA,CAAC,OAAI,EAAI,EAAA,QAAA,EAAU,MAAM,CACjB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,gBAAqB,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EAArB,EAA2B,SAAA,EAAA,CAAW,MAAAC,GAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,WAAd,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAsB,cAAtB,IAAmC,GAAA,EAAA,GAAA,SAAA,EAAW,IAAY,EAAA,mBAAA,EAAA,CAA0C,CAC/I,CAAA;AAER"}
1
+ {"version":3,"file":"DialogMessages.js","sources":["../../../src/screens/inbox/DialogMessages.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Box } from '@admin-layout/gluestack-ui-mobile';\nimport { ConversationView } from './containers/ConversationView';\nimport { navigationRef } from '@common-stack/client-react';\n\nexport function DialogMessages({ channelId, role, isShowThreadMessage = true, ...rest }) {\n const currentRoute = navigationRef.isReady() ? navigationRef?.getCurrentRoute() : null;\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <Box bg={'$white'} flex={1}>\n <ConversationView\n {...rest}\n channelId={currentRoute?.params?.channelId ?? channelId}\n role={role}\n isShowThreadMessage={isShowThreadMessage}\n />\n </Box>\n );\n}\n\nexport default DialogMessages;\n"],"names":["_a","_b"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAAS,eAAe,EAK5B,EAAA;AAL4B,EAC7B,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,mBAAsB,GAAA;AAAA,GAPxB,GAI+B,EAI1B,EAAA,IAAA,GAAA,SAAA,CAJ0B,EAI1B,EAAA;AAAA,IAHH,WAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAPF,EAAA,IAAAA,KAAAC,GAAA,EAAA,EAAA;AAUE,EAAA,MAAM,eAAe,aAAc,CAAA,OAAA,MAAYD,GAAA,GAAA,aAAA,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAe,eAAoB,EAAA,GAAA,IAAA;AAClF,EAEE,uBAAA,KAAA,CAAA,aAAA,CAAC,OAAI,EAAI,EAAA,QAAA,EAAU,MAAM,CACjB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,gBAAqB,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EAArB,EAA2B,SAAA,EAAA,CAAW,MAAAC,GAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,WAAd,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAsB,cAAtB,IAAmC,GAAA,EAAA,GAAA,SAAA,EAAW,IAAY,EAAA,mBAAA,EAAA,CAA0C,CAC/I,CAAA;AAER"}
@@ -13,7 +13,7 @@ import*as React from'react';import {Box,Spinner}from'@admin-layout/gluestack-ui-
13
13
  id: channelId == null ? void 0 : channelId.toString()
14
14
  }
15
15
  });
16
- useSendThreadMessageMutation();
16
+ const [sendThreadMessage] = useSendThreadMessageMutation();
17
17
  const [loading, setLoading] = React.useState(true);
18
18
  const [channel, setChannel] = React.useState(null);
19
19
  const [parentId, setParentId] = React.useState(postParentId);
@@ -1 +1 @@
1
- {"version":3,"file":"DialogThreadMessages.js","sources":["../../../src/screens/inbox/DialogThreadMessages.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Box, Spinner, Text } from '@admin-layout/gluestack-ui-mobile';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery, useSendThreadMessageMutation } from 'common/lib/generated/generated.js';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\n\nexport function DialogThreadMessages({ channelId, postParentId, isPostParentIdThread, role }) {\n const {\n data,\n loading: channelLoading,\n refetch,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n const [sendThreadMessage] = useSendThreadMessageMutation();\n const [loading, setLoading] = React.useState<boolean>(true);\n const [channel, setChannel] = React.useState<any>(null);\n const [parentId, setParentId] = React.useState<any>(postParentId);\n\n const refetchChannelDetail = React.useCallback(\n (id: string) => {\n return refetch({ id: id?.toString() });\n },\n [channelId],\n );\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n if (channelId) refetch({ id: channelId?.toString() });\n return () => {};\n }, [channelId]),\n );\n\n React.useEffect(() => {\n setParentId(postParentId);\n }, [postParentId]);\n\n React.useEffect(() => {\n if (data?.viewChannelDetail) {\n setChannel(data?.viewChannelDetail);\n setLoading(false);\n }\n }, [data]);\n\n // React.useEffect(() => {\n // async function sendInitialMessage(channel: any) {\n // const content = `Welcome to ${channel?.title}`;\n // const createdBy = channel?.creator?.id;\n // await sendThreadMessage({\n // variables: {\n // channelId,\n // threadMessageInput: {\n // content,\n // role,\n // },\n // responderId: createdBy,\n // },\n // update: (cache, { data, errors }: any) => {\n // if (!data) {\n // return;\n // }\n // setParentId(data?.sendThreadMessage?.lastMessage?.id);\n // },\n // });\n // }\n // if ((!parentId || parentId == 0) && channel) {\n // sendInitialMessage(channel);\n // }\n\n // if (parentId) setLoading(false);\n // }, [parentId, channel]);\n\n return (\n <Box bg={'$white'} flex={1}>\n {/* {loading && !parentId ? ( */}\n {loading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <ThreadConversationView\n channelId={channelId}\n postParentId={parentId}\n isPostParentIdThread={isPostParentIdThread}\n role={role}\n />\n )}\n </Box>\n );\n}\n\nexport default DialogThreadMessages;\n"],"names":[],"mappings":"iUAOO,SAAS,oBAAqB,CAAA;AAAA,EACnC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAS,EAAA,cAAA;AAAA,IACT;AAAA,MACE,yBAA0B,CAAA;AAAA,IAC5B,SAAW,EAAA;AAAA,MACT,IAAI,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,QAAA;AAAA;AACjB,GACD,CAAA;AACD,EAA4B,4BAA6B;AACzD,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,KAAA,CAAM,SAAkB,IAAI,CAAA;AAC1D,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,KAAA,CAAM,SAAc,IAAI,CAAA;AACtD,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAA,KAAA,CAAM,SAAc,YAAY,CAAA;AAChE,EAA6B,KAAA,CAAM,WAAY,CAAA,CAAC,EAAe,KAAA;AAC7D,IAAA,OAAO,OAAQ,CAAA;AAAA,MACb,IAAI,EAAI,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA;AAAA,KACT,CAAA;AAAA,GACH,EAAG,CAAC,SAAS,CAAC;AACd,EAAe,cAAA,CAAA,KAAA,CAAM,YAAY,MAAM;AAErC,IAAI,IAAA,SAAA;AAAW,MAAQ,OAAA,CAAA;AAAA,QACrB,IAAI,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,QAAA;AAAA,OAChB,CAAA;AACD,IAAA,OAAO,MAAM;AAAA,KAAC;AAAA,GACb,EAAA,CAAC,SAAS,CAAC,CAAC,CAAA;AACf,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,WAAA,CAAY,YAAY,CAAA;AAAA,GAC1B,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,6BAAM,iBAAmB,EAAA;AAC3B,MAAA,UAAA,CAAW,6BAAM,iBAAiB,CAAA;AAClC,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA;AAClB,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AA8BT,EAAA,2CAAQ,GAAI,EAAA,EAAA,EAAA,EAAI,UAAU,IAAM,EAAA,CAAA,EAAA,EAErB,0BAAW,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,OAAO,UAAY,EAAA,CAAA,uCAAM,sBAAuB,EAAA,EAAA,SAAA,EAAsB,cAAc,QAAU,EAAA,oBAAA,EAA4C,MAAY,CAC9K,CAAA;AACR"}
1
+ {"version":3,"file":"DialogThreadMessages.js","sources":["../../../src/screens/inbox/DialogThreadMessages.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Box, Spinner, Text } from '@admin-layout/gluestack-ui-mobile';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery, useSendThreadMessageMutation } from 'common/lib/generated/generated.js';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\n\nexport function DialogThreadMessages({ channelId, postParentId, isPostParentIdThread, role }) {\n const {\n data,\n loading: channelLoading,\n refetch,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n const [sendThreadMessage] = useSendThreadMessageMutation();\n const [loading, setLoading] = React.useState<boolean>(true);\n const [channel, setChannel] = React.useState<any>(null);\n const [parentId, setParentId] = React.useState<any>(postParentId);\n\n const refetchChannelDetail = React.useCallback(\n (id: string) => {\n return refetch({ id: id?.toString() });\n },\n [channelId],\n );\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n if (channelId) refetch({ id: channelId?.toString() });\n return () => {};\n }, [channelId]),\n );\n\n React.useEffect(() => {\n setParentId(postParentId);\n }, [postParentId]);\n\n React.useEffect(() => {\n if (data?.viewChannelDetail) {\n setChannel(data?.viewChannelDetail);\n setLoading(false);\n }\n }, [data]);\n\n // React.useEffect(() => {\n // async function sendInitialMessage(channel: any) {\n // const content = `Welcome to ${channel?.title}`;\n // const createdBy = channel?.creator?.id;\n // await sendThreadMessage({\n // variables: {\n // channelId,\n // threadMessageInput: {\n // content,\n // role,\n // },\n // responderId: createdBy,\n // },\n // update: (cache, { data, errors }: any) => {\n // if (!data) {\n // return;\n // }\n // setParentId(data?.sendThreadMessage?.lastMessage?.id);\n // },\n // });\n // }\n // if ((!parentId || parentId == 0) && channel) {\n // sendInitialMessage(channel);\n // }\n\n // if (parentId) setLoading(false);\n // }, [parentId, channel]);\n\n return (\n <Box bg={'$white'} flex={1}>\n {/* {loading && !parentId ? ( */}\n {loading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <ThreadConversationView\n channelId={channelId}\n postParentId={parentId}\n isPostParentIdThread={isPostParentIdThread}\n role={role}\n />\n )}\n </Box>\n );\n}\n\nexport default DialogThreadMessages;\n"],"names":[],"mappings":"iUAOO,SAAS,oBAAqB,CAAA;AAAA,EACnC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAS,EAAA,cAAA;AAAA,IACT;AAAA,MACE,yBAA0B,CAAA;AAAA,IAC5B,SAAW,EAAA;AAAA,MACT,IAAI,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,QAAA;AAAA;AACjB,GACD,CAAA;AACD,EAAM,MAAA,CAAC,iBAAiB,CAAA,GAAI,4BAA6B,EAAA;AACzD,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,KAAA,CAAM,SAAkB,IAAI,CAAA;AAC1D,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,KAAA,CAAM,SAAc,IAAI,CAAA;AACtD,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAA,KAAA,CAAM,SAAc,YAAY,CAAA;AAChE,EAA6B,KAAA,CAAM,WAAY,CAAA,CAAC,EAAe,KAAA;AAC7D,IAAA,OAAO,OAAQ,CAAA;AAAA,MACb,IAAI,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA;AAAA,KACT,CAAA;AAAA,GACH,EAAG,CAAC,SAAS,CAAC;AACd,EAAe,cAAA,CAAA,KAAA,CAAM,YAAY,MAAM;AAErC,IAAI,IAAA,SAAA;AAAW,MAAQ,OAAA,CAAA;AAAA,QACrB,IAAI,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,QAAA;AAAA,OAChB,CAAA;AACD,IAAA,OAAO,MAAM;AAAA,KAAC;AAAA,GACb,EAAA,CAAC,SAAS,CAAC,CAAC,CAAA;AACf,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,WAAA,CAAY,YAAY,CAAA;AAAA,GAC1B,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,6BAAM,iBAAmB,EAAA;AAC3B,MAAA,UAAA,CAAW,6BAAM,iBAAiB,CAAA;AAClC,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA;AAClB,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AA8BT,EAAA,2CAAQ,GAAI,EAAA,EAAA,EAAA,EAAI,UAAU,IAAM,EAAA,CAAA,EAAA,EAErB,0BAAW,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,OAAO,UAAY,EAAA,CAAA,uCAAM,sBAAuB,EAAA,EAAA,SAAA,EAAsB,cAAc,QAAU,EAAA,oBAAA,EAA4C,MAAY,CAC9K,CAAA;AACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogThreads.js","sources":["../../../src/screens/inbox/DialogThreads.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Box, Spinner, Text } from '@admin-layout/gluestack-ui-mobile';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery, useThreadMessagesQuery } from 'common/lib/generated/generated.js';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { config } from './config';\nconst { MESSAGES_PER_PAGE } = config;\n\nexport function DialogThreads({ channelId, postParentId, role }) {\n const {\n data: channelData,\n loading: channelLoading,\n refetch: channelRefetch,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n const {\n data: threadsData,\n loading: threadLoading,\n error: threadsError,\n refetch: threadsRefetch,\n subscribeToMore: threadsSubscribeToMore,\n } = useThreadMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n },\n // fetchPolicy: 'cache-and-network',\n });\n\n const channelsDetail = React.useMemo(() => {\n if (!channelData?.viewChannelDetail) return null;\n return channelData?.viewChannelDetail;\n }, [channelData]);\n\n const refetchChannelDetail = React.useCallback(\n (id: string) => {\n return channelRefetch({ id: id?.toString() });\n },\n [channelId],\n );\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n if (channelId) refetchChannelDetail(channelId);\n return () => {};\n }, []),\n );\n\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <>\n {channelLoading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <>\n <Box\n flex={1}\n $dark-borderColor=\"$coolGray600\"\n $dark-backgroundColor=\"$trueGray700\"\n $light-backgroundColor=\"$trueGray50\"\n >\n <ThreadsView\n data={threadsData}\n loading={threadLoading}\n refetch={threadsRefetch}\n subscribeToMore={threadsSubscribeToMore}\n error={threadsError}\n channelId={channelId}\n role={role}\n channelsDetail={channelsDetail}\n refetchChannelDetail={refetchChannelDetail}\n />\n </Box>\n </>\n )}\n </>\n );\n\n // return (\n // // <Box bg={'white'} flex={1} pt={5}>\n // <>\n // {channelLoading ? (\n // <Spinner />\n // ) : (\n // <>\n // {postParentId || postParentId == 0 ? (\n // <Box bg={'white'} flex={1}>\n // <ThreadConversationView\n // channelId={channelId}\n // postParentId={postParentId}\n // channelsDetail={channelsDetail}\n // refetchChannelDetail={refetchChannelDetail}\n // />\n // </Box>\n // ) : (\n // <Box\n // flex={1}\n // _dark={{\n // borderColor: 'coolGray.600',\n // backgroundColor: 'gray.700',\n // }}\n // _light={{\n // backgroundColor: 'gray.50',\n // }}\n // >\n // <ThreadsView\n // channelId={channelId}\n // channelsDetail={channelsDetail}\n // refetchChannelDetail={refetchChannelDetail}\n // />\n // </Box>\n // )}\n // </>\n // )}\n // </>\n // );\n}\n\nexport default DialogThreads;\n"],"names":[],"mappings":"6UAQA,MAAM;AAAA,EACJ;AACF,CAAI,GAAA,MAAA;AACG,SAAS,aAAc,CAAA;AAAA,EAC5B,SAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,IACT,OAAS,EAAA;AAAA,MACP,yBAA0B,CAAA;AAAA,IAC5B,SAAW,EAAA;AAAA,MACT,IAAI,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,QAAA;AAAA;AACjB,GACD,CAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,OAAS,EAAA,aAAA;AAAA,IACT,KAAO,EAAA,YAAA;AAAA,IACP,OAAS,EAAA,cAAA;AAAA,IACT,eAAiB,EAAA;AAAA,MACf,sBAAuB,CAAA;AAAA,IACzB,SAAW,EAAA;AAAA,MACT,WAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,QAAA,EAAA;AAAA,MACtB,MAAM,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA,EAAA;AAAA,MACZ,KAAO,EAAA,iBAAA;AAAA,MACP,aAAe,EAAA;AAAA;AACjB,GAED,CAAA;AACD,EAAM,MAAA,cAAA,GAAiB,KAAM,CAAA,OAAA,CAAQ,MAAM;AACzC,IAAA,IAAI,EAAC,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,iBAAA,CAAA;AAAmB,MAAO,OAAA,IAAA;AAC5C,IAAA,OAAO,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,iBAAA;AAAA,GACtB,EAAG,CAAC,WAAW,CAAC,CAAA;AAChB,EAAA,MAAM,oBAAuB,GAAA,KAAA,CAAM,WAAY,CAAA,CAAC,EAAe,KAAA;AAC7D,IAAA,OAAO,cAAe,CAAA;AAAA,MACpB,IAAI,EAAI,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA;AAAA,KACT,CAAA;AAAA,GACH,EAAG,CAAC,SAAS,CAAC,CAAA;AACd,EAAe,cAAA,CAAA,KAAA,CAAM,YAAY,MAAM;AAErC,IAAI,IAAA,SAAA;AAAW,MAAA,oBAAA,CAAqB,SAAS,CAAA;AAC7C,IAAA,OAAO,MAAM;AAAA,KAAC;AAAA,GAChB,EAAG,EAAE,CAAC,CAAA;AACN,EAAA,iEAGW,cAAiB,mBAAA,KAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,KAAA,EAAO,YAAY,CAAK,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAC1C,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,MAAM,CAAG,EAAA,mBAAA,EAAkB,cAAe,EAAA,uBAAA,EAAsB,gBAAe,wBAAuB,EAAA,aAAA,EAAA,kBACtG,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,MAAM,WAAa,EAAA,OAAA,EAAS,aAAe,EAAA,OAAA,EAAS,gBAAgB,eAAiB,EAAA,sBAAA,EAAwB,KAAO,EAAA,YAAA,EAAc,WAAsB,IAAY,EAAA,cAAA,EAAgC,oBAA4C,EAAA,CACjQ,CACJ,CACR,CAAA;AAyCR"}
1
+ {"version":3,"file":"DialogThreads.js","sources":["../../../src/screens/inbox/DialogThreads.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Box, Spinner, Text } from '@admin-layout/gluestack-ui-mobile';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery, useThreadMessagesQuery } from 'common/lib/generated/generated.js';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { config } from './config';\nconst { MESSAGES_PER_PAGE } = config;\n\nexport function DialogThreads({ channelId, postParentId, role }) {\n const {\n data: channelData,\n loading: channelLoading,\n refetch: channelRefetch,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n const {\n data: threadsData,\n loading: threadLoading,\n error: threadsError,\n refetch: threadsRefetch,\n subscribeToMore: threadsSubscribeToMore,\n } = useThreadMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n repliesLimit2: 5,\n },\n // fetchPolicy: 'cache-and-network',\n });\n\n const channelsDetail = React.useMemo(() => {\n if (!channelData?.viewChannelDetail) return null;\n return channelData?.viewChannelDetail;\n }, [channelData]);\n\n const refetchChannelDetail = React.useCallback(\n (id: string) => {\n return channelRefetch({ id: id?.toString() });\n },\n [channelId],\n );\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n if (channelId) refetchChannelDetail(channelId);\n return () => {};\n }, []),\n );\n\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <>\n {channelLoading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <>\n <Box\n flex={1}\n $dark-borderColor=\"$coolGray600\"\n $dark-backgroundColor=\"$trueGray700\"\n $light-backgroundColor=\"$trueGray50\"\n >\n <ThreadsView\n data={threadsData}\n loading={threadLoading}\n refetch={threadsRefetch}\n subscribeToMore={threadsSubscribeToMore}\n error={threadsError}\n channelId={channelId}\n role={role}\n channelsDetail={channelsDetail}\n refetchChannelDetail={refetchChannelDetail}\n />\n </Box>\n </>\n )}\n </>\n );\n\n // return (\n // // <Box bg={'white'} flex={1} pt={5}>\n // <>\n // {channelLoading ? (\n // <Spinner />\n // ) : (\n // <>\n // {postParentId || postParentId == 0 ? (\n // <Box bg={'white'} flex={1}>\n // <ThreadConversationView\n // channelId={channelId}\n // postParentId={postParentId}\n // channelsDetail={channelsDetail}\n // refetchChannelDetail={refetchChannelDetail}\n // />\n // </Box>\n // ) : (\n // <Box\n // flex={1}\n // _dark={{\n // borderColor: 'coolGray.600',\n // backgroundColor: 'gray.700',\n // }}\n // _light={{\n // backgroundColor: 'gray.50',\n // }}\n // >\n // <ThreadsView\n // channelId={channelId}\n // channelsDetail={channelsDetail}\n // refetchChannelDetail={refetchChannelDetail}\n // />\n // </Box>\n // )}\n // </>\n // )}\n // </>\n // );\n}\n\nexport default DialogThreads;\n"],"names":[],"mappings":"6UAQA,MAAM;AAAA,EACJ;AACF,CAAI,GAAA,MAAA;AACG,SAAS,aAAc,CAAA;AAAA,EAC5B,SAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,IACT,OAAS,EAAA;AAAA,MACP,yBAA0B,CAAA;AAAA,IAC5B,SAAW,EAAA;AAAA,MACT,IAAI,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,QAAA;AAAA;AACjB,GACD,CAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,OAAS,EAAA,aAAA;AAAA,IACT,KAAO,EAAA,YAAA;AAAA,IACP,OAAS,EAAA,cAAA;AAAA,IACT,eAAiB,EAAA;AAAA,MACf,sBAAuB,CAAA;AAAA,IACzB,SAAW,EAAA;AAAA,MACT,WAAW,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,QAAA,EAAA;AAAA,MACtB,MAAM,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,QAAA,EAAA;AAAA,MACZ,KAAO,EAAA,iBAAA;AAAA,MACP,aAAe,EAAA;AAAA;AACjB,GAED,CAAA;AACD,EAAM,MAAA,cAAA,GAAiB,KAAM,CAAA,OAAA,CAAQ,MAAM;AACzC,IAAA,IAAI,EAAC,WAAa,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA,iBAAA,CAAA;AAAmB,MAAO,OAAA,IAAA;AAC5C,IAAA,OAAO,WAAa,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA,iBAAA;AAAA,GACtB,EAAG,CAAC,WAAW,CAAC,CAAA;AAChB,EAAA,MAAM,oBAAuB,GAAA,KAAA,CAAM,WAAY,CAAA,CAAC,EAAe,KAAA;AAC7D,IAAA,OAAO,cAAe,CAAA;AAAA,MACpB,IAAI,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA;AAAA,KACT,CAAA;AAAA,GACH,EAAG,CAAC,SAAS,CAAC,CAAA;AACd,EAAe,cAAA,CAAA,KAAA,CAAM,YAAY,MAAM;AAErC,IAAI,IAAA,SAAA;AAAW,MAAA,oBAAA,CAAqB,SAAS,CAAA;AAC7C,IAAA,OAAO,MAAM;AAAA,KAAC;AAAA,GAChB,EAAG,EAAE,CAAC,CAAA;AACN,EAAA,iEAGW,cAAiB,mBAAA,KAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,KAAA,EAAO,YAAY,CAAK,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAC1C,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,MAAM,CAAG,EAAA,mBAAA,EAAkB,cAAe,EAAA,uBAAA,EAAsB,gBAAe,wBAAuB,EAAA,aAAA,EAAA,kBACtG,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,MAAM,WAAa,EAAA,OAAA,EAAS,aAAe,EAAA,OAAA,EAAS,gBAAgB,eAAiB,EAAA,sBAAA,EAAwB,KAAO,EAAA,YAAA,EAAc,WAAsB,IAAY,EAAA,cAAA,EAAgC,oBAA4C,EAAA,CACjQ,CACJ,CACR,CAAA;AAyCR"}
@@ -50,7 +50,11 @@ const DialogsListItemComponent = function DialogsListItem2({
50
50
  fetchPolicy: "cache-and-network",
51
51
  refetchWritePolicy: "merge"
52
52
  });
53
- useOnChatMessageAddedSubscription({
53
+ const {
54
+ data: newMessage,
55
+ loading: newMsgLoading,
56
+ error: newMsgError
57
+ } = useOnChatMessageAddedSubscription({
54
58
  variables: {
55
59
  channelId: (_b = channel == null ? void 0 : channel.id) == null ? void 0 : _b.toString()
56
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DialogsListItem.js","sources":["../../../../src/screens/inbox/components/DialogsListItem.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Text,\n Image,\n Pressable,\n HStack,\n Box,\n AvatarGroup,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n View,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { IChannel, SortEnum, IUserAccount } from 'common';\nimport {\n useMessagesQuery,\n useOnChatMessageAddedSubscription,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useUserAccountQuery,\n} from 'common/lib/generated/generated.js';\nimport { startCase } from 'lodash-es';\n\nconst createdAtText = (value: string) => {\n if (!value) return '';\n let date = new Date(value);\n if (isToday(date)) return 'Today';\n if (isYesterday(date)) return 'Yesterday';\n return format(new Date(value), 'MMM dd, yyyy');\n};\n\nexport interface IDialogListChannel extends IChannel {\n users: IUserAccount[];\n}\n\nexport interface IDialogListItemProps {\n currentUser?: any;\n users?: any;\n selectedChannelId?: any;\n channel?: any;\n onOpen: (id: any, title: any) => void;\n}\n\n/**\n * TODO:\n * - Get Reservation info: reservation date, status\n * - Add ability to get property information: name, logo\n */\nexport const DialogsListItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n selectedChannelId,\n channel,\n onOpen,\n}) {\n const parentId: any = null;\n const [messages, setMessages] = useState<any>([]);\n const {\n data: messagesQuery,\n loading: messageLoading,\n refetch: refetchMessages,\n subscribeToMore,\n } = useMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n parentId: parentId,\n limit: 10,\n // sort: {\n // key: 'updatedAt',\n // value: SortEnum.Desc,\n // },\n //limit: 25,\n },\n fetchPolicy: 'cache-and-network',\n refetchWritePolicy: 'merge',\n });\n\n const {\n data: newMessage,\n loading: newMsgLoading,\n error: newMsgError,\n }: any = useOnChatMessageAddedSubscription({\n variables: {\n channelId: channel?.id?.toString(),\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n refetchMessages({\n channelId: channel?.id?.toString(),\n parentId: parentId,\n limit: 10,\n // sort: {\n // key: 'updatedAt',\n // value: SortEnum.Desc,\n // },\n //limit: 25\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n React.useEffect(() => {\n if (messagesQuery) {\n if (messagesQuery?.messages?.data?.length) {\n const msg = messagesQuery?.messages?.data;\n setMessages((pre: any[]) => [...pre, ...msg]);\n }\n }\n }, [messagesQuery]);\n\n const lastMessage = useMemo(() => {\n if (!messages?.length) {\n return null;\n }\n // const { data } = messagesQuery.messages;\n const data = messages;\n const filteredData: any = data?.filter((p: any) => p?.message !== '');\n // return filteredData[0];\n let filteredLastMessage =\n filteredData && filteredData?.length\n ? filteredData?.reduce((a, b) => {\n return new Date(a?.updatedAt) > new Date(b?.updatedAt) ? a : b;\n }, []) ?? null\n : null;\n return filteredLastMessage;\n //return data[data.length - 1];\n }, [messages]);\n\n const channelMembers = useMemo(\n () =>\n channel?.members\n ?.filter((ch: any) => ch?.user?.id != currentUser?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null,\n [currentUser, channel],\n );\n\n const title = useMemo(() => {\n const titleString =\n channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? '';\n\n const length = 30;\n return titleString.length > length ? titleString.substring(0, length - 3) + '...' : titleString;\n }, [channelMembers]);\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, title)}\n borderWidth={'$1'}\n borderRadius={'$md'}\n borderColor={'$trueGray200'}\n flex={1}\n $dark-borderColor=\"$coolGray600\"\n $dark-backgroundColor=\"$trueGray700\"\n $light-backgroundColor=\"$trueGray50\"\n $light-borderColor=\"$trueGray200\"\n >\n <HStack\n // px={2}\n // pl={3}\n py={'$3'}\n space={'sm'}\n w={'100%'}\n flex={1}\n // direction={'row'}\n justifyContent={'space-between'}\n alignItems={'center'}\n >\n <Box flex={0.1} alignItems={'flex-start'} pl={'$3'}>\n <AvatarGroup>\n {channelMembers &&\n channelMembers?.length > 0 &&\n channelMembers?.slice(0, 2)?.map((ch: any, i: Number) => (\n <Avatar\n key={'dialogs-list-' + i}\n bg={'transparent'}\n size={'sm'}\n top={i == 1 ? '$4' : '$0'}\n right={i == 1 ? '-$2' : '$0'}\n zIndex={i == 1 ? 5 : 1}\n >\n <AvatarFallbackText>{startCase(ch?.username?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"user image\"\n style={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: ch?.picture,\n }}\n />\n {channelMembers?.length == 1 && (\n <AvatarBadge style={{ width: 10, height: 10 }} bg=\"$green800\" />\n )}\n </Avatar>\n ))}\n </AvatarGroup>\n </Box>\n <Box flex={0.9}>\n {/* <HStack space={1} flex={1} direction={'row'} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"gray.600\" fontSize=\"lg\" flexWrap={'wrap'} fontWeight=\"semibold\">\n {title}\n </Text>\n <Text color=\"gray.600\" noOfLines={1}>\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n <Text color=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack> */}\n <LastMessageComponent\n title={title}\n lastMessage={lastMessage}\n channelId={channel?.id}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channel.id?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newMessage: any = subscriptionData?.data?.chatMessageAdded;\n const existingMessages: any = prev?.messages;\n const previousData = existingMessages?.data\n ? [...existingMessages.data, newMessage]\n : [];\n const totalMsgCount = existingMessages?.totalCount + 1;\n const merged = {\n ...prev,\n messages: {\n ...existingMessages,\n data: previousData,\n totalCount: totalMsgCount,\n },\n };\n return merged;\n },\n })\n }\n />\n {/* <Text\n flex={1}\n color=\"gray.600\"\n p={0}\n m={0}\n w={'100%'}\n justifyContent={''}\n fontSize=\"lg\"\n fontWeight=\"semibold\"\n >\n {title}\n </Text> */}\n {/* <Text flex={0.1} color=\"gray.600\">\n {lastMessage?.message ?? ''}\n </Text> */}\n </Box>\n {/* <Text flex={0.2} color=\"gray.500\">\n {lastMessage ? createdAtText(lastMessage?.createdAt) : ''}\n </Text> */}\n </HStack>\n </Pressable>\n );\n};\n\nconst LastMessageComponent = ({ subscribeToNewMessages, title, lastMessage, channelId }) => {\n React.useEffect(() => subscribeToNewMessages(), [channelId]);\n return (\n <HStack space={'sm'} flex={1} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"$trueGray600\" fontSize=\"$lg\" flexWrap={'wrap'} fontWeight=\"$semibold\">\n {title}\n </Text>\n <Text color=\"$trueGray600\" numberOfLines={1}>\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n <Text color=\"$trueGray500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n};\n\nexport const DialogsListItem = React.memo(DialogsListItemComponent);\n"],"names":["DialogsListItem","React","_a","_b","_c","CHAT_MESSAGE_ADDED","newMessage"],"mappings":"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"}
1
+ {"version":3,"file":"DialogsListItem.js","sources":["../../../../src/screens/inbox/components/DialogsListItem.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Text,\n Image,\n Pressable,\n HStack,\n Box,\n AvatarGroup,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n View,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { IChannel, SortEnum, IUserAccount } from 'common';\nimport {\n useMessagesQuery,\n useOnChatMessageAddedSubscription,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useUserAccountQuery,\n} from 'common/lib/generated/generated.js';\nimport { startCase } from 'lodash-es';\n\nconst createdAtText = (value: string) => {\n if (!value) return '';\n let date = new Date(value);\n if (isToday(date)) return 'Today';\n if (isYesterday(date)) return 'Yesterday';\n return format(new Date(value), 'MMM dd, yyyy');\n};\n\nexport interface IDialogListChannel extends IChannel {\n users: IUserAccount[];\n}\n\nexport interface IDialogListItemProps {\n currentUser?: any;\n users?: any;\n selectedChannelId?: any;\n channel?: any;\n onOpen: (id: any, title: any) => void;\n}\n\n/**\n * TODO:\n * - Get Reservation info: reservation date, status\n * - Add ability to get property information: name, logo\n */\nexport const DialogsListItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n selectedChannelId,\n channel,\n onOpen,\n}) {\n const parentId: any = null;\n const [messages, setMessages] = useState<any>([]);\n const {\n data: messagesQuery,\n loading: messageLoading,\n refetch: refetchMessages,\n subscribeToMore,\n } = useMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n parentId: parentId,\n limit: 10,\n // sort: {\n // key: 'updatedAt',\n // value: SortEnum.Desc,\n // },\n //limit: 25,\n },\n fetchPolicy: 'cache-and-network',\n refetchWritePolicy: 'merge',\n });\n\n const {\n data: newMessage,\n loading: newMsgLoading,\n error: newMsgError,\n }: any = useOnChatMessageAddedSubscription({\n variables: {\n channelId: channel?.id?.toString(),\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n refetchMessages({\n channelId: channel?.id?.toString(),\n parentId: parentId,\n limit: 10,\n // sort: {\n // key: 'updatedAt',\n // value: SortEnum.Desc,\n // },\n //limit: 25\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n React.useEffect(() => {\n if (messagesQuery) {\n if (messagesQuery?.messages?.data?.length) {\n const msg = messagesQuery?.messages?.data;\n setMessages((pre: any[]) => [...pre, ...msg]);\n }\n }\n }, [messagesQuery]);\n\n const lastMessage = useMemo(() => {\n if (!messages?.length) {\n return null;\n }\n // const { data } = messagesQuery.messages;\n const data = messages;\n const filteredData: any = data?.filter((p: any) => p?.message !== '');\n // return filteredData[0];\n let filteredLastMessage =\n filteredData && filteredData?.length\n ? filteredData?.reduce((a, b) => {\n return new Date(a?.updatedAt) > new Date(b?.updatedAt) ? a : b;\n }, []) ?? null\n : null;\n return filteredLastMessage;\n //return data[data.length - 1];\n }, [messages]);\n\n const channelMembers = useMemo(\n () =>\n channel?.members\n ?.filter((ch: any) => ch?.user?.id != currentUser?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null,\n [currentUser, channel],\n );\n\n const title = useMemo(() => {\n const titleString =\n channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? '';\n\n const length = 30;\n return titleString.length > length ? titleString.substring(0, length - 3) + '...' : titleString;\n }, [channelMembers]);\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, title)}\n borderWidth={'$1'}\n borderRadius={'$md'}\n borderColor={'$trueGray200'}\n flex={1}\n $dark-borderColor=\"$coolGray600\"\n $dark-backgroundColor=\"$trueGray700\"\n $light-backgroundColor=\"$trueGray50\"\n $light-borderColor=\"$trueGray200\"\n >\n <HStack\n // px={2}\n // pl={3}\n py={'$3'}\n space={'sm'}\n w={'100%'}\n flex={1}\n // direction={'row'}\n justifyContent={'space-between'}\n alignItems={'center'}\n >\n <Box flex={0.1} alignItems={'flex-start'} pl={'$3'}>\n <AvatarGroup>\n {channelMembers &&\n channelMembers?.length > 0 &&\n channelMembers?.slice(0, 2)?.map((ch: any, i: Number) => (\n <Avatar\n key={'dialogs-list-' + i}\n bg={'transparent'}\n size={'sm'}\n top={i == 1 ? '$4' : '$0'}\n right={i == 1 ? '-$2' : '$0'}\n zIndex={i == 1 ? 5 : 1}\n >\n <AvatarFallbackText>{startCase(ch?.username?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"user image\"\n style={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: ch?.picture,\n }}\n />\n {channelMembers?.length == 1 && (\n <AvatarBadge style={{ width: 10, height: 10 }} bg=\"$green800\" />\n )}\n </Avatar>\n ))}\n </AvatarGroup>\n </Box>\n <Box flex={0.9}>\n {/* <HStack space={1} flex={1} direction={'row'} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"gray.600\" fontSize=\"lg\" flexWrap={'wrap'} fontWeight=\"semibold\">\n {title}\n </Text>\n <Text color=\"gray.600\" noOfLines={1}>\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n <Text color=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack> */}\n <LastMessageComponent\n title={title}\n lastMessage={lastMessage}\n channelId={channel?.id}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channel.id?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newMessage: any = subscriptionData?.data?.chatMessageAdded;\n const existingMessages: any = prev?.messages;\n const previousData = existingMessages?.data\n ? [...existingMessages.data, newMessage]\n : [];\n const totalMsgCount = existingMessages?.totalCount + 1;\n const merged = {\n ...prev,\n messages: {\n ...existingMessages,\n data: previousData,\n totalCount: totalMsgCount,\n },\n };\n return merged;\n },\n })\n }\n />\n {/* <Text\n flex={1}\n color=\"gray.600\"\n p={0}\n m={0}\n w={'100%'}\n justifyContent={''}\n fontSize=\"lg\"\n fontWeight=\"semibold\"\n >\n {title}\n </Text> */}\n {/* <Text flex={0.1} color=\"gray.600\">\n {lastMessage?.message ?? ''}\n </Text> */}\n </Box>\n {/* <Text flex={0.2} color=\"gray.500\">\n {lastMessage ? createdAtText(lastMessage?.createdAt) : ''}\n </Text> */}\n </HStack>\n </Pressable>\n );\n};\n\nconst LastMessageComponent = ({ subscribeToNewMessages, title, lastMessage, channelId }) => {\n React.useEffect(() => subscribeToNewMessages(), [channelId]);\n return (\n <HStack space={'sm'} flex={1} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"$trueGray600\" fontSize=\"$lg\" flexWrap={'wrap'} fontWeight=\"$semibold\">\n {title}\n </Text>\n <Text color=\"$trueGray600\" numberOfLines={1}>\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n <Text color=\"$trueGray500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n};\n\nexport const DialogsListItem = React.memo(DialogsListItemComponent);\n"],"names":["DialogsListItem","React","_a","_b","_c","CHAT_MESSAGE_ADDED","newMessage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceDialogsListItem.js","sources":["../../../../src/screens/inbox/components/ServiceDialogsListItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport {\n Text,\n Image,\n Pressable,\n HStack,\n Box,\n AvatarGroup,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n View,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { IChannel, IUserAccount } from 'common';\nimport {\n useOnThreadCreatedUpdatedSubscription,\n useOnThreadChatMessageAddedSubscription,\n useThreadMessagesQuery,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n OnThreadChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n} from 'common/lib/generated/generated.js';\nimport { startCase } from 'lodash-es';\n\nconst createdAtText = (value: string) => {\n if (!value) return '';\n let date = new Date(value);\n if (isToday(date)) return 'Today';\n if (isYesterday(date)) return 'Yesterday';\n return format(new Date(value), 'MMM dd, yyyy');\n};\n\nexport interface IDialogListChannel extends IChannel {\n users: IUserAccount[];\n}\n\nexport interface IDialogListItemProps {\n currentUser?: any;\n users?: any;\n selectedChannelId?: any;\n channel?: any;\n onOpen: (id: any, title: any, postParentId?: any) => void;\n refreshing: boolean;\n role: any;\n}\n\n/**\n * TODO:\n * - Get Reservation info: reservation date, status\n * - Add ability to get property information: name, logo\n */\nexport const ServiceDialogsListItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n selectedChannelId,\n channel,\n onOpen,\n refreshing,\n role,\n}) {\n const [servicePostParentId, setServicePostParentId] = React.useState(null);\n const {\n data: threadMessages,\n loading: threadMessageLoading,\n error,\n refetch: refetchThreadMessages,\n subscribeToMore,\n } = useThreadMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n role,\n limit: 2,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n // refetchMessages({ channelId: channel?.id?.toString(), limit: 25 });\n refetchThreadMessages({ channelId: channel?.id?.toString(), role, limit: 2 });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [refreshing]),\n );\n\n const lastMessage = useMemo(() => {\n if (!threadMessages?.threadMessages?.data?.length) {\n return null;\n }\n const { data }: any = threadMessages.threadMessages;\n const replies =\n data\n ?.map((t: any) => t?.replies)\n ?.flat(1)\n ?.filter((p: any) => p?.message !== '') ?? [];\n if (replies?.length) {\n return replies[0];\n // return replies[replies.length - 1];\n } else {\n const post =\n data?.find((t: any) => {\n return t?.post?.message !== '';\n }) ??\n data?.find((t: any) => {\n return t?.post;\n }) ??\n null;\n return post ? post?.post : null;\n }\n }, [threadMessages]);\n\n React.useEffect(() => {\n if (lastMessage) {\n const sParentId = lastMessage?.parentId ? lastMessage?.parentId : lastMessage?.id;\n setServicePostParentId(sParentId);\n }\n }, [lastMessage]);\n\n const creatorAndMembersId = React.useMemo(() => {\n if (!channel?.members) return null;\n const membersIds: any =\n channel?.members\n ?.filter((m: any) => m !== null && m?.user?.id !== currentUser?.id)\n ?.map((mu: any) => mu?.user?.id) ?? [];\n const creatorId: any = channel?.creator?.id;\n const mergedIds: any = [].concat(membersIds, creatorId) ?? [];\n return mergedIds?.filter((m: any, pos: any) => mergedIds?.indexOf(m) === pos) ?? [];\n }, [channel]);\n\n const postParentId = React.useMemo(() => {\n if (!creatorAndMembersId?.length) return null;\n\n return creatorAndMembersId?.length && creatorAndMembersId?.includes(currentUser?.id)\n ? null\n : lastMessage?.parentId\n ? lastMessage?.parentId\n : lastMessage?.id ?? 0;\n }, [creatorAndMembersId, lastMessage]);\n\n // const { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n // variables: {\n // channelId: channel?.id?.toString(),\n // postParentId:\n // postParentId == null\n // ? null\n // : lastMessage?.parentId\n // ? lastMessage?.parentId ?? null\n // : lastMessage?.id ?? null,\n // },\n // });\n\n // React.useEffect(() => {\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data) {\n // refetchThreadMessages({ channelId: channel?.id?.toString(), role, limit: 2 });\n // }\n // }, [threadCreatedUpdated]);\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, channel?.title, postParentId)}\n borderWidth={'$1'}\n borderRadius={'$md'}\n borderColor={'$trueGray200'}\n flex={1}\n $dark-borderColor=\"$coolGray600\"\n $dark-backgroundColor=\"$trueGray700\"\n $light-backgroundColor=\"$trueGray50\"\n $light-borderColor=\"$trueGray200\"\n >\n <HStack\n // px={2}\n // pl={3}\n py={'$3'}\n space={'sm'}\n w={'100%'}\n flex={1}\n // direction={'row'}\n justifyContent={'space-between'}\n alignItems={'center'}\n >\n <Box flex={0.1} alignItems={'flex-start'} pl={'$3'}>\n <Avatar\n key={'service-channels-key-' + channel?.id}\n bg={'transparent'}\n size={'sm'}\n top={'$0'}\n right={'$0'}\n zIndex={1}\n >\n <AvatarFallbackText> {startCase(channel?.creator?.username?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"user image\"\n style={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: channel?.creator?.picture,\n }}\n />\n </Avatar>\n </Box>\n <Box flex={0.9}>\n <ServiceChannelWithLastMessage\n channel={channel}\n lastMessage={lastMessage}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: THREAD_CHAT_ADDED,\n variables: {\n channelId: channel?.id?.toString(),\n postParentId: postParentId ? servicePostParentId : null,\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n\n const newPostThreadData: any = subscriptionData?.data?.threadCreatedUpdated?.data;\n const newMessage: any = subscriptionData?.data?.threadCreatedUpdated?.lastMessage;\n const data =\n prev?.threadMessages?.data?.map((t: any) =>\n t.id === newPostThreadData?.id\n ? {\n ...t,\n replies: [...t?.replies, newMessage],\n replyCount: newPostThreadData?.replyCount,\n lastReplyAt: newPostThreadData?.lastReplyAt,\n updatedAt: newPostThreadData?.updatedAt,\n }\n : t,\n ) ?? [];\n\n return Object.assign({}, prev, {\n threadMessages: {\n ...prev?.threadMessages,\n totalCount: newPostThreadData?.totalCount ?? 0,\n data: data?.length > 0 ? data : [newPostThreadData],\n // totalCount: prev?.threadMessages?.totalCount + 1,\n //data: data,\n },\n });\n },\n })\n }\n />\n {/* <Text\n flex={1}\n color=\"gray.600\"\n p={0}\n m={0}\n w={'100%'}\n justifyContent={''}\n fontSize=\"lg\"\n fontWeight=\"semibold\"\n >\n {title}\n </Text> */}\n {/* <Text flex={0.1} color=\"gray.600\">\n {lastMessage?.message ?? ''}\n </Text> */}\n </Box>\n {/* <Text flex={0.2} color=\"gray.500\">\n {lastMessage ? createdAtText(lastMessage?.createdAt) : ''}\n </Text> */}\n </HStack>\n </Pressable>\n );\n};\n\nconst ServiceChannelWithLastMessage = React.memo(({ channel, lastMessage, subscribeToNewMessages }: any) => {\n React.useEffect(() => subscribeToNewMessages(), []);\n return (\n <HStack space={'sm'} flex={1} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"$trueGray600\" fontSize=\"$lg\" flexWrap={'wrap'} fontWeight=\"$semibold\">\n {channel?.title}\n </Text>\n <Text color=\"$trueGray600\" numberOfLines={1}>\n {/* {creatorAndMembersId?.length && creatorAndMembersId?.includes(currentUser?.id)\n ? lastMessageCreatorAndMembers?.message ?? ''\n : lastMessage?.message ?? ''} */}\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n {/* {creatorAndMembersId?.length && creatorAndMembersId?.includes(currentUser?.id) ? (\n <Text color=\"gray.500\">\n {lastMessageCreatorAndMembers\n ? createdAtText(lastMessageCreatorAndMembers?.createdAt)\n : ''}\n </Text>\n ) : (\n <Text color=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n )} */}\n <Text color=\"$trueGray500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n});\n\nexport const ServiceDialogsListItem = React.memo(ServiceDialogsListItemComponent);\n"],"names":["React","_a","_b","_c","_d","THREAD_CHAT_ADDED"],"mappings":"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"}
1
+ {"version":3,"file":"ServiceDialogsListItem.js","sources":["../../../../src/screens/inbox/components/ServiceDialogsListItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport {\n Text,\n Image,\n Pressable,\n HStack,\n Box,\n AvatarGroup,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n View,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { IChannel, IUserAccount } from 'common';\nimport {\n useOnThreadCreatedUpdatedSubscription,\n useOnThreadChatMessageAddedSubscription,\n useThreadMessagesQuery,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n OnThreadChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n} from 'common/lib/generated/generated.js';\nimport { startCase } from 'lodash-es';\n\nconst createdAtText = (value: string) => {\n if (!value) return '';\n let date = new Date(value);\n if (isToday(date)) return 'Today';\n if (isYesterday(date)) return 'Yesterday';\n return format(new Date(value), 'MMM dd, yyyy');\n};\n\nexport interface IDialogListChannel extends IChannel {\n users: IUserAccount[];\n}\n\nexport interface IDialogListItemProps {\n currentUser?: any;\n users?: any;\n selectedChannelId?: any;\n channel?: any;\n onOpen: (id: any, title: any, postParentId?: any) => void;\n refreshing: boolean;\n role: any;\n}\n\n/**\n * TODO:\n * - Get Reservation info: reservation date, status\n * - Add ability to get property information: name, logo\n */\nexport const ServiceDialogsListItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n selectedChannelId,\n channel,\n onOpen,\n refreshing,\n role,\n}) {\n const [servicePostParentId, setServicePostParentId] = React.useState(null);\n const {\n data: threadMessages,\n loading: threadMessageLoading,\n error,\n refetch: refetchThreadMessages,\n subscribeToMore,\n } = useThreadMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n role,\n limit: 2,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n // refetchMessages({ channelId: channel?.id?.toString(), limit: 25 });\n refetchThreadMessages({ channelId: channel?.id?.toString(), role, limit: 2 });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [refreshing]),\n );\n\n const lastMessage = useMemo(() => {\n if (!threadMessages?.threadMessages?.data?.length) {\n return null;\n }\n const { data }: any = threadMessages.threadMessages;\n const replies =\n data\n ?.map((t: any) => t?.replies)\n ?.flat(1)\n ?.filter((p: any) => p?.message !== '') ?? [];\n if (replies?.length) {\n return replies[0];\n // return replies[replies.length - 1];\n } else {\n const post =\n data?.find((t: any) => {\n return t?.post?.message !== '';\n }) ??\n data?.find((t: any) => {\n return t?.post;\n }) ??\n null;\n return post ? post?.post : null;\n }\n }, [threadMessages]);\n\n React.useEffect(() => {\n if (lastMessage) {\n const sParentId = lastMessage?.parentId ? lastMessage?.parentId : lastMessage?.id;\n setServicePostParentId(sParentId);\n }\n }, [lastMessage]);\n\n const creatorAndMembersId = React.useMemo(() => {\n if (!channel?.members) return null;\n const membersIds: any =\n channel?.members\n ?.filter((m: any) => m !== null && m?.user?.id !== currentUser?.id)\n ?.map((mu: any) => mu?.user?.id) ?? [];\n const creatorId: any = channel?.creator?.id;\n const mergedIds: any = [].concat(membersIds, creatorId) ?? [];\n return mergedIds?.filter((m: any, pos: any) => mergedIds?.indexOf(m) === pos) ?? [];\n }, [channel]);\n\n const postParentId = React.useMemo(() => {\n if (!creatorAndMembersId?.length) return null;\n\n return creatorAndMembersId?.length && creatorAndMembersId?.includes(currentUser?.id)\n ? null\n : lastMessage?.parentId\n ? lastMessage?.parentId\n : lastMessage?.id ?? 0;\n }, [creatorAndMembersId, lastMessage]);\n\n // const { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n // variables: {\n // channelId: channel?.id?.toString(),\n // postParentId:\n // postParentId == null\n // ? null\n // : lastMessage?.parentId\n // ? lastMessage?.parentId ?? null\n // : lastMessage?.id ?? null,\n // },\n // });\n\n // React.useEffect(() => {\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data) {\n // refetchThreadMessages({ channelId: channel?.id?.toString(), role, limit: 2 });\n // }\n // }, [threadCreatedUpdated]);\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, channel?.title, postParentId)}\n borderWidth={'$1'}\n borderRadius={'$md'}\n borderColor={'$trueGray200'}\n flex={1}\n $dark-borderColor=\"$coolGray600\"\n $dark-backgroundColor=\"$trueGray700\"\n $light-backgroundColor=\"$trueGray50\"\n $light-borderColor=\"$trueGray200\"\n >\n <HStack\n // px={2}\n // pl={3}\n py={'$3'}\n space={'sm'}\n w={'100%'}\n flex={1}\n // direction={'row'}\n justifyContent={'space-between'}\n alignItems={'center'}\n >\n <Box flex={0.1} alignItems={'flex-start'} pl={'$3'}>\n <Avatar\n key={'service-channels-key-' + channel?.id}\n bg={'transparent'}\n size={'sm'}\n top={'$0'}\n right={'$0'}\n zIndex={1}\n >\n <AvatarFallbackText> {startCase(channel?.creator?.username?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"user image\"\n style={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: channel?.creator?.picture,\n }}\n />\n </Avatar>\n </Box>\n <Box flex={0.9}>\n <ServiceChannelWithLastMessage\n channel={channel}\n lastMessage={lastMessage}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: THREAD_CHAT_ADDED,\n variables: {\n channelId: channel?.id?.toString(),\n postParentId: postParentId ? servicePostParentId : null,\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n\n const newPostThreadData: any = subscriptionData?.data?.threadCreatedUpdated?.data;\n const newMessage: any = subscriptionData?.data?.threadCreatedUpdated?.lastMessage;\n const data =\n prev?.threadMessages?.data?.map((t: any) =>\n t.id === newPostThreadData?.id\n ? {\n ...t,\n replies: [...t?.replies, newMessage],\n replyCount: newPostThreadData?.replyCount,\n lastReplyAt: newPostThreadData?.lastReplyAt,\n updatedAt: newPostThreadData?.updatedAt,\n }\n : t,\n ) ?? [];\n\n return Object.assign({}, prev, {\n threadMessages: {\n ...prev?.threadMessages,\n totalCount: newPostThreadData?.totalCount ?? 0,\n data: data?.length > 0 ? data : [newPostThreadData],\n // totalCount: prev?.threadMessages?.totalCount + 1,\n //data: data,\n },\n });\n },\n })\n }\n />\n {/* <Text\n flex={1}\n color=\"gray.600\"\n p={0}\n m={0}\n w={'100%'}\n justifyContent={''}\n fontSize=\"lg\"\n fontWeight=\"semibold\"\n >\n {title}\n </Text> */}\n {/* <Text flex={0.1} color=\"gray.600\">\n {lastMessage?.message ?? ''}\n </Text> */}\n </Box>\n {/* <Text flex={0.2} color=\"gray.500\">\n {lastMessage ? createdAtText(lastMessage?.createdAt) : ''}\n </Text> */}\n </HStack>\n </Pressable>\n );\n};\n\nconst ServiceChannelWithLastMessage = React.memo(({ channel, lastMessage, subscribeToNewMessages }: any) => {\n React.useEffect(() => subscribeToNewMessages(), []);\n return (\n <HStack space={'sm'} flex={1} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"$trueGray600\" fontSize=\"$lg\" flexWrap={'wrap'} fontWeight=\"$semibold\">\n {channel?.title}\n </Text>\n <Text color=\"$trueGray600\" numberOfLines={1}>\n {/* {creatorAndMembersId?.length && creatorAndMembersId?.includes(currentUser?.id)\n ? lastMessageCreatorAndMembers?.message ?? ''\n : lastMessage?.message ?? ''} */}\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n {/* {creatorAndMembersId?.length && creatorAndMembersId?.includes(currentUser?.id) ? (\n <Text color=\"gray.500\">\n {lastMessageCreatorAndMembers\n ? createdAtText(lastMessageCreatorAndMembers?.createdAt)\n : ''}\n </Text>\n ) : (\n <Text color=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n )} */}\n <Text color=\"$trueGray500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n});\n\nexport const ServiceDialogsListItem = React.memo(ServiceDialogsListItemComponent);\n"],"names":["React","_a","_b","_c","_d","THREAD_CHAT_ADDED"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default from'react';import {StyleSheet,Modal,View,Pressable,Text}from'react-native';const ImageViewerModal = ({
1
+ import React__default from'react';import {Modal,View,StyleSheet,Pressable,Text}from'react-native';const ImageViewerModal = ({
2
2
  children,
3
3
  isVisible = false,
4
4
  setVisible,
@@ -1,4 +1,4 @@
1
- import React__default from'react';import {Dimensions,TouchableHighlight,View,Text,StyleSheet,Platform}from'react-native';import {MessageText,Time,utils}from'react-native-gifted-chat';import CachedImage from'../CachedImage/index.js';var __defProp = Object.defineProperty;
1
+ import React__default from'react';import {StyleSheet,TouchableHighlight,View,Text,Platform,Dimensions}from'react-native';import {MessageText,Time,utils}from'react-native-gifted-chat';import CachedImage from'../CachedImage/index.js';var __defProp = Object.defineProperty;
2
2
  var __defProps = Object.defineProperties;
3
3
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -61,7 +61,10 @@ class Bubble extends React__default.Component {
61
61
  }
62
62
  renderMessageImage() {
63
63
  if (this.props.currentMessage.image) {
64
- const _a = this.props, messageImageProps = __objRest(_a, [
64
+ const _a = this.props, {
65
+ containerStyle,
66
+ wrapperStyle
67
+ } = _a, messageImageProps = __objRest(_a, [
65
68
  "containerStyle",
66
69
  "wrapperStyle"
67
70
  ]);
@@ -113,7 +116,10 @@ class Bubble extends React__default.Component {
113
116
  renderUsername() {
114
117
  const username = this.props.currentMessage.user.name;
115
118
  if (username) {
116
- const _a = this.props, usernameProps = __objRest(_a, [
119
+ const _a = this.props, {
120
+ containerStyle,
121
+ wrapperStyle
122
+ } = _a, usernameProps = __objRest(_a, [
117
123
  "containerStyle",
118
124
  "wrapperStyle"
119
125
  ]);
@@ -126,7 +132,10 @@ class Bubble extends React__default.Component {
126
132
  }
127
133
  renderTime() {
128
134
  if (this.props.currentMessage.createdAt) {
129
- const _a = this.props, timeProps = __objRest(_a, [
135
+ const _a = this.props, {
136
+ containerStyle,
137
+ wrapperStyle
138
+ } = _a, timeProps = __objRest(_a, [
130
139
  "containerStyle",
131
140
  "wrapperStyle"
132
141
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"SlackBubble.js","sources":["../../../../../src/screens/inbox/components/SlackMessageContainer/SlackBubble.tsx"],"sourcesContent":["/* eslint-disable no-underscore-dangle, no-use-before-define */\nimport React from 'react';\nimport { Text, StyleSheet, TouchableOpacity, TouchableHighlight, View, Platform, Dimensions } from 'react-native';\n\nimport { MessageText, MessageImage, Time, utils } from 'react-native-gifted-chat';\nimport CachedImage from '../CachedImage';\nconst { isSameUser, isSameDay } = utils;\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nexport default class Bubble extends React.Component<any> {\n static defaultProps: {\n touchableProps: {};\n onLongPress: null;\n renderMessageImage: null;\n renderMessageText: null;\n renderCustomView: null;\n renderTime: null;\n currentMessage: { text: null; createdAt: null; image: null };\n nextMessage: {};\n previousMessage: {};\n containerStyle: {};\n wrapperStyle: {};\n tickStyle: {};\n containerToNextStyle: {};\n containerToPreviousStyle: {};\n isShowImageViewer: false;\n setImageViewer: (obj: any, v: boolean) => void;\n };\n static propTypes: any;\n constructor(props: any) {\n super(props);\n }\n\n renderMessageText() {\n if (this.props.currentMessage.text) {\n const { containerStyle, wrapperStyle, messageTextStyle, ...messageTextProps } = this.props;\n if (this.props.renderMessageText) {\n return this.props.renderMessageText(messageTextProps);\n }\n return (\n <MessageText\n {...messageTextProps}\n textStyle={{\n left: [\n styles.standardFont,\n styles.slackMessageText,\n messageTextProps.textStyle,\n messageTextStyle,\n ],\n }}\n />\n );\n }\n return null;\n }\n\n renderMessageImage() {\n if (this.props.currentMessage.image) {\n const { containerStyle, wrapperStyle, ...messageImageProps } = this.props;\n if (this.props.renderMessageImage) {\n return this.props.renderMessageImage(messageImageProps);\n }\n const { image, _id } = messageImageProps?.currentMessage;\n\n return (\n <TouchableHighlight\n // underlayColor={'#c0c0c0'}\n underlayColor={'transparent'}\n style={{ width: '100%' }}\n onPress={() => this.props.setImageViewer(messageImageProps?.currentMessage, true)}\n >\n <View\n style={{\n width: windowWidth - (windowWidth - 150),\n height: windowHeight - (windowHeight - 100),\n }}\n >\n {/* <MessageImage\n {...messageImageProps}\n imageStyle={[styles.slackImage, messageImageProps.imageStyle]}\n /> */}\n <CachedImage\n style={[styles.slackImage, { width: '100%', height: '100%' }]}\n cacheKey={`${_id}-slack-bubble-imageKey`}\n source={{\n uri: image,\n //headers: `Authorization: Bearer ${token}`,\n expiresIn: 86400,\n }}\n resizeMode={'cover'}\n alt={'image'}\n />\n </View>\n </TouchableHighlight>\n );\n }\n return null;\n }\n\n renderTicks() {\n const { currentMessage } = this.props;\n if (this.props.renderTicks) {\n return this.props.renderTicks(currentMessage);\n }\n if (currentMessage.user._id !== this.props.user._id) {\n return null;\n }\n if (currentMessage.sent || currentMessage.received) {\n return (\n <View style={[styles.headerItem, styles.tickView]}>\n {currentMessage.sent && (\n <Text style={[styles.standardFont, styles.tick, this.props.tickStyle]}>✓</Text>\n )}\n {currentMessage.received && (\n <Text style={[styles.standardFont, styles.tick, this.props.tickStyle]}>✓</Text>\n )}\n </View>\n );\n }\n return null;\n }\n\n renderUsername() {\n const username = this.props.currentMessage.user.name;\n if (username) {\n const { containerStyle, wrapperStyle, ...usernameProps } = this.props;\n if (this.props.renderUsername) {\n return this.props.renderUsername(usernameProps);\n }\n return (\n <Text style={[styles.standardFont, styles.headerItem, styles.username, this.props.usernameStyle]}>\n {username}\n </Text>\n );\n }\n return null;\n }\n\n renderTime() {\n if (this.props.currentMessage.createdAt) {\n const { containerStyle, wrapperStyle, ...timeProps }: any = this.props;\n if (this.props.renderTime) {\n return this.props.renderTime(timeProps);\n }\n return (\n <Time\n {...timeProps}\n containerStyle={{ left: [styles.timeContainer] }}\n textStyle={{\n left: [styles.standardFont, styles.headerItem, styles.time, timeProps.textStyle],\n }}\n />\n );\n }\n return null;\n }\n\n renderCustomView() {\n if (this.props.renderCustomView) {\n return this.props.renderCustomView(this.props);\n }\n return null;\n }\n\n render() {\n const isSameThread =\n isSameUser(this.props.currentMessage, this.props.previousMessage) &&\n isSameDay(this.props.currentMessage, this.props.previousMessage);\n\n const messageHeader = isSameThread ? null : (\n <View style={styles.headerView}>\n {this.renderUsername()}\n {this.renderTime()}\n {this.renderTicks()}\n </View>\n );\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <TouchableHighlight\n style={{ width: '100%' }}\n // underlayColor={'#c0c0c0'}\n underlayColor={'transparent'}\n disabled={true}\n accessibilityTraits=\"text\"\n {...this.props.touchableProps}\n >\n <View style={[styles.wrapper, this.props.wrapperStyle]}>\n <View>\n {this.renderCustomView()}\n {messageHeader}\n {this.renderMessageImage()}\n {this.renderMessageText()}\n </View>\n </View>\n </TouchableHighlight>\n </View>\n );\n }\n}\n\n// Note: Everything is forced to be \"left\" positioned with this component.\n// The \"right\" position is only used in the default Bubble.\nconst styles = StyleSheet.create({\n standardFont: {\n fontSize: 15,\n },\n slackMessageText: {\n marginLeft: 0,\n marginRight: 0,\n },\n container: {\n flex: 1,\n alignItems: 'flex-start',\n },\n wrapper: {\n marginRight: 60,\n minHeight: 20,\n justifyContent: 'flex-start',\n },\n username: {\n fontWeight: 'bold',\n top: 0,\n paddingTop: 0,\n marginTop: 0,\n },\n time: {\n textAlign: 'left',\n fontSize: 12,\n },\n timeContainer: {\n marginLeft: 0,\n marginRight: 0,\n marginBottom: 0,\n },\n headerItem: {\n marginRight: 10,\n },\n headerView: {\n // Try to align it better with the avatar on Android.\n marginTop: Platform.OS === 'android' ? -2 : 0,\n flexDirection: 'row',\n alignItems: 'baseline',\n },\n /* eslint-disable react-native/no-color-literals */\n tick: {\n backgroundColor: 'transparent',\n color: 'white',\n },\n /* eslint-enable react-native/no-color-literals */\n tickView: {\n flexDirection: 'row',\n },\n slackImage: {\n borderRadius: 3,\n marginLeft: 8,\n marginRight: 0,\n },\n});\n\n// Bubble.contextTypes = {\n// actionSheet: PropTypes.func,\n// };\n\nBubble.defaultProps = {\n touchableProps: {},\n onLongPress: null,\n renderMessageImage: null,\n renderMessageText: null,\n renderCustomView: null,\n renderTime: null,\n currentMessage: {\n text: null,\n createdAt: null,\n image: null,\n },\n nextMessage: {},\n previousMessage: {},\n containerStyle: {},\n wrapperStyle: {},\n tickStyle: {},\n containerToNextStyle: {},\n containerToPreviousStyle: {},\n isShowImageViewer: false,\n setImageViewer: (obj: any, v: boolean) => null,\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"SlackBubble.js","sources":["../../../../../src/screens/inbox/components/SlackMessageContainer/SlackBubble.tsx"],"sourcesContent":["/* eslint-disable no-underscore-dangle, no-use-before-define */\nimport React from 'react';\nimport { Text, StyleSheet, TouchableOpacity, TouchableHighlight, View, Platform, Dimensions } from 'react-native';\n\nimport { MessageText, MessageImage, Time, utils } from 'react-native-gifted-chat';\nimport CachedImage from '../CachedImage';\nconst { isSameUser, isSameDay } = utils;\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nexport default class Bubble extends React.Component<any> {\n static defaultProps: {\n touchableProps: {};\n onLongPress: null;\n renderMessageImage: null;\n renderMessageText: null;\n renderCustomView: null;\n renderTime: null;\n currentMessage: { text: null; createdAt: null; image: null };\n nextMessage: {};\n previousMessage: {};\n containerStyle: {};\n wrapperStyle: {};\n tickStyle: {};\n containerToNextStyle: {};\n containerToPreviousStyle: {};\n isShowImageViewer: false;\n setImageViewer: (obj: any, v: boolean) => void;\n };\n static propTypes: any;\n constructor(props: any) {\n super(props);\n }\n\n renderMessageText() {\n if (this.props.currentMessage.text) {\n const { containerStyle, wrapperStyle, messageTextStyle, ...messageTextProps } = this.props;\n if (this.props.renderMessageText) {\n return this.props.renderMessageText(messageTextProps);\n }\n return (\n <MessageText\n {...messageTextProps}\n textStyle={{\n left: [\n styles.standardFont,\n styles.slackMessageText,\n messageTextProps.textStyle,\n messageTextStyle,\n ],\n }}\n />\n );\n }\n return null;\n }\n\n renderMessageImage() {\n if (this.props.currentMessage.image) {\n const { containerStyle, wrapperStyle, ...messageImageProps } = this.props;\n if (this.props.renderMessageImage) {\n return this.props.renderMessageImage(messageImageProps);\n }\n const { image, _id } = messageImageProps?.currentMessage;\n\n return (\n <TouchableHighlight\n // underlayColor={'#c0c0c0'}\n underlayColor={'transparent'}\n style={{ width: '100%' }}\n onPress={() => this.props.setImageViewer(messageImageProps?.currentMessage, true)}\n >\n <View\n style={{\n width: windowWidth - (windowWidth - 150),\n height: windowHeight - (windowHeight - 100),\n }}\n >\n {/* <MessageImage\n {...messageImageProps}\n imageStyle={[styles.slackImage, messageImageProps.imageStyle]}\n /> */}\n <CachedImage\n style={[styles.slackImage, { width: '100%', height: '100%' }]}\n cacheKey={`${_id}-slack-bubble-imageKey`}\n source={{\n uri: image,\n //headers: `Authorization: Bearer ${token}`,\n expiresIn: 86400,\n }}\n resizeMode={'cover'}\n alt={'image'}\n />\n </View>\n </TouchableHighlight>\n );\n }\n return null;\n }\n\n renderTicks() {\n const { currentMessage } = this.props;\n if (this.props.renderTicks) {\n return this.props.renderTicks(currentMessage);\n }\n if (currentMessage.user._id !== this.props.user._id) {\n return null;\n }\n if (currentMessage.sent || currentMessage.received) {\n return (\n <View style={[styles.headerItem, styles.tickView]}>\n {currentMessage.sent && (\n <Text style={[styles.standardFont, styles.tick, this.props.tickStyle]}>✓</Text>\n )}\n {currentMessage.received && (\n <Text style={[styles.standardFont, styles.tick, this.props.tickStyle]}>✓</Text>\n )}\n </View>\n );\n }\n return null;\n }\n\n renderUsername() {\n const username = this.props.currentMessage.user.name;\n if (username) {\n const { containerStyle, wrapperStyle, ...usernameProps } = this.props;\n if (this.props.renderUsername) {\n return this.props.renderUsername(usernameProps);\n }\n return (\n <Text style={[styles.standardFont, styles.headerItem, styles.username, this.props.usernameStyle]}>\n {username}\n </Text>\n );\n }\n return null;\n }\n\n renderTime() {\n if (this.props.currentMessage.createdAt) {\n const { containerStyle, wrapperStyle, ...timeProps }: any = this.props;\n if (this.props.renderTime) {\n return this.props.renderTime(timeProps);\n }\n return (\n <Time\n {...timeProps}\n containerStyle={{ left: [styles.timeContainer] }}\n textStyle={{\n left: [styles.standardFont, styles.headerItem, styles.time, timeProps.textStyle],\n }}\n />\n );\n }\n return null;\n }\n\n renderCustomView() {\n if (this.props.renderCustomView) {\n return this.props.renderCustomView(this.props);\n }\n return null;\n }\n\n render() {\n const isSameThread =\n isSameUser(this.props.currentMessage, this.props.previousMessage) &&\n isSameDay(this.props.currentMessage, this.props.previousMessage);\n\n const messageHeader = isSameThread ? null : (\n <View style={styles.headerView}>\n {this.renderUsername()}\n {this.renderTime()}\n {this.renderTicks()}\n </View>\n );\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <TouchableHighlight\n style={{ width: '100%' }}\n // underlayColor={'#c0c0c0'}\n underlayColor={'transparent'}\n disabled={true}\n accessibilityTraits=\"text\"\n {...this.props.touchableProps}\n >\n <View style={[styles.wrapper, this.props.wrapperStyle]}>\n <View>\n {this.renderCustomView()}\n {messageHeader}\n {this.renderMessageImage()}\n {this.renderMessageText()}\n </View>\n </View>\n </TouchableHighlight>\n </View>\n );\n }\n}\n\n// Note: Everything is forced to be \"left\" positioned with this component.\n// The \"right\" position is only used in the default Bubble.\nconst styles = StyleSheet.create({\n standardFont: {\n fontSize: 15,\n },\n slackMessageText: {\n marginLeft: 0,\n marginRight: 0,\n },\n container: {\n flex: 1,\n alignItems: 'flex-start',\n },\n wrapper: {\n marginRight: 60,\n minHeight: 20,\n justifyContent: 'flex-start',\n },\n username: {\n fontWeight: 'bold',\n top: 0,\n paddingTop: 0,\n marginTop: 0,\n },\n time: {\n textAlign: 'left',\n fontSize: 12,\n },\n timeContainer: {\n marginLeft: 0,\n marginRight: 0,\n marginBottom: 0,\n },\n headerItem: {\n marginRight: 10,\n },\n headerView: {\n // Try to align it better with the avatar on Android.\n marginTop: Platform.OS === 'android' ? -2 : 0,\n flexDirection: 'row',\n alignItems: 'baseline',\n },\n /* eslint-disable react-native/no-color-literals */\n tick: {\n backgroundColor: 'transparent',\n color: 'white',\n },\n /* eslint-enable react-native/no-color-literals */\n tickView: {\n flexDirection: 'row',\n },\n slackImage: {\n borderRadius: 3,\n marginLeft: 8,\n marginRight: 0,\n },\n});\n\n// Bubble.contextTypes = {\n// actionSheet: PropTypes.func,\n// };\n\nBubble.defaultProps = {\n touchableProps: {},\n onLongPress: null,\n renderMessageImage: null,\n renderMessageText: null,\n renderCustomView: null,\n renderTime: null,\n currentMessage: {\n text: null,\n createdAt: null,\n image: null,\n },\n nextMessage: {},\n previousMessage: {},\n containerStyle: {},\n wrapperStyle: {},\n tickStyle: {},\n containerToNextStyle: {},\n containerToPreviousStyle: {},\n isShowImageViewer: false,\n setImageViewer: (obj: any, v: boolean) => null,\n};\n"],"names":["React"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default from'react';import {View,StyleSheet}from'react-native';import {Day,utils}from'react-native-gifted-chat';import {Avatar,AvatarFallbackText,AvatarImage}from'@admin-layout/gluestack-ui-mobile';import Bubble from'./SlackBubble.js';var __defProp = Object.defineProperty;
1
+ import React__default from'react';import {StyleSheet,View}from'react-native';import {Day,utils}from'react-native-gifted-chat';import {Avatar,AvatarFallbackText,AvatarImage}from'@admin-layout/gluestack-ui-mobile';import Bubble from'./SlackBubble.js';var __defProp = Object.defineProperty;
2
2
  var __defProps = Object.defineProperties;
3
3
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -35,7 +35,9 @@ const {
35
35
  } = utils;
36
36
  class Message extends React__default.Component {
37
37
  getInnerComponentProps() {
38
- const _a = this.props, props = __objRest(_a, [
38
+ const _a = this.props, {
39
+ containerStyle
40
+ } = _a, props = __objRest(_a, [
39
41
  "containerStyle"
40
42
  ]);
41
43
  return __spreadProps(__spreadValues({}, props), {
@@ -1 +1 @@
1
- {"version":3,"file":"SlackMessage.js","sources":["../../../../../src/screens/inbox/components/SlackMessageContainer/SlackMessage.tsx"],"sourcesContent":["/* eslint-disable no-underscore-dangle, no-use-before-define */\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\nimport { Day, utils } from 'react-native-gifted-chat';\nimport { Avatar, AvatarFallbackText, AvatarImage } from '@admin-layout/gluestack-ui-mobile';\nimport Bubble from './SlackBubble';\n\nconst { isSameUser, isSameDay } = utils;\n\nexport default class Message extends React.Component<any> {\n static defaultProps: {\n renderAvatar: undefined;\n renderBubble: null;\n renderDay: null;\n currentMessage: {};\n nextMessage: {};\n previousMessage: {};\n user: {};\n containerStyle: {};\n isShowImageViewer: false;\n setImageViewer: (obj: any, v: boolean) => void;\n };\n getInnerComponentProps() {\n const { containerStyle, ...props } = this.props;\n return {\n ...props,\n position: 'left',\n isSameUser,\n isSameDay,\n };\n }\n\n renderDay() {\n if (this.props.currentMessage.createdAt) {\n const dayProps = this.getInnerComponentProps();\n if (this.props.renderDay) {\n return this.props.renderDay(dayProps);\n }\n return <Day {...dayProps} />;\n }\n return null;\n }\n\n renderBubble() {\n const bubbleProps = this.getInnerComponentProps();\n if (this.props.renderBubble) {\n return this.props.renderBubble(bubbleProps);\n }\n return (\n <Bubble\n {...bubbleProps}\n isShowImageViewer={this.props.isShowImageViewer}\n setImageViewer={this.props.setImageViewer}\n />\n );\n }\n\n renderAvatar() {\n let extraStyle: any;\n //new param added\n let isSameUserAndSameDay: boolean = false;\n if (\n isSameUser(this.props.currentMessage, this.props.previousMessage) &&\n isSameDay(this.props.currentMessage, this.props.previousMessage)\n ) {\n // Set the invisible avatar height to 0, but keep the width, padding, etc.\n extraStyle = { height: 0 };\n isSameUserAndSameDay = true;\n }\n\n const avatarProps: any = this.getInnerComponentProps();\n\n return (\n <Avatar size={'sm'} bg={'transparent'} borderRadius={'$none'} marginRight={'$2'}>\n <AvatarFallbackText>\n {isSameUserAndSameDay ? '' : avatarProps?.currentMessage?.user?.name[0]}\n </AvatarFallbackText>\n {!isSameUserAndSameDay && avatarProps?.currentMessage?.user?.avatar && (\n <AvatarImage\n alt=\"image\"\n style={{ ...styles.slackAvatar, ...avatarProps.imageStyle }}\n source={{\n uri: avatarProps?.currentMessage?.user?.avatar,\n }}\n />\n )}\n </Avatar>\n // <Avatar\n // {...avatarProps}\n // showAvatarForEveryMessage={true}\n // imageStyle={{\n // left: [styles.slackAvatar, avatarProps.imageStyle, extraStyle],\n // }}\n // />\n );\n }\n\n render() {\n const marginBottom = isSameUser(this.props.currentMessage, this.props.nextMessage) ? 2 : 10;\n\n return (\n <View>\n {this.renderDay()}\n <View style={[styles.container, { marginBottom }, this.props.containerStyle]}>\n {this.renderAvatar()}\n {this.renderBubble()}\n </View>\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n marginLeft: 8,\n marginRight: 0,\n },\n slackAvatar: {\n // The bottom should roughly line up with the first line of message text.\n height: 40,\n width: 40,\n borderRadius: 3,\n // marginTop: 0,\n marginTop: 1,\n },\n});\n\nMessage.defaultProps = {\n renderAvatar: undefined,\n renderBubble: null,\n renderDay: null,\n currentMessage: {},\n nextMessage: {},\n previousMessage: {},\n user: {},\n containerStyle: {},\n isShowImageViewer: false,\n setImageViewer: (obj: any, v: boolean) => null,\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"SlackMessage.js","sources":["../../../../../src/screens/inbox/components/SlackMessageContainer/SlackMessage.tsx"],"sourcesContent":["/* eslint-disable no-underscore-dangle, no-use-before-define */\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\nimport { Day, utils } from 'react-native-gifted-chat';\nimport { Avatar, AvatarFallbackText, AvatarImage } from '@admin-layout/gluestack-ui-mobile';\nimport Bubble from './SlackBubble';\n\nconst { isSameUser, isSameDay } = utils;\n\nexport default class Message extends React.Component<any> {\n static defaultProps: {\n renderAvatar: undefined;\n renderBubble: null;\n renderDay: null;\n currentMessage: {};\n nextMessage: {};\n previousMessage: {};\n user: {};\n containerStyle: {};\n isShowImageViewer: false;\n setImageViewer: (obj: any, v: boolean) => void;\n };\n getInnerComponentProps() {\n const { containerStyle, ...props } = this.props;\n return {\n ...props,\n position: 'left',\n isSameUser,\n isSameDay,\n };\n }\n\n renderDay() {\n if (this.props.currentMessage.createdAt) {\n const dayProps = this.getInnerComponentProps();\n if (this.props.renderDay) {\n return this.props.renderDay(dayProps);\n }\n return <Day {...dayProps} />;\n }\n return null;\n }\n\n renderBubble() {\n const bubbleProps = this.getInnerComponentProps();\n if (this.props.renderBubble) {\n return this.props.renderBubble(bubbleProps);\n }\n return (\n <Bubble\n {...bubbleProps}\n isShowImageViewer={this.props.isShowImageViewer}\n setImageViewer={this.props.setImageViewer}\n />\n );\n }\n\n renderAvatar() {\n let extraStyle: any;\n //new param added\n let isSameUserAndSameDay: boolean = false;\n if (\n isSameUser(this.props.currentMessage, this.props.previousMessage) &&\n isSameDay(this.props.currentMessage, this.props.previousMessage)\n ) {\n // Set the invisible avatar height to 0, but keep the width, padding, etc.\n extraStyle = { height: 0 };\n isSameUserAndSameDay = true;\n }\n\n const avatarProps: any = this.getInnerComponentProps();\n\n return (\n <Avatar size={'sm'} bg={'transparent'} borderRadius={'$none'} marginRight={'$2'}>\n <AvatarFallbackText>\n {isSameUserAndSameDay ? '' : avatarProps?.currentMessage?.user?.name[0]}\n </AvatarFallbackText>\n {!isSameUserAndSameDay && avatarProps?.currentMessage?.user?.avatar && (\n <AvatarImage\n alt=\"image\"\n style={{ ...styles.slackAvatar, ...avatarProps.imageStyle }}\n source={{\n uri: avatarProps?.currentMessage?.user?.avatar,\n }}\n />\n )}\n </Avatar>\n // <Avatar\n // {...avatarProps}\n // showAvatarForEveryMessage={true}\n // imageStyle={{\n // left: [styles.slackAvatar, avatarProps.imageStyle, extraStyle],\n // }}\n // />\n );\n }\n\n render() {\n const marginBottom = isSameUser(this.props.currentMessage, this.props.nextMessage) ? 2 : 10;\n\n return (\n <View>\n {this.renderDay()}\n <View style={[styles.container, { marginBottom }, this.props.containerStyle]}>\n {this.renderAvatar()}\n {this.renderBubble()}\n </View>\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n marginLeft: 8,\n marginRight: 0,\n },\n slackAvatar: {\n // The bottom should roughly line up with the first line of message text.\n height: 40,\n width: 40,\n borderRadius: 3,\n // marginTop: 0,\n marginTop: 1,\n },\n});\n\nMessage.defaultProps = {\n renderAvatar: undefined,\n renderBubble: null,\n renderDay: null,\n currentMessage: {},\n nextMessage: {},\n previousMessage: {},\n user: {},\n containerStyle: {},\n isShowImageViewer: false,\n setImageViewer: (obj: any, v: boolean) => null,\n};\n"],"names":["React"],"mappings":"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"}