@messenger-box/platform-mobile 0.0.1-alpha.437 → 0.0.1-alpha.438
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/lib/index.js +16 -12
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/screens/inbox/containers/ConversationView.tsx +18 -18
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@messenger-box/platform-mobile/./src/index.ts","webpack://@messenger-box/platform-mobile/./src/module.ts","webpack://@messenger-box/platform-mobile/./src/navigation/InboxNavigation.tsx","webpack://@messenger-box/platform-mobile/./src/navigation/index.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/DialogMessages.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/DialogThreadMessages.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/DialogThreads.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/Inbox.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/CachedImage/consts.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/CachedImage/index.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/DialogsListItem.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/ImageViewerModal.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/SlackBubble.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/SlackMessage.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/index.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SupportServiceDialogsListItem.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/ThreadsViewItem.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/config/config.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/config/index.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/ConversationView.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/Dialogs.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/SupportServiceDialogs.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/ThreadConversationView.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/ThreadsView.tsx","webpack://@messenger-box/platform-mobile/./src/screens/index.ts","webpack://@messenger-box/platform-mobile/external commonjs \"@adminide-stack/user-auth0-client\"","webpack://@messenger-box/platform-mobile/external commonjs \"@common-stack/client-react\"","webpack://@messenger-box/platform-mobile/external commonjs \"@expo/vector-icons\"","webpack://@messenger-box/platform-mobile/external commonjs \"@messenger-box/core\"","webpack://@messenger-box/platform-mobile/external commonjs \"@messenger-box/platform-client\"","webpack://@messenger-box/platform-mobile/external commonjs \"@react-navigation/native\"","webpack://@messenger-box/platform-mobile/external commonjs \"base-64\"","webpack://@messenger-box/platform-mobile/external commonjs \"date-fns\"","webpack://@messenger-box/platform-mobile/external commonjs \"envalid\"","webpack://@messenger-box/platform-mobile/external commonjs \"expo-file-system\"","webpack://@messenger-box/platform-mobile/external commonjs \"expo-image-picker\"","webpack://@messenger-box/platform-mobile/external commonjs \"lodash\"","webpack://@messenger-box/platform-mobile/external commonjs \"native-base\"","webpack://@messenger-box/platform-mobile/external commonjs \"react\"","webpack://@messenger-box/platform-mobile/external commonjs \"react-native\"","webpack://@messenger-box/platform-mobile/external commonjs \"react-native-gifted-chat\"","webpack://@messenger-box/platform-mobile/external commonjs \"react-redux\"","webpack://@messenger-box/platform-mobile/webpack/bootstrap","webpack://@messenger-box/platform-mobile/webpack/before-startup","webpack://@messenger-box/platform-mobile/webpack/startup","webpack://@messenger-box/platform-mobile/webpack/after-startup"],"sourcesContent":["import PlatformModule from './module';\n\nimport { Feature } from '@common-stack/client-react';\n\nexport default new Feature(PlatformModule);\nexport * from './navigation';\nexport * from './screens';\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { Feature } from '@common-stack/client-react';\nimport { schema, typePolicies, dataIdFromObject } from '@messenger-box/platform-client';\n\nexport default new Feature({\n dataIdFromObject,\n clientStateParams: { typeDefs: schema, typePolicies },\n});\n","import * as React from 'react';\nimport { Feature } from '@common-stack/client-react';\nimport { DialogMessages } from '../screens/inbox/DialogMessages';\nimport { DialogThreads } from '../screens/inbox/DialogThreads';\nimport { DialogThreadMessages } from '../screens/inbox/DialogThreadMessages';\nimport { IconButton, Icon } from 'native-base';\nimport { MaterialIcons } from '@expo/vector-icons';\n\nconst inboxConfig = {\n ['//message']: {\n exact: true,\n name: 'Message',\n props: {\n initialParams: { channelId: null, role: null },\n component: (props: any) => (\n <DialogMessages\n {...props}\n channelId={props?.route?.params?.channelId}\n role={props?.route?.params?.role}\n />\n ),\n options: ({ navigation }: any) => {\n return {\n headerShown: true,\n title: 'Inbox',\n headerBackTitleVisible: false,\n gestureEnabled: false,\n swipeEnabled: false,\n headerLeft: (props: any) => (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={<Icon size={'lg'} as={MaterialIcons} name=\"arrow-back-ios\" color={'black'} />}\n />\n ),\n };\n },\n },\n },\n ['//thread']: {\n exact: true,\n name: 'Thread',\n props: {\n initialParams: { channelId: null, postParentId: null, role: null },\n component: (props: any) => (\n <DialogThreads\n {...props}\n channelId={props?.route?.params?.channelId}\n postParentId={props?.route?.params?.postParentId}\n role={props?.route?.params?.role}\n />\n ),\n options: ({ navigation }: any) => {\n return {\n headerShown: true,\n title: 'Thread',\n headerBackTitleVisible: false,\n gestureEnabled: false,\n swipeEnabled: false,\n headerLeft: (props: any) => (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={<Icon size={'lg'} as={MaterialIcons} name=\"arrow-back-ios\" color={'black'} />}\n />\n ),\n };\n },\n },\n },\n ['//threadmessage']: {\n exact: true,\n name: 'ThreadMessage',\n props: {\n initialParams: { channelId: null, postParentId: null, isPostParentIdThread: null, role: null },\n component: (props: any) => (\n <DialogThreadMessages\n {...props}\n channelId={props?.route?.params?.channelId}\n postParentId={props?.route?.params?.postParentId}\n isPostParentIdThread={props?.route?.params?.isPostParentIdThread}\n role={props?.route?.params?.role}\n />\n ),\n options: ({ navigation }: any) => {\n return {\n headerShown: true,\n title: 'Inbox',\n headerBackTitleVisible: false,\n gestureEnabled: false,\n swipeEnabled: false,\n headerLeft: (props: any) => (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={<Icon size={'lg'} as={MaterialIcons} name=\"arrow-back-ios\" color={'black'} />}\n />\n ),\n };\n },\n },\n },\n};\n\nexport const inboxFeature = new Feature({\n routeConfig: inboxConfig as any,\n});\n","export * from './InboxNavigation';\n","import * as React from 'react';\nimport { Box } from 'native-base';\nimport { ConversationView } from './containers/ConversationView';\n\nexport function DialogMessages({ channelId, role }) {\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <Box bg={'white'} flex={1}>\n <ConversationView channelId={channelId} role={role} />\n </Box>\n );\n}\n","import * as React from 'react';\nimport { Box, Spinner, Text } from 'native-base';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery, useSendThreadMessageMutation } from '@messenger-box/platform-client';\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 refetchChannelDetail(channelId);\n return () => {};\n }, []),\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 />\n ) : (\n <ThreadConversationView\n channelId={channelId}\n postParentId={parentId}\n isPostParentIdThread={isPostParentIdThread}\n role={role}\n />\n )}\n </Box>\n );\n}\n","import * as React from 'react';\nimport { Box, Spinner, Text } from 'native-base';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery } from '@messenger-box/platform-client';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\n\nexport function DialogThreads({ channelId, postParentId,role }) {\n const {\n data,\n loading: channelLoading,\n refetch,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n const channelsDetail = React.useMemo(() => {\n if (!data?.viewChannelDetail) return null;\n return data?.viewChannelDetail;\n }, [data]);\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 refetchChannelDetail(channelId);\n return () => {};\n }, []),\n );\n\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <>\n {channelLoading ? (\n <Spinner />\n ) : (\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 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","import * as React from 'react';\nimport { Box, Text } from 'native-base';\n\nimport { Dialogs } from './containers/Dialogs';\nimport { SupportServiceDialogs } from './containers/SupportServiceDialogs';\n\nexport const Inbox = (props: any) => {\n const { channelFilters, channelRole, supportServices } = props;\n return (\n <Box bg={'white'} flex={1}>\n {supportServices && <SupportServiceDialogs channelFilters={channelFilters} channelRole={channelRole} {...props} />}\n <Dialogs channelFilters={channelFilters} channelRole={channelRole} {...props} />\n </Box>\n );\n};\n","import * as FileSystem from \"expo-file-system\"\n\nexport const IMAGE_CACHE_FOLDER = `${FileSystem.cacheDirectory}`\n// export const IMAGE_CACHE_FOLDER = `${FileSystem.documentDirectory}images/`\nexport default IMAGE_CACHE_FOLDER\n","import React, { useEffect, useState, useRef } from 'react';\nimport { Image } from 'native-base';\n// import { Image } from \"react-native\"\nimport * as FileSystem from 'expo-file-system';\n\nimport * as CONST from './consts';\n\nconst CachedImage = (props: any) => {\n const { source, cacheKey, placeholderContent } = props;\n const { uri, headers, expiresIn } = source;\n const fileURI = `${CONST.IMAGE_CACHE_FOLDER}${cacheKey}`;\n\n const [imgUri, setImgUri] = useState<any>(fileURI);\n\n const componentIsMounted = useRef(true);\n const requestOption = headers ? { headers } : {};\n\n const _callback = (downloadProgress: any) => {\n if (componentIsMounted.current === false) {\n downloadResumableRef.current.pauseAsync();\n FileSystem.deleteAsync(fileURI, { idempotent: true }); // delete file locally if it was not downloaded properly\n }\n };\n\n const downloadResumableRef = useRef(FileSystem.createDownloadResumable(uri, fileURI, requestOption, _callback));\n\n useEffect(() => {\n loadImage();\n return () => {\n componentIsMounted.current = false;\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const loadImage = async () => {\n try {\n // Use the cached image if it exists\n const metadata: any = await FileSystem.getInfoAsync(fileURI);\n const expired = expiresIn && new Date().getTime() / 1000 - metadata?.modificationTime > expiresIn;\n // console.log({expiresIn, expired})\n\n // console.log({modificationTime: metadata.modificationTime, currentTime: new Date().getTime() / 1000})\n // console.log({metadata})\n if (!metadata.exists || metadata?.size === 0 || expired) {\n if (componentIsMounted.current) {\n setImgUri(null);\n\n if (expired) {\n await FileSystem.deleteAsync(fileURI, { idempotent: true });\n }\n // download to cache\n setImgUri(null);\n\n const response: any = await downloadResumableRef.current.downloadAsync();\n if (componentIsMounted.current && response.status === 200) {\n setImgUri(`${fileURI}?`); // deep clone to force re-render\n }\n if (response.status !== 200) {\n FileSystem.deleteAsync(fileURI, { idempotent: true }); // delete file locally if it was not downloaded properly\n }\n }\n }\n } catch (err) {\n // console.log({ err })\n }\n };\n // console.log({placeholderContent})\n if (!imgUri) return placeholderContent || null;\n\n return (\n <Image\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n source={{\n ...source,\n uri: imgUri,\n }}\n />\n );\n};\n\nexport const CacheManager = {\n addToCache: async ({ file, key }: any) => {\n await FileSystem.copyAsync({\n from: file,\n to: `${CONST.IMAGE_CACHE_FOLDER}${key}`,\n });\n // const uri = await FileSystem.getContentUriAsync(`${CONST.IMAGE_CACHE_FOLDER}${key}`)\n // return uri\n const uri = await CacheManager.getCachedUri({ key });\n return uri;\n },\n\n getCachedUri: async ({ key }: any) => {\n const uri = await FileSystem.getContentUriAsync(`${CONST.IMAGE_CACHE_FOLDER}${key}`);\n return uri;\n },\n\n downloadAsync: async ({ uri, key, options }: any) => {\n return await FileSystem.downloadAsync(uri, `${CONST.IMAGE_CACHE_FOLDER}${key}`, options);\n },\n};\n\nexport default CachedImage;\n","import React, { useMemo, useState } from 'react';\nimport { Text, Image, Pressable, HStack, Stack, Box, Avatar, View } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport {\n IChannel,\n ISortEnum,\n IUserAccount,\n useMessagesQuery,\n useOnChatMessageAddedSubscription,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useUserAccountQuery,\n} from '@messenger-box/platform-client';\nimport { startCase } from 'lodash';\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: ISortEnum.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: ISortEnum.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 () =>\n channelMembers\n ?.map((u: any) => u?.givenName + ' ' + u?.familyName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? '',\n [channelMembers],\n );\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, title)}\n borderWidth={'1'}\n borderRadius={10}\n borderColor={'gray.200'}\n flex={1}\n _dark={{\n borderColor: 'coolGray.600',\n backgroundColor: 'gray.700',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'gray.50',\n }}\n >\n <HStack\n // px={2}\n // pl={3}\n py={3}\n space={2}\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.Group\n _avatar={{\n size: 'sm',\n bg: 'transparent',\n }}\n >\n {channelMembers &&\n channelMembers?.length > 0 &&\n channelMembers?.slice(0, 2)?.map((ch: any, i: Number) => (\n <Avatar\n key={'key' + i}\n bg={'transparent'}\n size={9}\n top={i == 1 ? 4 : 0}\n right={i == 1 ? -2 : 0}\n zIndex={i == 1 ? 5 : 1}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: ch?.picture,\n }}\n >\n {startCase(ch?.username?.charAt(0))}\n {channelMembers?.length == 1 && (\n <Avatar.Badge bg=\"green.800\" bottom={-4} right={-4} />\n )}\n </Avatar>\n ))}\n </Avatar.Group>\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={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 );\n};\n\nexport const DialogsListItem = React.memo(DialogsListItemComponent);\n","import React, {useState} from 'react';\nimport {Alert, Modal, StyleSheet, Text, Pressable, View,SafeAreaView,StatusBar} from 'react-native';\n\nconst ImageViewerModal = ({children,isVisible=false,setVisible,modalContent=null}:any) => {\n \n return (\n <Modal\n animationType=\"slide\"\n // transparent={true}\n visible={isVisible}\n presentationStyle={'fullScreen'}\n style={{flex:1}}\n onRequestClose={() => {\n setVisible(false);\n }}>\n <View style={styles.container}> \n <View style={styles.headerView}>\n {/* <View><Text></Text></View>\n <View><Text></Text></View> */}\n <View style={{alignSelf:'flex-end',paddingRight:5}} > \n <Pressable\n style={[styles.button, styles.buttonClose]}\n onPress={() => setVisible(false)}>\n <Text style={styles.headerTextStyle}>X</Text>\n </Pressable></View>\n </View>\n <View style={styles.centeredView}>\n {modalContent ? modalContent : children}\n </View>\n <View style={styles.footerView}>\n\n </View>\n </View>\n </Modal>\n );\n};\n\nconst styles = StyleSheet.create({\n container:{\n flex:1,\n },\n headerView:{\n width:'100%',\n alignItems: 'center',\n justifyContent:'space-between',\n // backgroundColor:'rgba(r, g, b, a)',\n backgroundColor:'#000',\n paddingTop:50,\n paddingBottom:10,\n },\n centeredView: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'white',\n\n borderRadius: 20,\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n },\n footerView:{\n minHeight:100,\n backgroundColor:'#000'\n },\n modalView: {\n flex:1,\n backgroundColor: 'white',\n borderRadius: 20,\n alignItems: 'center',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n },\n button: {\n borderRadius: 20,\n padding: 10,\n elevation: 2,\n },\n buttonOpen: {\n backgroundColor: '#F194FF',\n },\n buttonClose: {\n backgroundColor: 'transparent',\n },\n textStyle: {\n color: 'white',\n fontWeight: 'bold',\n textAlign: 'center',\n },\n headerTextStyle:{\n color: '#fff',\n // fontWeight: 'bold',\n textAlign: 'center',\n fontSize:20,\n },\n modalText: {\n marginBottom: 15,\n textAlign: 'center',\n },\n});\n\nexport default ImageViewerModal;","/* 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 underlayColor={'#c0c0c0'} style={{width:'100%'}} onPress={() => this.props.setImageViewer(messageImageProps?.currentMessage, true)}>\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 style={{width:'100%'}} underlayColor={'#c0c0c0'} disabled={true} accessibilityTraits=\"text\" {...this.props.touchableProps}>\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","/* 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 { Avatar, Day, utils } from 'react-native-gifted-chat';\nimport { Avatar as AvatarNativeBase } from 'native-base';\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 <AvatarNativeBase\n size={'sm'}\n bg={'transparent'}\n borderRadius={0}\n source={{\n uri: isSameUserAndSameDay ? null : avatarProps?.currentMessage?.user?.avatar,\n }}\n marginRight={2}\n _image={{ ...styles.slackAvatar, ...avatarProps.imageStyle }}\n >\n {isSameUserAndSameDay ? '' : avatarProps?.currentMessage?.user?.name[0]}\n </AvatarNativeBase>\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","import SlackMessage from './SlackMessage';\nimport ImageViewerModal from './ImageViewerModal';\nexport { SlackMessage ,ImageViewerModal};\n","import React, { useMemo } from 'react';\nimport { Text, Image, Pressable, HStack, Stack, Box, Avatar, View } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport {\n IChannel,\n IUserAccount,\n useThreadMessagesQuery,\n useMessagesQuery,\n useUserAccountQuery,\n useOnThreadCreatedUpdatedSubscription,\n useOnThreadChatMessageAddedSubscription,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n OnThreadChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n} from '@messenger-box/platform-client';\nimport { startCase } from 'lodash';\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 SupportServiceDialogsListItemComponent: 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={10}\n borderColor={'gray.200'}\n flex={1}\n _dark={{\n borderColor: 'coolGray.600',\n backgroundColor: 'gray.700',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'gray.50',\n }}\n >\n <HStack\n // px={2}\n // pl={3}\n py={3}\n space={2}\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.Group\n _avatar={{\n size: 'sm',\n bg: 'transparent',\n }}\n >\n <Avatar\n key={'service-channels-key'}\n bg={'transparent'}\n size={9}\n top={0}\n right={0}\n zIndex={1}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: channel?.creator?.picture,\n }}\n >\n {startCase(channel?.creator?.username?.charAt(0))}\n </Avatar>\n </Avatar.Group>\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 = 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: 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={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 {channel?.title}\n </Text>\n <Text color=\"gray.600\" noOfLines={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=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n});\n\nexport const SupportServiceDialogsListItem = React.memo(SupportServiceDialogsListItemComponent);\n","import React, { useMemo } from 'react';\nimport { Text, Image, Pressable, VStack, HStack, Center, Stack, Box, Avatar, View, Button } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport {\n IChannel,\n IUserAccount,\n useThreadMessagesQuery,\n useMessagesQuery,\n useUserAccountQuery,\n useOnThreadChatMessageAddedSubscription,\n useOnThreadCreatedUpdatedSubscription,\n} from '@messenger-box/platform-client';\nimport { startCase } from 'lodash';\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 thread?: any;\n onOpen: (id: any, title: any, postParentId?: any) => void;\n role?: any;\n setData?: 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 ThreadViewItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n thread,\n onOpen,\n role,\n setData,\n}) {\n // const { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n // variables: {\n // channelId: thread?.channel?.id?.toString(),\n // postParentId: thread?.post?.id?.toString(),\n // },\n // });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const threadPostReply = React.useMemo(() => {\n if (!thread?.replies) return null;\n return thread?.replies;\n }, [thread]);\n\n // React.useEffect(() => {\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data) setData(threadCreatedUpdated?.threadCreatedUpdated?.data);\n // }, [threadCreatedUpdated?.threadCreatedUpdated]);\n\n // const threadPostReply = React.useMemo(() => {\n // if (!thread?.replies) return null;\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data?.replies?.length) {\n // return threadCreatedUpdated?.threadCreatedUpdated?.data?.replies;\n // } else return thread?.replies;\n // }, [thread, threadCreatedUpdated]);\n\n // const lastMessage = useMemo(() => {\n // if (!threadPost) {\n // return null;\n // }\n // const replies = threadPost?.replies?.filter((p: any) => p?.message !== '') ?? [];\n // if (replies?.length) {\n // return replies[0];\n // // return replies[replies.length - 1];\n // } else {\n // const post = threadPost?.post ?? null;\n // return post ? post?.post : null;\n // }\n // }, [threadPost]);\n\n // const participants: any = React.useMemo(() => {\n // if (!thread?.participants?.length) return null;\n // return thread?.participants?.filter((u: any) => u?.user?.id !== currentUser?.id) ?? [];\n // }, [thread]);\n\n // const allParticipantsNames: any = React.useMemo(() => {\n // if (!participants?.length) return null;\n // return (\n // participants\n // ?.map((p: any) => {\n // return p?.user?.givenName + ' ' + p?.user?.familyName ?? '';\n // })\n // ?.join(', ') ?? ''\n // );\n // }, [participants]);\n\n if (!threadPostReply || threadPostReply?.length == 0) {\n return <></>;\n }\n\n return (\n <VStack\n space={1}\n py={2}\n px={2}\n borderWidth={'1'}\n borderRadius={10}\n borderColor={'gray.200'}\n flex={1}\n _dark={{\n borderColor: 'white',\n backgroundColor: 'white',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'white',\n }}\n >\n <HStack\n // px={2}\n // pl={3}\n py={2}\n space={2}\n w={'100%'}\n flex={1}\n direction={'row'}\n justifyContent={'space-between'}\n alignItems={'center'}\n >\n <Box flex={1}>\n {/* <HStack flex={1} space={5} py={2} alignItems={'baseline'}>\n <Box>\n <Avatar.Badge size={4} left={0} zIndex={1} bg=\"green.800\" />\n </Box>\n <Box>\n <Text color=\"gray.600\" fontSize=\"lg\" flexWrap={'wrap'} fontWeight=\"semibold\">\n {allParticipantsNames || ''}\n </Text>\n </Box>\n </HStack> */}\n <HStack space={1} flex={1} direction={'row'} justifyContent={'center'} alignItems={'center'}>\n <Box flex={1}>\n {/* <HStack space={2} py={2}>\n <Box>\n <Avatar\n bg={'transparent'}\n size={8}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: thread?.post?.author?.picture,\n }}\n >\n {startCase(thread?.post?.author?.username?.charAt(0))}\n </Avatar>\n </Box>\n <Box>\n <HStack space={4}>\n <Text>\n {thread?.post?.author?.givenName + ' ' + thread?.post?.author?.familyName ??\n ''}\n </Text>\n <Text color=\"gray.500\">\n {thread?.post ? createdAtText(thread?.post?.createdAt) : ''}\n </Text>\n </HStack>\n <Text color=\"gray.600\" noOfLines={2}>\n {thread?.post?.message ?? ''}\n </Text>\n {!thread?.replies?.length && (\n <Button\n size={'xs'}\n w={150}\n variant={'outline'}\n _text={{ fontSize: 12, color: '#000' }}\n onPress={() =>\n onOpen(thread?.channel?.id, thread?.channel?.title, thread?.post?.id)\n }\n >\n Reply\n </Button>\n )}\n </Box>\n </HStack> */}\n {threadPostReply?.length > 0 && (\n <>\n {threadPostReply\n ?.slice(0, 2)\n ?.reverse()\n ?.map((reply: any, index: any) => (\n <HStack key={index} space={2} pb={2} pt={1}>\n <Box>\n <Avatar\n bg={'transparent'}\n size={8}\n _image={{\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: reply?.author?.picture,\n }}\n >\n {startCase(reply?.author?.username?.charAt(0))}\n </Avatar>\n </Box>\n <Box>\n <HStack space={4}>\n <Text>\n {reply?.author?.givenName ?? '' ?? ''}{' '}\n {reply?.author?.familyName ?? '' ?? ''}\n {/* {lastMessage?.author?.givenName +\n ' ' +\n lastMessage?.author?.familyName ?? ''} */}\n </Text>\n <Text color=\"gray.500\">\n {reply?.createdAt ? createdAtText(reply?.createdAt) : ''}\n {/* {lastMessage ? createdAtText(lastMessage?.createdAt) : ''} */}\n </Text>\n </HStack>\n <VStack space={1}>\n {reply?.message && (\n <Text color=\"gray.600\" noOfLines={2}>\n {reply?.message.length < 70\n ? `${reply?.message}`\n : `${reply?.message.substring(0, 68)}....`}\n </Text>\n )}\n {/* <Text color=\"gray.600\" noOfLines={2}>\n {reply?.message\n ? reply?.message.length < 70\n ? `${reply?.message}`\n : `${reply?.message.substring(0, 68)}....`\n : ''}\n </Text> */}\n\n <>\n {reply?.files?.data?.length > 0 &&\n reply?.files?.data?.map((f: any) => (\n <Box>\n <Avatar\n bg={'transparent'}\n size={8}\n _image={{\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: f?.url,\n }}\n >\n I\n </Avatar>\n </Box>\n ))}\n </>\n </VStack>\n\n {(threadPostReply?.length == 1 || index !== 0) && (\n <Button\n size={'xs'}\n w={150}\n variant={'outline'}\n _text={{ fontSize: 12, color: '#000' }}\n onPress={() =>\n onOpen(\n thread?.channel?.id,\n thread?.channel?.title,\n thread?.post?.id,\n )\n }\n >\n Reply\n </Button>\n )}\n </Box>\n </HStack>\n ))}\n </>\n )}\n </Box>\n </HStack>\n </Box>\n </HStack>\n {/* <HStack>\n <Box flex={0.06} alignItems={'flex-start'}></Box>\n <Button\n size={'xs'}\n variant={'outline'}\n _text={{ fontSize: 12, color: '#000' }}\n onPress={() => onOpen(thread?.channel?.id, thread?.channel?.title, postParentId)}\n >\n Reply\n </Button>\n </HStack> */}\n </VStack>\n );\n};\n\nexport const ThreadViewItem = React.memo(ThreadViewItemComponent);\n","import { cleanEnv, num, str } from 'envalid';\n\nexport const config = cleanEnv(process['APP_ENV'] || process.env, {\n MESSAGES_PER_PAGE: num({ devDefault: 20, default: 20 }),\n FILES_PER_MESSAGE: num({ default: 10 }),\n INBOX_MESSEGE_PATH: str({ default: 'MainStack.Message' }),\n // THREAD_MESSEGE_PATH: str({ default: 'MainStack.Thread' }),\n // THREADS_PATH: str({ default: 'MainStack.ThreadMessage' }),\n THREAD_MESSEGE_PATH: str({ default: 'MainStack.ThreadMessage' }),\n THREADS_PATH: str({ default: 'MainStack.Thread' }),\n CALL_TO_ACTION_PATH: str({ default: 'MainStack.GuestReservationRequestDetail' }),\n CALL_TO_ACTION_BOX_BGCOLOR: str({ default: '#0084ff' }),\n CALL_TO_ACTION_BUTTON_BORDERCOLOR: str({ default: '#fff' }),\n CALL_TO_ACTION_TEXT_COLOR: str({ default: '#fff' }),\n});\n","export { config } from './config';\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Avatar, Box, Button, HStack, Icon, Image, Spinner, Text, useColorModeValue, } from 'native-base';\nimport { Platform, TouchableHighlight } from 'react-native';\nimport { useFocusEffect, useIsFocused, useNavigation } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { orderBy, startCase, uniqBy } from 'lodash';\nimport * as ImagePicker from 'expo-image-picker';\nimport { encode as atob } from 'base-64';\nimport { Ionicons, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Actions, GiftedChat, IMessage, MessageText, Send } from 'react-native-gifted-chat';\nimport {\n IPreDefinedRole,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useMessagesQuery,\n useSendExpoNotificationOnPostMutation,\n useSendMessagesMutation,\n useUploadFilesNative,\n useViewChannelDetailQuery,\n} from '@messenger-box/platform-client';\nimport { IExpoNotificationData, IFileInfo, objectId } from '@messenger-box/core';\nimport { config } from '../config';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { ImageViewerModal, SlackMessage } from '../components/SlackMessageContainer';\nimport CachedImage from '../components/CachedImage';\nimport { format, isToday, isYesterday } from 'date-fns';\n\nconst {\n MESSAGES_PER_PAGE,\n CALL_TO_ACTION_BOX_BGCOLOR,\n CALL_TO_ACTION_PATH,\n CALL_TO_ACTION_BUTTON_BORDERCOLOR,\n CALL_TO_ACTION_TEXT_COLOR,\n} = config;\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\ninterface ISubscriptionHandlerProps {\n subscribeToNewMessages: () => any;\n channelId: string;\n}\n\ninterface IMessageProps extends IMessage {\n type: string;\n propsConfiguration?: any;\n replies?: any;\n}\n\nexport interface AlertMessageAttachmentsInterface {\n title: string;\n isTitleHtml: boolean;\n icon: string;\n callToAction: {\n title: string;\n link: string;\n };\n}\n\nconst ConversationViewComponent = ({ channelId, role }: any) => {\n const [channelToTop, setChannelToTop] = useState(0);\n const [channelMessages, setChannelMessages] = useState<any>([]);\n const auth: any = useSelector(userSelector);\n const [totalCount, setTotalCount] = useState<any>(0);\n const [selectedImage, setImage] = useState<string>('');\n const [loadingOldMessages, setLoadingOldMessages] = useState<boolean>(false);\n const color = useColorModeValue('white', 'black');\n // const color = useColorModeValue('black', 'white');\n const navigation = useNavigation<any>();\n const [files, setFiles] = useState<File[]>([]);\n const [images, setImages] = useState<ImagePicker.ImageInfo[]>([]);\n const [msg, setMsg] = useState<string>('');\n const [loading, setLoading] = useState(false);\n const [loadEarlierMsg, setLoadEarlierMsg] = useState(false);\n const [imageLoading, setImageLoading] = useState(false);\n const [expoTokens, setExpoTokens] = useState<any[]>([]);\n const [isShowImageViewer, setImageViewer] = useState<boolean>(false);\n const [imageObject, setImageObject] = useState<any>({});\n const [skip, setSkip] = useState(0);\n const messageRootListRef = useRef<any>(null);\n const isFocused = useIsFocused();\n\n const { startUpload } = useUploadFilesNative();\n\n const [sendMsg] = useSendMessagesMutation();\n\n const [sendExpoNotificationOnPostMutation] = useSendExpoNotificationOnPostMutation();\n\n const {\n data,\n loading: messageLoading,\n refetch,\n fetchMore: fetchMoreMessages,\n subscribeToMore,\n }: any = useMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n parentId: null,\n limit: MESSAGES_PER_PAGE,\n skip: skip,\n },\n skip: !channelId,\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n refetchWritePolicy: 'merge',\n });\n\n const {\n data: channelsDetail,\n loading: channelLoading,\n refetch: refetchChannelDetail,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n // const { data: users } = useGetAllUsersQuery();\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setSkip(0);\n refetchChannelDetail({ id: channelId?.toString() });\n refetch({\n channelId: channelId?.toString(),\n parentId: null,\n limit: MESSAGES_PER_PAGE,\n skip: 0,\n }).then(({ data }) => {\n if (!data?.messages) {\n return;\n }\n const { data: messages, totalCount }: any = data.messages;\n setTotalCount(totalCount);\n setChannelMessages(messages);\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setTotalCount(0);\n setChannelMessages([]);\n setSkip(0);\n };\n }, [isFocused]),\n );\n\n React.useEffect(() => {\n if (selectedImage) setImageLoading(false);\n }, [selectedImage]);\n\n useEffect(() => {\n if (data?.messages?.data) {\n const { data: messages, totalCount: messeageTotalCount } = data.messages;\n if (\n (messages && messages.length > 0 && messeageTotalCount > totalCount) ||\n (messages && messages.length > 0 && (loadingOldMessages || channelMessages.length === 0))\n ) {\n setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n setTotalCount(messeageTotalCount);\n }\n\n if (loadingOldMessages && channelMessages) setLoadingOldMessages(false);\n }\n }, [data, loadingOldMessages, channelMessages, totalCount]);\n\n const onFetchOld = useCallback(async () => {\n if (totalCount > channelMessages.length && !loadingOldMessages) {\n setLoadEarlierMsg(true);\n try {\n const response = await fetchMoreMessages({\n variables: {\n channelId: channelId?.toString(),\n parentId: null,\n skip: channelMessages.length,\n },\n });\n if (response?.data) {\n setSkip(channelMessages.length);\n setLoadEarlierMsg(false);\n setLoadingOldMessages(true);\n }\n } catch (error: any) {\n setLoadEarlierMsg(false);\n }\n\n // ?.then((res: any) => {\n // setLoadingOldMessages(true);\n // });\n }\n }, [totalCount, channelMessages]);\n\n // const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n // return contentOffset.y <= 100; // 100px from top\n // };\n\n const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n const paddingToTop = 60;\n return contentSize.height - layoutMeasurement.height - paddingToTop <= contentOffset.y;\n };\n\n const dataURLtoFile = (dataurl: any, filename: any) => {\n var arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new File([u8arr], filename, { type: mime });\n };\n\n const onSelectImages = async () => {\n setImageLoading(true);\n let imageSource: any = await ImagePicker.launchImageLibraryAsync({\n mediaTypes: ImagePicker.MediaTypeOptions.Images,\n allowsEditing: true,\n aspect: [4, 3],\n quality: 1,\n base64: true,\n });\n if (!imageSource.cancelled) {\n const image = 'data:image/jpeg;base64,' + imageSource?.base64;\n setImage(image);\n const file = dataURLtoFile(image, 'inputImage.jpg');\n setFiles((files) => files.concat(file));\n setImages((images) => images.concat(imageSource as ImagePicker.ImageInfo));\n }\n if (imageSource.cancelled) setLoading(false);\n };\n\n const handleSend = useCallback(\n async (message: string) => {\n if (!channelId) return;\n if (!message && message != ' ' && images.length == 0) return;\n\n const notificationData: IExpoNotificationData = {\n url: config.INBOX_MESSEGE_PATH,\n params: { channelId, hideTabBar: true },\n screen: 'DialogMessages',\n other: { sound: Platform.OS === 'android' ? undefined || null : 'default' },\n };\n\n if (images && images.length > 0) {\n const postId = objectId()\n\n setLoading(true);\n const uploadResponse = await startUpload({\n file: images,\n saveUploadedFile: {\n variables: {\n postId,\n },\n },\n createUploadLink: {\n variables: {\n postId,\n },\n },\n });\n if (uploadResponse?.error) setLoading(false);\n const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];\n\n if (uploadResponse.data) {\n setImage('');\n setFiles([]);\n setImages([]);\n //setLoading(false);\n const files = uploadedFiles?.map((f: any) => f.id) ?? null;\n await sendMsg({\n variables: {\n postId,\n channelId,\n content: message,\n files,\n notificationParams: notificationData,\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n },\n });\n }\n } else {\n setLoading(true);\n await sendMsg({\n variables: {\n channelId,\n content: message,\n notificationParams: notificationData,\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n },\n });\n }\n },\n [setChannelMessages, channelId, images, channelToTop, expoTokens],\n );\n\n const messageList = useMemo(() => {\n let currentDate = '';\n let res: any = [];\n if (channelMessages.length) {\n orderBy(channelMessages, ['createdAt'], ['desc']).map((msg) => {\n let message: IMessageProps = {\n _id: '',\n text: '',\n createdAt: 0,\n user: {\n _id: '',\n name: '',\n avatar: '',\n },\n type: '',\n };\n const date = new Date(msg.createdAt);\n message._id = msg.id;\n message.text = msg.message;\n message.createdAt = date;\n (message.user = {\n _id: msg.author.id,\n name: msg.author.givenName + ' ' + msg.author.familyName,\n avatar: msg.author?.picture,\n }),\n (message.image = msg.files?.data[0]?.url),\n (message.sent = msg?.isDelivered),\n (message.received = msg?.isRead);\n message.type = msg?.type;\n message.propsConfiguration = msg?.propsConfiguration;\n message.replies = msg?.replies ?? [];\n res.push(message);\n });\n }\n return res;\n }, [channelMessages]);\n\n const renderSend = (props) => {\n return (\n <Send {...props}>\n <Box>\n <MaterialCommunityIcons\n name=\"send-circle\"\n style={{ marginBottom: 5, marginRight: 5 }}\n size={32}\n color=\"#2e64e5\"\n />\n </Box>\n </Send>\n );\n };\n\n const renderMessageText = (props: any) => {\n const { currentMessage } = props;\n const lastReply: any = currentMessage?.replies?.data?.length > 0 ? currentMessage?.replies?.data?.[0] : null;\n\n if (currentMessage.type === 'ALERT') {\n const attachment = currentMessage?.propsConfiguration?.contents?.attachment;\n let action: string = '';\n let actionId: any = '';\n let params: any = {};\n\n if (attachment?.callToAction?.extraParams) {\n const extraParams: any = attachment?.callToAction?.extraParams;\n const route: any = extraParams?.route ?? null;\n let path: any = null;\n let param: any = null;\n if (role && role == IPreDefinedRole.Guest) {\n path = route?.guest?.name ? route?.guest?.name ?? null : null;\n param = route?.guest?.params ? route?.guest?.params ?? null : null;\n } else if (role && role == IPreDefinedRole.Owner) {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n } else {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n }\n\n action = path;\n params = { ...param };\n } else if (attachment?.callToAction?.link) {\n action = CALL_TO_ACTION_PATH;\n actionId = attachment?.callToAction?.link.split('/').pop();\n params = { reservationId: actionId };\n }\n\n return (\n <>\n {attachment?.callToAction && action ? (\n <Box bg={CALL_TO_ACTION_BOX_BGCOLOR} borderRadius={15} pb={2}>\n <Button\n variant={'outline'}\n size={'sm'}\n borderColor={CALL_TO_ACTION_BUTTON_BORDERCOLOR}\n onPress={() => action && params && navigation.navigate(action, params)}\n // onPress={() => navigation.navigate(action, { reservationId: actionId })}\n >\n <Text color={CALL_TO_ACTION_TEXT_COLOR}>{attachment.callToAction.title}</Text>\n </Button>\n <MessageText\n {...props}\n textStyle={{\n left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 },\n }}\n />\n </Box>\n ) : (\n <TouchableHighlight\n underlayColor={'#c0c0c0'}\n style={{ width: '100%' }}\n onPress={() =>\n navigation.navigate(config.THREAD_MESSEGE_PATH, {\n channelId: channelId,\n title: 'Message',\n postParentId: currentMessage?._id,\n isPostParentIdThread: true,\n })\n }\n >\n <>\n <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />\n {currentMessage?.replies?.data?.length > 0 && (\n <HStack space={1} px={1} alignItems={'center'}>\n <HStack>\n {currentMessage?.replies?.data\n ?.filter(\n (v: any, i: any, a: any) =>\n a.findIndex((t: any) => t?.author?.id === v?.author?.id) === i,\n )\n ?.slice(0, 2)\n ?.reverse()\n ?.map((p: any, i: Number) => (\n <Avatar\n key={'key' + i}\n bg={'transparent'}\n size={6}\n // top={i == 1 ? 4 : 0}\n // right={i == 1 ? -2 : 0}\n // zIndex={i == 1 ? 5 : 1}\n _image={{\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: p?.author?.picture,\n }}\n >\n {startCase(p?.author?.username?.charAt(0))}\n </Avatar>\n ))}\n </HStack>\n <Text fontSize={12} fontWeight={'bold'} color={'blue.800'}>\n {currentMessage?.replies?.totalCount}{' '}\n {currentMessage?.replies?.totalCount == 1 ? 'reply' : 'replies'}\n </Text>\n <Text fontSize={12} fontWeight={'bold'} color={'gray.500'}>\n {lastReply ? createdAtText(lastReply?.createdAt) : ''}\n </Text>\n </HStack>\n )}\n </>\n </TouchableHighlight>\n )}\n {/* <MessageText\n {...props}\n textStyle={{ left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 } }}\n /> */}\n </>\n );\n } else {\n return (\n <TouchableHighlight\n underlayColor={'#c0c0c0'}\n style={{ width: '100%' }}\n onPress={() =>\n navigation.navigate(config.THREAD_MESSEGE_PATH, {\n channelId: channelId,\n title: 'Message',\n postParentId: currentMessage?._id,\n isPostParentIdThread: true,\n })\n }\n >\n <>\n <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />\n {currentMessage?.replies?.data?.length > 0 && (\n <HStack space={1} px={1} alignItems={'center'}>\n <HStack>\n {currentMessage?.replies?.data\n ?.filter(\n (v: any, i: any, a: any) =>\n a.findIndex((t: any) => t?.author?.id === v?.author?.id) === i,\n )\n ?.slice(0, 2)\n ?.reverse()\n ?.map((p: any, i: Number) => (\n <Avatar\n key={'key' + i}\n bg={'transparent'}\n size={6}\n // top={i == 1 ? 4 : 0}\n // right={i == 1 ? -2 : 0}\n // zIndex={i == 1 ? 5 : 1}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: p?.author?.picture,\n }}\n >\n {startCase(p?.author?.username?.charAt(0))}\n </Avatar>\n ))}\n </HStack>\n <Text fontSize={12} fontWeight={'bold'} color={'blue.800'}>\n {currentMessage?.replies?.totalCount}{' '}\n {currentMessage?.replies?.totalCount == 1 ? 'reply' : 'replies'}\n </Text>\n <Text fontSize={12} fontWeight={'bold'} color={'gray.500'}>\n {lastReply ? createdAtText(lastReply?.createdAt) : ''}\n </Text>\n </HStack>\n )}\n </>\n </TouchableHighlight>\n );\n }\n };\n\n const renderActions = (props) => {\n return (\n <Actions\n {...props}\n icon={() => <Icon as={Ionicons} name={'image'} size={'lg'} color={'black'} onPress={onSelectImages} />}\n />\n );\n };\n\n const renderAccessory = (props) => {\n return (\n <Box>\n {selectedImage !== '' ? (\n <HStack alignItems={'center'}>\n <Image ml={3} key={selectedImage} alt={'image'} source={{ uri: selectedImage }} size={'xs'} />\n <Button\n variant={'ghost'}\n colorScheme={'secondary'}\n onPress={() => {\n setFiles([]);\n setImage('');\n setImages([]);\n }}\n >\n Cancel\n </Button>\n </HStack>\n ) : null}\n </Box>\n );\n };\n\n const setImageViewerObject = (obj: any, v: boolean) => {\n setImageObject(obj);\n setImageViewer(v);\n };\n\n const modalContent = React.useMemo(() => {\n if (!imageObject) return <></>;\n const { image, _id } = imageObject;\n return (\n <CachedImage\n style={{ width: '100%', height: '100%' }}\n resizeMode={'cover'}\n // cacheKey={`${_id}-conversation-modal-image-key`}\n cacheKey={`${_id}-slack-bubble-imageKey`}\n source={{\n uri: image,\n //headers: `Authorization: Bearer ${token}`,\n expiresIn: 86400,\n }}\n alt={'image'}\n />\n );\n }, [imageObject]);\n\n const renderMessage = useCallback(\n (props: any) => {\n // const {\n // currentMessage: { text: currText },\n // } = props;\n\n //let messageTextStyle: any;\n\n // Make \"pure emoji\" messages much bigger than plain text.\n // if (currText && emojiUtils.isPureEmojiString(currText)) {\n // messageTextStyle = {\n // fontSize: 28,\n // // Emoji get clipped if lineHeight isn't increased; make it consistent across platforms.\n // lineHeight: Platform.OS === 'android' ? 34 : 30,\n // }\n // }\n\n // return <SlackMessage {...props} messageTextStyle={messageTextStyle} />;\n return (\n <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />\n );\n },\n [isShowImageViewer],\n );\n\n // const renderMessage = (props: any) => {\n // // const {\n // // currentMessage: { text: currText },\n // // } = props;\n\n // //let messageTextStyle: any;\n\n // // Make \"pure emoji\" messages much bigger than plain text.\n // // if (currText && emojiUtils.isPureEmojiString(currText)) {\n // // messageTextStyle = {\n // // fontSize: 28,\n // // // Emoji get clipped if lineHeight isn't increased; make it consistent across platforms.\n // // lineHeight: Platform.OS === 'android' ? 34 : 30,\n // // }\n // // }\n\n // // return <SlackMessage {...props} messageTextStyle={messageTextStyle} />;\n // return <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />;\n // };\n\n let onScroll = false;\n\n const onMomentumScrollBegin = async ({ nativeEvent }: any) => {\n onScroll = true;\n console.log('scroll top');\n if (!loadingOldMessages && isCloseToTop(nativeEvent) && totalCount > channelMessages?.length) {\n await onFetchOld();\n }\n };\n\n const onEndReached = () => {\n console.log('on end reached');\n if (!onScroll) return;\n // load messages, show ActivityIndicator\n onScroll = false;\n // setLoadingOldMessages(true);\n };\n\n return (\n <>\n {loadEarlierMsg && <Spinner />}\n\n <GiftedChat\n ref={messageRootListRef}\n wrapInSafeArea={false}\n renderLoading={() => <Spinner />}\n messages={messageList}\n listViewProps={{\n onEndReached: onEndReached,\n onEndReachedThreshold: 0.5,\n onMomentumScrollBegin: onMomentumScrollBegin,\n }}\n // listViewProps={{\n // scrollEventThrottle: 400,\n // onScroll: ({ nativeEvent }) => { console.log('scroll')\n // if (!loadingOldMessages && isCloseToTop(nativeEvent)) {\n // onFetchOld();\n // }\n // }\n // }}\n onSend={(messages) => handleSend(messages[0]?.text ?? ' ')}\n text={msg ? msg : ' '}\n onInputTextChanged={(text) => setMsg(text)}\n renderFooter={() => (loading ? <Spinner /> : imageLoading ? <Spinner /> : '')}\n scrollToBottom\n user={{\n // _id: currentUser?.id || '',\n _id: auth?.id || '',\n }}\n isTyping={true}\n alwaysShowSend={loading ? false : true}\n //onLoadEarlier={onFetchOld}\n //infiniteScroll={true}\n renderSend={renderSend}\n // loadEarlier={data?.messages?.totalCount > channelMessages.length}\n //isLoadingEarlier={loadEarlierMsg}\n //extraData={{ isLoadingEarlier: loadingOldMessages }}\n // renderLoadEarlier={() =>\n // !loadEarlierMsg && (\n // <Center py={2}>\n // <Button\n // onPress={() => onFetchOld()}\n // variant={'outline'}\n // _text={{ color: 'black', fontSize: 15, fontWeight: 'bold' }}\n // >\n // Load earlier messages\n // </Button>\n // </Center>\n // )\n // }\n renderMessageText={renderMessageText}\n minInputToolbarHeight={50}\n renderActions={renderActions}\n renderAccessory={renderAccessory}\n renderMessage={renderMessage}\n renderChatFooter={() => (\n <>\n <ImageViewerModal\n isVisible={isShowImageViewer}\n setVisible={setImageViewer}\n modalContent={modalContent}\n />\n <SubscriptionHandler\n channelId={channelId?.toString()}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channelId?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n setSkip(0);\n const newMessage: any = subscriptionData?.data?.chatMessageAdded;\n const previousData = prev?.messages?.data\n ? [...prev.messages.data, newMessage]\n : [];\n const totalMsgCount = prev?.messages?.totalCount + 1;\n const merged = {\n ...prev,\n messages: {\n ...prev?.messages,\n data: previousData,\n totalCount: totalMsgCount,\n },\n };\n return merged;\n // return Object.assign({}, prev, {\n // messages: {\n // data: [...prev.messages.data, newMessage],\n // totalCount: prev.messages.totalCount + 1,\n // },\n // });\n },\n })\n }\n />\n </>\n )}\n lightboxProps={{\n underlayColor: 'transparent',\n springConfig: { tension: 90000, friction: 90000 },\n disabled: true,\n }}\n />\n </>\n );\n};\n\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: ISubscriptionHandlerProps) => {\n useEffect(() => subscribeToNewMessages(), [channelId]);\n return <></>;\n};\n\nexport const ConversationView = React.memo(ConversationViewComponent);\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner } from 'native-base';\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';\nimport { DialogsListItem } from '../components/DialogsListItem';\nimport { useGetChannelsByUserQuery } from '@messenger-box/platform-client';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { config } from '../config';\n\nexport interface InboxProps {\n channelFilters?: Record<string, unknown>;\n channelRole?: string;\n supportServices: boolean;\n}\n\nconst DialogsComponent = (props: InboxProps) => {\n const { channelFilters, channelRole } = props;\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 // const [userDirectChannel, setUserDirectChannel] = useState<any>([]);\n\n const {\n data: userChannels,\n loading: userChannelsLoading,\n refetch: getChannelsRefetch,\n } = useGetChannelsByUserQuery({\n variables: {\n role: channelRole,\n criteria: channelFilters,\n },\n onCompleted: (data: any) => {\n setRefresh(false);\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setRefresh(false);\n getChannelsRefetch({ role: channelRole, criteria: channelFilters });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [channelFilters]),\n );\n\n const channels = React.useMemo(() => {\n if (!userChannels?.channelsByUser?.length) return null;\n let uChannels: any =\n userChannels?.channelsByUser?.filter((c: any) =>\n c.members.some((u: any) => u !== null && u?.user?.id != auth?.id && u.user.__typename == 'UserAccount'),\n ) ?? [];\n return (uChannels && orderBy(uChannels, ['updatedAt'], ['desc'])) || [];\n }, [userChannels]);\n\n // useEffect(() => {\n // setTimeout(() => {\n // dispatch({\n // type: CHANGE_SETTINGS_ACTION,\n // payload: {\n // footerRender: false,\n // },\n // } as any);\n // }, 0);\n // return () => {\n // dispatch({\n // type: CHANGE_SETTINGS_ACTION,\n // payload: {\n // footerRender: true,\n // },\n // } as any);\n // };\n // }, []);\n\n // useEffect(() => {\n // if (userChannels?.channelsByUser) {\n // if (userChannels?.channelsByUser?.length == 0) {\n // setUserDirectChannel([]);\n // }\n // //Direct channel\n // let userDirectChannels: any =\n // userChannels?.channelsByUser\n // ?.filter((i: any) => i.type == 'DIRECT')\n // ?.filter((c: any) =>\n // c.members.some((u: any) => u?.user?.id != auth?.id && u.user.__typename == 'UserAccount'),\n // ) ?? [];\n\n // if (userDirectChannels?.length > 0) setUserDirectChannel(userDirectChannels);\n // }\n // }, [userChannels?.channelsByUser]);\n\n const handleSelectChannel = useCallback((id: any, title: any) => {\n if (params?.channelId) {\n navigation.navigate(config.INBOX_MESSEGE_PATH as any, {\n channelId: params?.channelId,\n role: params?.role,\n title: params?.title ?? null,\n hideTabBar: true,\n });\n } else {\n navigation.navigate(config.INBOX_MESSEGE_PATH as any, {\n channelId: id,\n role: channelRole,\n title: title,\n hideTabBar: true,\n });\n }\n }, []);\n\n const handleRefresh = useCallback(() => {\n //if(userChannels?.channelsByUser?.length != channels?.length)setRefresh(true);\n getChannelsRefetch({ role: channelRole, criteria: channelFilters });\n }, []);\n\n return (\n <Box p={2} pt={props?.supportServices ? 0 : 2}>\n <FlatList\n data={channels && channels?.length > 0 ? channels : []}\n onRefresh={handleRefresh}\n refreshing={userChannelsLoading}\n contentContainerStyle={{ minHeight: '100%' }}\n ItemSeparatorComponent={() => <Box height=\"0.5\" backgroundColor=\"gray.200\" />}\n renderItem={({ item: channel }) => (\n <DialogsListItem\n onOpen={handleSelectChannel}\n currentUser={auth}\n channel={channel}\n selectedChannelId={params?.channelId}\n />\n )}\n ListEmptyComponent={() => (\n <>\n {userChannelsLoading ? (\n <Spinner />\n ) : (\n <Box p={5}>\n <Heading>Chat</Heading>\n <Input\n height={50}\n mt={3}\n placeholder=\"Search\"\n borderRadius={50}\n borderColor={'gray.200'}\n borderWidth={2}\n />\n <Center mt={6}>\n <Icon as={Ionicons} name=\"chatbubbles\" size={'xl'} />\n <Text>You don't have any messages yet!</Text>\n </Center>\n </Box>\n )}\n </>\n )}\n keyExtractor={(item, index) => 'key' + index}\n />\n </Box>\n );\n};\n\nexport const Dialogs = React.memo(DialogsComponent);\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner } from 'native-base';\nimport { Ionicons } from '@expo/vector-icons';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useNavigation, useRoute, useIsFocused, useFocusEffect } from '@react-navigation/native';\n\nimport { SupportServiceDialogsListItem } from '../components/SupportServiceDialogsListItem';\nimport { useSupportServiceChannelsQuery } from '@messenger-box/platform-client';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { config } from '../config';\n\nexport interface SupportServiceInboxProps {\n channelFilters?: Record<string, unknown>;\n channelRole?: string;\n}\n\nconst SupportServiceDialogsComponent = (props: SupportServiceInboxProps) => {\n const { channelFilters, channelRole } = props;\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 // const [userDirectChannel, setUserDirectChannel] = useState<any>([]);\n\n const {\n data: serviceChannels,\n loading: serviceChannelsLoading,\n refetch: getServiceChannelsRefetch,\n } = useSupportServiceChannelsQuery({\n variables: {\n criteria: { type: 'SERVICE' },\n },\n onCompleted: (data: any) => {\n //setRefresh(false);\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setRefresh(false);\n getServiceChannelsRefetch({ criteria: { type: 'SERVICE' } });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const channels = React.useMemo(() => {\n if (!serviceChannels?.supportServiceChannels?.length) return null;\n let uChannels: any =\n serviceChannels?.supportServiceChannels?.filter((c: any) =>\n c.members.some((u: any) => u !== null && u.user.__typename == 'UserAccount'),\n ) ?? [];\n return uChannels || [];\n }, [serviceChannels]);\n\n const handleSelectChannel = useCallback((id: any, title: any, postParentId: any) => {\n if (params?.channelId) {\n navigation.navigate(\n params?.postParentId || params?.postParentId == 0\n ? config.THREAD_MESSEGE_PATH\n : (config.THREADS_PATH as any),\n {\n channelId: params?.channelId,\n role: params?.role,\n title: params?.title ?? null,\n postParentId: params?.postParentId,\n hideTabBar: true,\n },\n );\n } else {\n navigation.navigate(\n postParentId || postParentId == 0 ? config.THREAD_MESSEGE_PATH : (config.THREADS_PATH as any),\n {\n channelId: id,\n role: channelRole,\n title: title,\n postParentId: postParentId,\n hideTabBar: true,\n },\n );\n }\n }, []);\n\n const handleRefresh = useCallback(() => {\n //if(userChannels?.channelsByUser?.length != channels?.length)setRefresh(true);\n setRefresh(true);\n getServiceChannelsRefetch({ criteria: { type: 'SERVICE' } })?.then((res: any) => setRefresh(false));\n }, []);\n\n return (\n <Box p={2} pb={0}>\n <FlatList\n data={channels && channels?.length > 0 ? channels : []}\n onRefresh={handleRefresh}\n refreshing={serviceChannelsLoading}\n contentContainerStyle={{}}\n ItemSeparatorComponent={() => <Box height=\"0.5\" backgroundColor=\"gray.200\" />}\n renderItem={({ item: channel }) => (\n <SupportServiceDialogsListItem\n onOpen={handleSelectChannel}\n currentUser={auth}\n channel={channel}\n refreshing={refreshing}\n selectedChannelId={params?.channelId}\n role={channelRole}\n />\n )}\n keyExtractor={(item, index) => 'support-service-key' + index}\n />\n </Box>\n );\n};\n\nexport const SupportServiceDialogs = React.memo(SupportServiceDialogsComponent);\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n Avatar,\n Box,\n Button,\n Center,\n HStack,\n Icon,\n Image,\n Spinner,\n Text,\n useColorModeValue,\n VStack,\n} from 'native-base';\nimport { Platform } from 'react-native';\nimport { useFocusEffect, useNavigation, useRoute } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { orderBy, startCase, uniqBy } from 'lodash';\nimport * as ImagePicker from 'expo-image-picker';\nimport { encode as atob } from 'base-64';\nimport { Ionicons, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Actions, GiftedChat, IMessage, MessageText, Send } from 'react-native-gifted-chat';\nimport {\n IPost,\n IPostThread,\n IPreDefinedRole,\n OnThreadChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useCreatePostThreadMutation,\n useOnThreadChatMessageAddedSubscription,\n useSendExpoNotificationOnPostMutation,\n useSendThreadMessageMutation,\n useThreadMessagesLazyQuery,\n useGetPostThreadLazyQuery,\n useUploadFilesNative,\n} from '@messenger-box/platform-client';\nimport { IExpoNotificationData, IFileInfo, objectId } from '@messenger-box/core';\nimport { config } from '../config';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { ImageViewerModal, SlackMessage } from '../components/SlackMessageContainer';\nimport CachedImage from '../components/CachedImage';\nimport { format, isToday, isYesterday } from 'date-fns';\n\nconst {\n MESSAGES_PER_PAGE,\n CALL_TO_ACTION_BOX_BGCOLOR,\n CALL_TO_ACTION_PATH,\n CALL_TO_ACTION_BUTTON_BORDERCOLOR,\n CALL_TO_ACTION_TEXT_COLOR,\n} = config;\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\ninterface IMessageProps extends IMessage {\n type: string;\n propsConfiguration?: any;\n}\n\nexport interface AlertMessageAttachmentsInterface {\n title: string;\n isTitleHtml: boolean;\n icon: string;\n callToAction: {\n title: string;\n link: string;\n };\n}\n\ninterface IThreadSubscriptionHandlerProps {\n subscribeToNewMessages: () => any;\n channelId: string;\n}\n\nconst ThreadConversationViewComponent = ({ channelId, postParentId, isPostParentIdThread, role }: any) => {\n const { params } = useRoute<any>();\n const [channelToTop, setChannelToTop] = useState(0);\n const [channelMessages, setChannelMessages] = useState<any>([]);\n const auth: any = useSelector(userSelector);\n const [totalCount, setTotalCount] = useState<any>(0);\n const [selectedImage, setImage] = useState<string>('');\n const [loadingOldMessages, setLoadingOldMessages] = useState<boolean>(false);\n const [loadEarlierMsg, setLoadEarlierMsg] = useState(false);\n const color = useColorModeValue('white', 'black');\n // const color = useColorModeValue('black', 'white');\n const navigation = useNavigation<any>();\n const [files, setFiles] = useState<File[]>([]);\n const [images, setImages] = useState<ImagePicker.ImageInfo[]>([]);\n const [msg, setMsg] = useState<string>('');\n const [loading, setLoading] = useState(false);\n const [imageLoading, setImageLoading] = useState(false);\n const [expoTokens, setExpoTokens] = useState<any[]>([]);\n const [isShowImageViewer, setImageViewer] = useState<boolean>(false);\n const [imageObject, setImageObject] = useState<any>({});\n const [parentId, setParentId] = useState<any>(postParentId);\n const [postThread, setPostThread] = useState<IPostThread>();\n const { startUpload } = useUploadFilesNative();\n const [threadPost, setThreadPost] = useState<any[]>([]);\n const [isScrollToBottom, setIsScrollToBottom] = useState(false);\n const threadMessageListRef = useRef<any>(null);\n\n // const [sendThreadMessage] = useSendThreadMessageMutation();\n const [sendThreadMessage] = useCreatePostThreadMutation();\n const [sendExpoNotificationOnPostMutation] = useSendExpoNotificationOnPostMutation();\n\n const [\n getThreadMessages,\n { data, loading: threadLoading, fetchMore: fetchMoreMessages, refetch: refetchThreadMessages, subscribeToMore },\n ] = useGetPostThreadLazyQuery({ fetchPolicy: 'cache-and-network' });\n\n useFocusEffect(\n React.useCallback(() => {\n navigation?.setOptions({ title: params?.title ?? 'Thread' });\n if (postParentId) {\n refetchThreadMessages({\n channelId: channelId?.toString(),\n role: role?.toString(),\n postParentId: postParentId?.toString(),\n selectedFields: 'id channel post replies replyCount lastReplyAt createdAt updatedAt',\n limit: MESSAGES_PER_PAGE,\n });\n }\n setParentId(postParentId);\n\n return () => {\n setTotalCount(0);\n setChannelMessages([]);\n setThreadPost([]);\n };\n }, [postParentId]),\n );\n\n useEffect(() => {\n //if (parentId && parentId == 0) {\n if (channelId && parentId) {\n getThreadMessages({\n variables: {\n channelId: channelId?.toString(),\n role: role?.toString(),\n postParentId: !parentId || parentId == 0 ? null : parentId?.toString(),\n selectedFields: 'id channel post replies replyCount lastReplyAt createdAt updatedAt',\n limit: MESSAGES_PER_PAGE,\n },\n });\n }\n }, [parentId]);\n\n React.useEffect(() => {\n if (data?.getPostThread) {\n const threads: any = data.getPostThread;\n const threadPost = threads?.post ?? [];\n const threadReplies = threads?.replies ?? [];\n const messeageTotalCount = threads?.replyCount ?? 0;\n const messages = [threadPost, ...threadReplies];\n\n if (\n (messages && messages.length > 0 && messeageTotalCount > totalCount) ||\n (messages && messages.length > 0 && channelMessages.length === 0)\n ) {\n setThreadMessages(messages, messeageTotalCount);\n }\n }\n if (isScrollToBottom && channelMessages) scrollToBottom();\n // scrollToBottom();\n // if (!isPostParentIdThread) {\n // // setTotalCount((pc: any) => pc + threadTotalCount);\n // setChannelMessages((oldMessages: any) => uniqBy([...threadMessage, ...oldMessages], ({ id }) => id));\n // }\n }, [data, channelMessages, loadingOldMessages, totalCount, isPostParentIdThread, isScrollToBottom]);\n\n const setThreadMessages = (messages: any, messagesTotalCount: number) => {\n setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n setTotalCount(messagesTotalCount);\n };\n\n React.useEffect(() => {\n if (selectedImage) setImageLoading(false);\n }, [selectedImage]);\n\n const scrollToBottom = React.useCallback(() => {\n if (threadMessageListRef?.current) {\n setIsScrollToBottom(false);\n threadMessageListRef.current.scrollTop = threadMessageListRef.current.scrollHeight;\n }\n }, [threadMessageListRef]);\n\n const onFetchOld = useCallback(() => {\n if (totalCount > channelMessages.length && !loadingOldMessages) {\n setLoadEarlierMsg(true);\n fetchMoreMessages({\n variables: {\n channelId: channelId?.toString(),\n role: role?.toString(),\n postParentId: parentId?.toString(),\n selectedFields: 'id channel post replies replyCount lastReplyAt createdAt updatedAt',\n limit: MESSAGES_PER_PAGE,\n skip: channelMessages.length - 1,\n },\n })\n .then((res: any) => {\n if (res?.data?.getPostThread) {\n const threads: any = res?.data?.getPostThread;\n const threadReplies = threads?.replies ?? [];\n const messeageTotalCount = threads?.replyCount ?? 0;\n setThreadMessages(threadReplies, messeageTotalCount);\n }\n })\n .finally(() => {\n setLoadEarlierMsg(false);\n setLoadingOldMessages(false);\n })\n .catch((error: any) => {\n setLoadEarlierMsg(false);\n setLoadingOldMessages(false);\n });\n }\n }, [parentId, channelId, totalCount, channelMessages]);\n\n // const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n // return contentOffset.y <= 100; // 100px from top\n // };\n\n const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n const paddingToTop = 60;\n return contentSize.height - layoutMeasurement.height - paddingToTop <= contentOffset.y;\n };\n\n const dataURLtoFile = (dataurl: any, filename: any) => {\n var arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new File([u8arr], filename, { type: mime });\n };\n\n const onSelectImages = async () => {\n setImageLoading(true);\n let imageSource: any = await ImagePicker.launchImageLibraryAsync({\n mediaTypes: ImagePicker.MediaTypeOptions.Images,\n allowsEditing: true,\n aspect: [4, 3],\n quality: 1,\n base64: true,\n });\n if (!imageSource.cancelled) {\n const image = 'data:image/jpeg;base64,' + imageSource?.base64;\n setImage(image);\n const file = dataURLtoFile(image, 'inputImage.jpg');\n setFiles((files) => files.concat(file));\n setImages((images) => images.concat(imageSource as ImagePicker.ImageInfo));\n }\n if (imageSource.cancelled) setLoading(false);\n };\n\n const handleSend = useCallback(\n async (message: string) => {\n if (!channelId) return;\n if (!message && message != ' ' && images.length == 0) return;\n\n const postId = objectId();\n\n if (images && images.length > 0) {\n setLoading(true);\n const uploadResponse = await startUpload({\n file: images,\n saveUploadedFile: {\n variables: {\n postId,\n },\n },\n createUploadLink: {\n variables: {\n postId,\n },\n },\n });\n if (uploadResponse?.error) setLoading(false);\n const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];\n if (uploadResponse.data) {\n setImage('');\n setFiles([]);\n setImages([]);\n //setLoading(false);\n const files = uploadedFiles?.map((f: any) => f.id) ?? null;\n await sendThreadMessage({\n variables: {\n postId,\n channelId,\n postThreadId: postThread && postThread?.id,\n postParentId: !parentId || parentId == 0 ? null : parentId,\n threadMessageInput: {\n content: message,\n files,\n role,\n },\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setPostThread(data?.createPostThread?.data);\n const lastMessageId = data?.createPostThread?.lastMessage?.id;\n if (!parentId || parentId == 0) {\n setParentId(data?.createPostThread?.lastMessage?.id);\n }\n\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n const msg = message == '' ? 'Send a file' : message;\n sendPushNotification(lastMessageId, channelId, parentId, data?.createPostThread?.data?.id);\n },\n });\n }\n } else {\n setLoading(true);\n await sendThreadMessage({\n variables: {\n channelId,\n postThreadId: postThread && postThread?.id,\n postParentId: !parentId || parentId == 0 ? null : parentId,\n threadMessageInput: {\n content: message,\n role,\n },\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setPostThread(data?.createPostThread.data);\n const lastMessageId = data?.createPostThread?.lastMessage?.id;\n if (!parentId || parentId == 0) {\n setParentId(data?.createPostThread?.lastMessage?.id);\n }\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n\n sendPushNotification(lastMessageId, channelId, parentId, data?.createPostThread?.data?.id);\n },\n });\n }\n },\n [setChannelMessages, channelId, images, parentId, expoTokens],\n );\n\n const sendPushNotification = async (messageId: string, channelId: string, parentId: any, threadId: string) => {\n const notificationData: IExpoNotificationData = {\n url: config.THREAD_MESSEGE_PATH,\n params: { channelId, title: params?.title ?? 'Thread', postParentId: parentId, hideTabBar: true },\n screen: 'DialogThreadMessages',\n thread: { id: threadId },\n other: { sound: Platform.OS === 'android' ? undefined || null : 'default' },\n };\n if (parentId || parentId == 0) {\n await sendExpoNotificationOnPostMutation({\n variables: {\n postId: messageId?.toString(),\n notificationData,\n },\n });\n }\n };\n\n const messageList = useMemo(() => {\n let currentDate = '';\n let res: any = [];\n if (channelMessages?.length) {\n orderBy(channelMessages, ['createdAt'], ['desc']).map((msg) => {\n let message: IMessageProps = {\n _id: '',\n text: '',\n createdAt: 0,\n user: {\n _id: '',\n name: '',\n avatar: '',\n },\n type: '',\n };\n const date = new Date(msg.createdAt);\n message._id = msg.id;\n message.text = msg.message;\n message.createdAt = date;\n (message.user = {\n _id: msg?.author?.id ?? auth?.profile?.id,\n name:\n msg?.author?.givenName ??\n auth?.profile?.given_name + ' ' + msg?.author?.familyName ??\n auth?.profile?.family_name,\n avatar: msg?.author?.picture ?? auth?.profile?.picture,\n }),\n (message.image = msg.files?.data[0]?.url),\n (message.sent = msg?.isDelivered),\n (message.received = msg?.isRead);\n message.type = msg?.type;\n message.propsConfiguration = msg?.propsConfiguration;\n res.push(message);\n });\n }\n return res;\n }, [channelMessages]);\n\n const renderSend = (props) => {\n return (\n <Send {...props}>\n <Box>\n <MaterialCommunityIcons\n name=\"send-circle\"\n style={{ marginBottom: 5, marginRight: 5 }}\n size={32}\n color=\"#2e64e5\"\n />\n </Box>\n </Send>\n );\n };\n\n const renderMessageText = (props: any) => {\n const { currentMessage } = props;\n if (currentMessage.type === 'ALERT') {\n const attachment = currentMessage?.propsConfiguration?.contents?.attachment;\n let action: string = '';\n let actionId: any = '';\n let params: any = {};\n if (attachment?.callToAction?.extraParams) {\n const extraParams: any = attachment?.callToAction?.extraParams;\n const route: any = extraParams?.route ?? null;\n let path: any = null;\n let param: any = null;\n if (role && role == IPreDefinedRole.Guest) {\n path = route?.guest?.name ? route?.guest?.name ?? null : null;\n param = route?.guest?.params ? route?.guest?.params ?? null : null;\n } else if (role && role == IPreDefinedRole.Owner) {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n } else {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n }\n\n action = path;\n params = { ...param };\n } else if (attachment?.callToAction?.link) {\n action = CALL_TO_ACTION_PATH;\n actionId = attachment?.callToAction?.link.split('/').pop();\n params = { reservationId: actionId };\n }\n\n // if (attachment?.callToAction?.link?.includes('my-reservation-details')) {\n // action = CALL_TO_ACTION_PATH;\n // actionId = attachment?.callToAction?.link.split('/').pop();\n // }\n\n return (\n <>\n {attachment?.callToAction && action ? (\n <Box bg={CALL_TO_ACTION_BOX_BGCOLOR} borderRadius={15} pb={2}>\n <Button\n variant={'outline'}\n size={'sm'}\n borderColor={CALL_TO_ACTION_BUTTON_BORDERCOLOR}\n onPress={() => action && params && navigation.navigate(action, params)}\n //onPress={() => navigation.navigate(action, { reservationId: actionId })}\n >\n <Text color={CALL_TO_ACTION_TEXT_COLOR}>{attachment.callToAction.title}</Text>\n </Button>\n <MessageText\n {...props}\n textStyle={{\n left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 },\n }}\n />\n </Box>\n ) : (\n <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />\n )}\n {/* <MessageText\n {...props}\n textStyle={{ left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 } }}\n /> */}\n </>\n );\n } else {\n return <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />;\n }\n };\n\n const renderActions = (props) => {\n return (\n <Actions\n {...props}\n icon={() => <Icon as={Ionicons} name={'image'} size={'lg'} color={'black'} onPress={onSelectImages} />}\n />\n );\n };\n\n const renderAccessory = (props) => {\n return (\n <Box>\n {selectedImage !== '' ? (\n <HStack alignItems={'center'}>\n <Image ml={3} key={selectedImage} alt={'image'} source={{ uri: selectedImage }} size={'xs'} />\n <Button\n variant={'ghost'}\n colorScheme={'secondary'}\n onPress={() => {\n setFiles([]);\n setImage('');\n setImages([]);\n }}\n >\n Cancel\n </Button>\n </HStack>\n ) : null}\n </Box>\n );\n };\n\n const setImageViewerObject = (obj: any, v: boolean) => {\n setImageObject(obj);\n setImageViewer(v);\n };\n\n const modalContent = React.useMemo(() => {\n if (!imageObject) return <></>;\n const { image, _id } = imageObject;\n return (\n <CachedImage\n style={{ width: '100%', height: '100%' }}\n resizeMode={'cover'}\n // cacheKey={`${_id}-conversation-modal-image-key`}\n cacheKey={`${_id}-slack-bubble-imageKey`}\n source={{\n uri: image,\n //headers: `Authorization: Bearer ${token}`,\n expiresIn: 86400,\n }}\n alt={'image'}\n />\n );\n }, [imageObject]);\n\n const renderMessage = (props: any) => {\n return <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />;\n };\n\n let onScroll = false;\n\n const onMomentumScrollBegin = ({ nativeEvent }: any) => {\n onScroll = true;\n console.log('scroll top');\n if (!loadingOldMessages && isCloseToTop(nativeEvent) && totalCount > channelMessages?.length) {\n onFetchOld();\n }\n };\n\n const onEndReached = () => {\n console.log('on end reached');\n if (!onScroll) return;\n // load messages, show ActivityIndicator\n onScroll = false;\n // setLoadingOldMessages(true);\n };\n\n return (\n <>\n {(loadingOldMessages || loadEarlierMsg) && <Spinner />}\n {/* {loadEarlierMsg && <Spinner />} */}\n {isPostParentIdThread && (\n <>\n {threadPost?.length > 0 && (\n <>\n <VStack px={2} pt={2} pb={0} space={2}>\n <HStack space={2} alignItems={'center'}>\n <Avatar\n bg={'transparent'}\n size={10}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: threadPost[0]?.author?.picture,\n }}\n >\n {startCase(threadPost[0]?.author?.username?.charAt(0))}\n </Avatar>\n <Box>\n <Text color={'black'} fontWeight={'bold'}>\n {threadPost[0]?.author?.givenName ?? ''}{' '}\n {threadPost[0]?.author?.familyName ?? ''}\n </Text>\n <Text color={'gray.500'} pl={0}>\n {createdAtText(threadPost[0]?.createdAt)} at{' '}\n {format(new Date(threadPost[0]?.createdAt), 'hh:ss:a')}\n </Text>\n </Box>\n </HStack>\n <HStack px={2} space={2} alignItems={'center'}>\n <Text>{threadPost[0]?.message ?? ''}</Text>\n </HStack>\n </VStack>\n\n <Box py={4}>\n <Box px={4} borderTopWidth={1} borderBottomWidth={1} py={2} borderColor={'gray.200'}>\n <Text color={'gray.600'} fontWeight={'bold'}>\n {threadPost[0]?.replies?.totalCount}{' '}\n {threadPost[0]?.replies?.totalCount > 0 ? 'replies' : 'reply'}\n </Text>\n </Box>\n </Box>\n </>\n )}\n </>\n )}\n <GiftedChat\n ref={threadMessageListRef}\n wrapInSafeArea={false}\n renderLoading={() => <Spinner />}\n messages={messageList}\n listViewProps={{\n onEndReached: onEndReached,\n onEndReachedThreshold: 0.5,\n onMomentumScrollBegin: onMomentumScrollBegin,\n }}\n onSend={(messages) => handleSend(messages[0]?.text ?? ' ')}\n text={msg ? msg : ' '}\n onInputTextChanged={(text) => setMsg(text)}\n renderFooter={() => (loading ? <Spinner /> : imageLoading ? <Spinner /> : '')}\n scrollToBottom\n user={{\n _id: auth?.id || '',\n }}\n isTyping={true}\n alwaysShowSend={loading ? false : true}\n // onLoadEarlier={onFetchOld}\n infiniteScroll={true}\n renderSend={renderSend}\n // loadEarlier={data?.messages?.totalCount > channelMessages.length}\n // isLoadingEarlier={loadEarlierMsg}\n // renderLoadEarlier={() =>\n // !loadEarlierMsg && (\n // <Center py={2}>\n // <Button\n // onPress={() => onFetchOld(channelMessages?.length)}\n // variant={'outline'}\n // _text={{ color: 'black', fontSize: 15, fontWeight: 'bold' }}\n // >\n // Load earlier messages\n // </Button>\n // </Center>\n // )\n // }\n renderMessageText={renderMessageText}\n minInputToolbarHeight={50}\n renderActions={renderActions}\n renderAccessory={renderAccessory}\n renderMessage={renderMessage}\n renderChatFooter={() => (\n <>\n <ImageViewerModal\n isVisible={isShowImageViewer}\n setVisible={setImageViewer}\n modalContent={modalContent}\n />\n <SubscriptionHandler\n channelId={channelId}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channelId?.toString(),\n postParentId: !parentId || parentId == 0 ? null : parentId?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newMessage: any = subscriptionData?.data?.threadChatMessageAdded;\n const prevReplyCount: any = prev?.getPostThread?.replyCount;\n const newReplyCount = prevReplyCount || 0 + 1;\n const replies = prev?.getPostThread?.replies || [];\n\n return Object.assign({}, prev, {\n getPostThread: {\n ...prev?.getPostThread,\n lastReplyAt: newMessage.createdAt,\n replies: [newMessage, ...replies],\n replyCount: newReplyCount,\n updatedAt: newMessage.createdAt,\n },\n });\n },\n })\n }\n />\n </>\n )}\n messagesContainerStyle={messageList?.length == 0 && { transform: [{ scaleY: -1 }] }}\n renderChatEmpty={() => (\n <>\n {!threadLoading && messageList && messageList?.length == 0 && (\n <Box p={5}>\n <Center mt={6}>\n <Icon as={Ionicons} name=\"chatbubbles\" size={'xl'} />\n <Text>You don't have any message yet!</Text>\n </Center>\n </Box>\n )}\n </>\n )}\n lightboxProps={{\n underlayColor: 'transparent',\n springConfig: { tension: 90000, friction: 90000 },\n disabled: true,\n }}\n />\n </>\n );\n};\n\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: IThreadSubscriptionHandlerProps) => {\n useEffect(() => subscribeToNewMessages(), [channelId]);\n return <></>;\n};\n\nexport const ThreadConversationView = React.memo(ThreadConversationViewComponent);\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner, Button } from 'native-base';\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';\nimport { ThreadViewItem } from '../components/ThreadsViewItem';\nimport {\n useThreadMessagesQuery,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n useOnThreadCreatedUpdatedSubscription,\n} from '@messenger-box/platform-client';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { config } from '../config';\nconst { MESSAGES_PER_PAGE } = config;\n\nexport interface ThreadsViewProps {\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 = ({ channelId, role, channelsDetail, refetchChannelDetail }: 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 const [threadData, setThreadsData] = useState<any>([]);\n\n const {\n data,\n loading: threadLoading,\n error,\n refetch,\n subscribeToMore,\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 { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n // variables: { channelId: channelId?.toString() },\n // });\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 });\n // .then(({ data }) => {\n // if (!data?.threadMessages?.data) {\n // return;\n // }\n\n // if (data?.threadMessages?.data?.length) {\n // const { data: newThreads } = data?.threadMessages;\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, ...newThreads], ({ id }) => id));\n // }\n // });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [channelId]),\n );\n\n // React.useEffect(() => {\n // if (data?.threadMessages?.data?.length) {\n // const { data: newThreads } = data?.threadMessages;\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, ...newThreads], ({ id }) => id));\n // }\n // }, [data]);\n\n // React.useEffect(() => {\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data) {\n // const { data: newThreads } = threadCreatedUpdated?.threadCreatedUpdated;\n\n // setThreadsData((oldThreads: any) => {\n // const i = oldThreads.findIndex((el: any) => el.id === newThreads?.id);\n // if (i > -1) oldThreads[i] = newThreads; // (2)\n // else oldThreads.push(newThreads);\n // return oldThreads;\n // });\n // // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, newThreads], ({ id }) => id));\n // }\n // }, [threadCreatedUpdated]);\n\n const setData = React.useCallback((newThreads: any) => {\n setThreadsData((oldThreads: any) => {\n const i = oldThreads.findIndex((el: any) => el.id === newThreads?.id);\n if (i > -1) oldThreads[i] = newThreads; // (2)\n else oldThreads.push(newThreads);\n return oldThreads;\n });\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, newThreads], ({ id }) => id));\n }, []);\n\n // const threads = React.useMemo(() => {\n // if (!threadData?.length) return null;\n // return orderBy(threadData, ['updatedAt'], ['desc']) || [];\n // //return threadData || [];\n // }, [threadData]);\n\n const threads = React.useMemo(() => {\n if (!data?.threadMessages?.data?.length) return null;\n const { data: newThreads } = data?.threadMessages;\n const threadsFiltered = newThreads ? uniqBy([...newThreads], ({ id }: any) => id) : [];\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 //return threadData || [];\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 // if (params?.channelId) {\n // navigation.navigate(config.THREAD_MESSEGE_PATH as any, {\n // channelId: params?.channelId,\n // title: params?.title ?? null,\n // postParentId: postParentId,\n // hideTabBar: true,\n // });\n // } else {\n // navigation.navigate(config.THREAD_MESSEGE_PATH as any, {\n // channelId: id,\n // title: title,\n // postParentId: postParentId,\n // hideTabBar: true,\n // });\n // }\n }, []);\n\n const handleRefresh = useCallback(() => {\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n });\n // .then(({ data }) => {\n // if (!data?.threadMessages?.data) {\n // return;\n // }\n\n // if (data?.threadMessages?.data?.length) {\n // const { data: newThreads } = data?.threadMessages;\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, ...newThreads], ({ id }) => id));\n // }\n // });\n }, []);\n\n const fetchMoreThreads = useCallback(() => {\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n skip: threads?.length,\n });\n }, []);\n\n // if (!threadReplies || threadReplies?.length == 0) {\n // return (\n // <Center w=\"full\" bg={'f8f8f8'} height={'full'}>\n // You don't have any message yet!\n // </Center>\n // );\n // }\n\n return (\n <Box\n flex={1}\n p={2}\n pb={0}\n _dark={{\n borderColor: 'coolGray.600',\n backgroundColor: 'gray.700',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'gray.50',\n }}\n >\n <FlatList\n style={{ flex: 1 }}\n data={threads && threads?.length > 0 ? threads : []}\n onRefresh={handleRefresh}\n refreshing={threadLoading}\n contentContainerStyle={{ paddingBottom: 60 }}\n ItemSeparatorComponent={() => <Box height=\"0.5\" backgroundColor=\"gray.200\" />}\n renderItem={({ item: thread, index }) => (\n <ThreadViewItem\n key={index}\n onOpen={handleSelectThread}\n currentUser={auth}\n thread={thread}\n role={role}\n setData={setData}\n />\n )}\n ListEmptyComponent={() => (\n <>\n {!threadLoading || threads?.length == 0}\n <Box p={5}>\n <Center mt={6}>\n <Icon as={Ionicons} name=\"chatbubbles\" size={'xl'} />\n <Text>You don't have any message yet!</Text>\n </Center>\n </Box>\n </>\n )}\n ListFooterComponent={() => (\n <>\n <SubscriptionHandler\n channelId={channelId}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: THREAD_CHAT_ADDED,\n variables: {\n channelId: channelId?.toString(),\n postParentId: null,\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newPostThreadData: any =\n subscriptionData?.data?.threadCreatedUpdated?.data;\n const newMessage: any =\n subscriptionData?.data?.threadCreatedUpdated?.lastMessage;\n const data = prev?.threadMessages?.data?.map((t: any) =>\n t.id === newPostThreadData?.id\n ? {\n ...t,\n replies: [newMessage, ...t?.replies],\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: prev?.threadMessages?.totalCount + 1,\n data: data,\n },\n });\n },\n })\n }\n />\n </>\n )}\n keyExtractor={(item, index) => 'threads-view-key' + index}\n onEndReached={fetchMoreThreads}\n onEndReachedThreshold={0.1}\n />\n </Box>\n );\n};\n\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: IThreadSubscriptionHandlerProps) => {\n useEffect(() => subscribeToNewMessages(), [channelId]);\n return <></>;\n};\n\nexport const ThreadsView = React.memo(ThreadsViewComponent);\n","export * from './inbox/Inbox';\nexport * from './inbox/DialogMessages';\nexport * from './inbox/DialogThreads';\nexport * from './inbox/DialogThreadMessages'\n","module.exports = require(\"@adminide-stack/user-auth0-client\");","module.exports = require(\"@common-stack/client-react\");","module.exports = require(\"@expo/vector-icons\");","module.exports = require(\"@messenger-box/core\");","module.exports = require(\"@messenger-box/platform-client\");","module.exports = require(\"@react-navigation/native\");","module.exports = require(\"base-64\");","module.exports = require(\"date-fns\");","module.exports = require(\"envalid\");","module.exports = require(\"expo-file-system\");","module.exports = require(\"expo-image-picker\");","module.exports = require(\"lodash\");","module.exports = require(\"native-base\");","module.exports = require(\"react\");","module.exports = require(\"react-native\");","module.exports = require(\"react-native-gifted-chat\");","module.exports = require(\"react-redux\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@messenger-box/platform-mobile/./src/index.ts","webpack://@messenger-box/platform-mobile/./src/module.ts","webpack://@messenger-box/platform-mobile/./src/navigation/InboxNavigation.tsx","webpack://@messenger-box/platform-mobile/./src/navigation/index.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/DialogMessages.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/DialogThreadMessages.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/DialogThreads.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/Inbox.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/CachedImage/consts.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/CachedImage/index.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/DialogsListItem.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/ImageViewerModal.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/SlackBubble.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/SlackMessage.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SlackMessageContainer/index.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/SupportServiceDialogsListItem.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/components/ThreadsViewItem.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/config/config.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/config/index.ts","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/ConversationView.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/Dialogs.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/SupportServiceDialogs.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/ThreadConversationView.tsx","webpack://@messenger-box/platform-mobile/./src/screens/inbox/containers/ThreadsView.tsx","webpack://@messenger-box/platform-mobile/./src/screens/index.ts","webpack://@messenger-box/platform-mobile/external commonjs \"@adminide-stack/user-auth0-client\"","webpack://@messenger-box/platform-mobile/external commonjs \"@common-stack/client-react\"","webpack://@messenger-box/platform-mobile/external commonjs \"@expo/vector-icons\"","webpack://@messenger-box/platform-mobile/external commonjs \"@messenger-box/core\"","webpack://@messenger-box/platform-mobile/external commonjs \"@messenger-box/platform-client\"","webpack://@messenger-box/platform-mobile/external commonjs \"@react-navigation/native\"","webpack://@messenger-box/platform-mobile/external commonjs \"base-64\"","webpack://@messenger-box/platform-mobile/external commonjs \"date-fns\"","webpack://@messenger-box/platform-mobile/external commonjs \"envalid\"","webpack://@messenger-box/platform-mobile/external commonjs \"expo-file-system\"","webpack://@messenger-box/platform-mobile/external commonjs \"expo-image-picker\"","webpack://@messenger-box/platform-mobile/external commonjs \"lodash\"","webpack://@messenger-box/platform-mobile/external commonjs \"native-base\"","webpack://@messenger-box/platform-mobile/external commonjs \"react\"","webpack://@messenger-box/platform-mobile/external commonjs \"react-native\"","webpack://@messenger-box/platform-mobile/external commonjs \"react-native-gifted-chat\"","webpack://@messenger-box/platform-mobile/external commonjs \"react-redux\"","webpack://@messenger-box/platform-mobile/webpack/bootstrap","webpack://@messenger-box/platform-mobile/webpack/before-startup","webpack://@messenger-box/platform-mobile/webpack/startup","webpack://@messenger-box/platform-mobile/webpack/after-startup"],"sourcesContent":["import PlatformModule from './module';\n\nimport { Feature } from '@common-stack/client-react';\n\nexport default new Feature(PlatformModule);\nexport * from './navigation';\nexport * from './screens';\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { Feature } from '@common-stack/client-react';\nimport { schema, typePolicies, dataIdFromObject } from '@messenger-box/platform-client';\n\nexport default new Feature({\n dataIdFromObject,\n clientStateParams: { typeDefs: schema, typePolicies },\n});\n","import * as React from 'react';\nimport { Feature } from '@common-stack/client-react';\nimport { DialogMessages } from '../screens/inbox/DialogMessages';\nimport { DialogThreads } from '../screens/inbox/DialogThreads';\nimport { DialogThreadMessages } from '../screens/inbox/DialogThreadMessages';\nimport { IconButton, Icon } from 'native-base';\nimport { MaterialIcons } from '@expo/vector-icons';\n\nconst inboxConfig = {\n ['//message']: {\n exact: true,\n name: 'Message',\n props: {\n initialParams: { channelId: null, role: null },\n component: (props: any) => (\n <DialogMessages\n {...props}\n channelId={props?.route?.params?.channelId}\n role={props?.route?.params?.role}\n />\n ),\n options: ({ navigation }: any) => {\n return {\n headerShown: true,\n title: 'Inbox',\n headerBackTitleVisible: false,\n gestureEnabled: false,\n swipeEnabled: false,\n headerLeft: (props: any) => (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={<Icon size={'lg'} as={MaterialIcons} name=\"arrow-back-ios\" color={'black'} />}\n />\n ),\n };\n },\n },\n },\n ['//thread']: {\n exact: true,\n name: 'Thread',\n props: {\n initialParams: { channelId: null, postParentId: null, role: null },\n component: (props: any) => (\n <DialogThreads\n {...props}\n channelId={props?.route?.params?.channelId}\n postParentId={props?.route?.params?.postParentId}\n role={props?.route?.params?.role}\n />\n ),\n options: ({ navigation }: any) => {\n return {\n headerShown: true,\n title: 'Thread',\n headerBackTitleVisible: false,\n gestureEnabled: false,\n swipeEnabled: false,\n headerLeft: (props: any) => (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={<Icon size={'lg'} as={MaterialIcons} name=\"arrow-back-ios\" color={'black'} />}\n />\n ),\n };\n },\n },\n },\n ['//threadmessage']: {\n exact: true,\n name: 'ThreadMessage',\n props: {\n initialParams: { channelId: null, postParentId: null, isPostParentIdThread: null, role: null },\n component: (props: any) => (\n <DialogThreadMessages\n {...props}\n channelId={props?.route?.params?.channelId}\n postParentId={props?.route?.params?.postParentId}\n isPostParentIdThread={props?.route?.params?.isPostParentIdThread}\n role={props?.route?.params?.role}\n />\n ),\n options: ({ navigation }: any) => {\n return {\n headerShown: true,\n title: 'Inbox',\n headerBackTitleVisible: false,\n gestureEnabled: false,\n swipeEnabled: false,\n headerLeft: (props: any) => (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={<Icon size={'lg'} as={MaterialIcons} name=\"arrow-back-ios\" color={'black'} />}\n />\n ),\n };\n },\n },\n },\n};\n\nexport const inboxFeature = new Feature({\n routeConfig: inboxConfig as any,\n});\n","export * from './InboxNavigation';\n","import * as React from 'react';\nimport { Box } from 'native-base';\nimport { ConversationView } from './containers/ConversationView';\n\nexport function DialogMessages({ channelId, role }) {\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <Box bg={'white'} flex={1}>\n <ConversationView channelId={channelId} role={role} />\n </Box>\n );\n}\n","import * as React from 'react';\nimport { Box, Spinner, Text } from 'native-base';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery, useSendThreadMessageMutation } from '@messenger-box/platform-client';\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 refetchChannelDetail(channelId);\n return () => {};\n }, []),\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 />\n ) : (\n <ThreadConversationView\n channelId={channelId}\n postParentId={parentId}\n isPostParentIdThread={isPostParentIdThread}\n role={role}\n />\n )}\n </Box>\n );\n}\n","import * as React from 'react';\nimport { Box, Spinner, Text } from 'native-base';\nimport { ThreadConversationView } from './containers/ThreadConversationView';\nimport { ThreadsView } from './containers/ThreadsView';\nimport { useViewChannelDetailQuery } from '@messenger-box/platform-client';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\n\nexport function DialogThreads({ channelId, postParentId,role }) {\n const {\n data,\n loading: channelLoading,\n refetch,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n const channelsDetail = React.useMemo(() => {\n if (!data?.viewChannelDetail) return null;\n return data?.viewChannelDetail;\n }, [data]);\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 refetchChannelDetail(channelId);\n return () => {};\n }, []),\n );\n\n return (\n // <Box bg={'white'} flex={1} pt={5}>\n <>\n {channelLoading ? (\n <Spinner />\n ) : (\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 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","import * as React from 'react';\nimport { Box, Text } from 'native-base';\n\nimport { Dialogs } from './containers/Dialogs';\nimport { SupportServiceDialogs } from './containers/SupportServiceDialogs';\n\nexport const Inbox = (props: any) => {\n const { channelFilters, channelRole, supportServices } = props;\n return (\n <Box bg={'white'} flex={1}>\n {supportServices && <SupportServiceDialogs channelFilters={channelFilters} channelRole={channelRole} {...props} />}\n <Dialogs channelFilters={channelFilters} channelRole={channelRole} {...props} />\n </Box>\n );\n};\n","import * as FileSystem from \"expo-file-system\"\n\nexport const IMAGE_CACHE_FOLDER = `${FileSystem.cacheDirectory}`\n// export const IMAGE_CACHE_FOLDER = `${FileSystem.documentDirectory}images/`\nexport default IMAGE_CACHE_FOLDER\n","import React, { useEffect, useState, useRef } from 'react';\nimport { Image } from 'native-base';\n// import { Image } from \"react-native\"\nimport * as FileSystem from 'expo-file-system';\n\nimport * as CONST from './consts';\n\nconst CachedImage = (props: any) => {\n const { source, cacheKey, placeholderContent } = props;\n const { uri, headers, expiresIn } = source;\n const fileURI = `${CONST.IMAGE_CACHE_FOLDER}${cacheKey}`;\n\n const [imgUri, setImgUri] = useState<any>(fileURI);\n\n const componentIsMounted = useRef(true);\n const requestOption = headers ? { headers } : {};\n\n const _callback = (downloadProgress: any) => {\n if (componentIsMounted.current === false) {\n downloadResumableRef.current.pauseAsync();\n FileSystem.deleteAsync(fileURI, { idempotent: true }); // delete file locally if it was not downloaded properly\n }\n };\n\n const downloadResumableRef = useRef(FileSystem.createDownloadResumable(uri, fileURI, requestOption, _callback));\n\n useEffect(() => {\n loadImage();\n return () => {\n componentIsMounted.current = false;\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const loadImage = async () => {\n try {\n // Use the cached image if it exists\n const metadata: any = await FileSystem.getInfoAsync(fileURI);\n const expired = expiresIn && new Date().getTime() / 1000 - metadata?.modificationTime > expiresIn;\n // console.log({expiresIn, expired})\n\n // console.log({modificationTime: metadata.modificationTime, currentTime: new Date().getTime() / 1000})\n // console.log({metadata})\n if (!metadata.exists || metadata?.size === 0 || expired) {\n if (componentIsMounted.current) {\n setImgUri(null);\n\n if (expired) {\n await FileSystem.deleteAsync(fileURI, { idempotent: true });\n }\n // download to cache\n setImgUri(null);\n\n const response: any = await downloadResumableRef.current.downloadAsync();\n if (componentIsMounted.current && response.status === 200) {\n setImgUri(`${fileURI}?`); // deep clone to force re-render\n }\n if (response.status !== 200) {\n FileSystem.deleteAsync(fileURI, { idempotent: true }); // delete file locally if it was not downloaded properly\n }\n }\n }\n } catch (err) {\n // console.log({ err })\n }\n };\n // console.log({placeholderContent})\n if (!imgUri) return placeholderContent || null;\n\n return (\n <Image\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n source={{\n ...source,\n uri: imgUri,\n }}\n />\n );\n};\n\nexport const CacheManager = {\n addToCache: async ({ file, key }: any) => {\n await FileSystem.copyAsync({\n from: file,\n to: `${CONST.IMAGE_CACHE_FOLDER}${key}`,\n });\n // const uri = await FileSystem.getContentUriAsync(`${CONST.IMAGE_CACHE_FOLDER}${key}`)\n // return uri\n const uri = await CacheManager.getCachedUri({ key });\n return uri;\n },\n\n getCachedUri: async ({ key }: any) => {\n const uri = await FileSystem.getContentUriAsync(`${CONST.IMAGE_CACHE_FOLDER}${key}`);\n return uri;\n },\n\n downloadAsync: async ({ uri, key, options }: any) => {\n return await FileSystem.downloadAsync(uri, `${CONST.IMAGE_CACHE_FOLDER}${key}`, options);\n },\n};\n\nexport default CachedImage;\n","import React, { useMemo, useState } from 'react';\nimport { Text, Image, Pressable, HStack, Stack, Box, Avatar, View } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport {\n IChannel,\n ISortEnum,\n IUserAccount,\n useMessagesQuery,\n useOnChatMessageAddedSubscription,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useUserAccountQuery,\n} from '@messenger-box/platform-client';\nimport { startCase } from 'lodash';\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: ISortEnum.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: ISortEnum.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 () =>\n channelMembers\n ?.map((u: any) => u?.givenName + ' ' + u?.familyName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? '',\n [channelMembers],\n );\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, title)}\n borderWidth={'1'}\n borderRadius={10}\n borderColor={'gray.200'}\n flex={1}\n _dark={{\n borderColor: 'coolGray.600',\n backgroundColor: 'gray.700',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'gray.50',\n }}\n >\n <HStack\n // px={2}\n // pl={3}\n py={3}\n space={2}\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.Group\n _avatar={{\n size: 'sm',\n bg: 'transparent',\n }}\n >\n {channelMembers &&\n channelMembers?.length > 0 &&\n channelMembers?.slice(0, 2)?.map((ch: any, i: Number) => (\n <Avatar\n key={'key' + i}\n bg={'transparent'}\n size={9}\n top={i == 1 ? 4 : 0}\n right={i == 1 ? -2 : 0}\n zIndex={i == 1 ? 5 : 1}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: ch?.picture,\n }}\n >\n {startCase(ch?.username?.charAt(0))}\n {channelMembers?.length == 1 && (\n <Avatar.Badge bg=\"green.800\" bottom={-4} right={-4} />\n )}\n </Avatar>\n ))}\n </Avatar.Group>\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={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 );\n};\n\nexport const DialogsListItem = React.memo(DialogsListItemComponent);\n","import React, {useState} from 'react';\nimport {Alert, Modal, StyleSheet, Text, Pressable, View,SafeAreaView,StatusBar} from 'react-native';\n\nconst ImageViewerModal = ({children,isVisible=false,setVisible,modalContent=null}:any) => {\n \n return (\n <Modal\n animationType=\"slide\"\n // transparent={true}\n visible={isVisible}\n presentationStyle={'fullScreen'}\n style={{flex:1}}\n onRequestClose={() => {\n setVisible(false);\n }}>\n <View style={styles.container}> \n <View style={styles.headerView}>\n {/* <View><Text></Text></View>\n <View><Text></Text></View> */}\n <View style={{alignSelf:'flex-end',paddingRight:5}} > \n <Pressable\n style={[styles.button, styles.buttonClose]}\n onPress={() => setVisible(false)}>\n <Text style={styles.headerTextStyle}>X</Text>\n </Pressable></View>\n </View>\n <View style={styles.centeredView}>\n {modalContent ? modalContent : children}\n </View>\n <View style={styles.footerView}>\n\n </View>\n </View>\n </Modal>\n );\n};\n\nconst styles = StyleSheet.create({\n container:{\n flex:1,\n },\n headerView:{\n width:'100%',\n alignItems: 'center',\n justifyContent:'space-between',\n // backgroundColor:'rgba(r, g, b, a)',\n backgroundColor:'#000',\n paddingTop:50,\n paddingBottom:10,\n },\n centeredView: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'white',\n\n borderRadius: 20,\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n },\n footerView:{\n minHeight:100,\n backgroundColor:'#000'\n },\n modalView: {\n flex:1,\n backgroundColor: 'white',\n borderRadius: 20,\n alignItems: 'center',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n },\n button: {\n borderRadius: 20,\n padding: 10,\n elevation: 2,\n },\n buttonOpen: {\n backgroundColor: '#F194FF',\n },\n buttonClose: {\n backgroundColor: 'transparent',\n },\n textStyle: {\n color: 'white',\n fontWeight: 'bold',\n textAlign: 'center',\n },\n headerTextStyle:{\n color: '#fff',\n // fontWeight: 'bold',\n textAlign: 'center',\n fontSize:20,\n },\n modalText: {\n marginBottom: 15,\n textAlign: 'center',\n },\n});\n\nexport default ImageViewerModal;","/* 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 underlayColor={'#c0c0c0'} style={{width:'100%'}} onPress={() => this.props.setImageViewer(messageImageProps?.currentMessage, true)}>\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 style={{width:'100%'}} underlayColor={'#c0c0c0'} disabled={true} accessibilityTraits=\"text\" {...this.props.touchableProps}>\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","/* 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 { Avatar, Day, utils } from 'react-native-gifted-chat';\nimport { Avatar as AvatarNativeBase } from 'native-base';\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 <AvatarNativeBase\n size={'sm'}\n bg={'transparent'}\n borderRadius={0}\n source={{\n uri: isSameUserAndSameDay ? null : avatarProps?.currentMessage?.user?.avatar,\n }}\n marginRight={2}\n _image={{ ...styles.slackAvatar, ...avatarProps.imageStyle }}\n >\n {isSameUserAndSameDay ? '' : avatarProps?.currentMessage?.user?.name[0]}\n </AvatarNativeBase>\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","import SlackMessage from './SlackMessage';\nimport ImageViewerModal from './ImageViewerModal';\nexport { SlackMessage ,ImageViewerModal};\n","import React, { useMemo } from 'react';\nimport { Text, Image, Pressable, HStack, Stack, Box, Avatar, View } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport {\n IChannel,\n IUserAccount,\n useThreadMessagesQuery,\n useMessagesQuery,\n useUserAccountQuery,\n useOnThreadCreatedUpdatedSubscription,\n useOnThreadChatMessageAddedSubscription,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n OnThreadChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n} from '@messenger-box/platform-client';\nimport { startCase } from 'lodash';\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 SupportServiceDialogsListItemComponent: 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={10}\n borderColor={'gray.200'}\n flex={1}\n _dark={{\n borderColor: 'coolGray.600',\n backgroundColor: 'gray.700',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'gray.50',\n }}\n >\n <HStack\n // px={2}\n // pl={3}\n py={3}\n space={2}\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.Group\n _avatar={{\n size: 'sm',\n bg: 'transparent',\n }}\n >\n <Avatar\n key={'service-channels-key'}\n bg={'transparent'}\n size={9}\n top={0}\n right={0}\n zIndex={1}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: channel?.creator?.picture,\n }}\n >\n {startCase(channel?.creator?.username?.charAt(0))}\n </Avatar>\n </Avatar.Group>\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 = 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: 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={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 {channel?.title}\n </Text>\n <Text color=\"gray.600\" noOfLines={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=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n});\n\nexport const SupportServiceDialogsListItem = React.memo(SupportServiceDialogsListItemComponent);\n","import React, { useMemo } from 'react';\nimport { Text, Image, Pressable, VStack, HStack, Center, Stack, Box, Avatar, View, Button } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport {\n IChannel,\n IUserAccount,\n useThreadMessagesQuery,\n useMessagesQuery,\n useUserAccountQuery,\n useOnThreadChatMessageAddedSubscription,\n useOnThreadCreatedUpdatedSubscription,\n} from '@messenger-box/platform-client';\nimport { startCase } from 'lodash';\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 thread?: any;\n onOpen: (id: any, title: any, postParentId?: any) => void;\n role?: any;\n setData?: 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 ThreadViewItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n thread,\n onOpen,\n role,\n setData,\n}) {\n // const { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n // variables: {\n // channelId: thread?.channel?.id?.toString(),\n // postParentId: thread?.post?.id?.toString(),\n // },\n // });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const threadPostReply = React.useMemo(() => {\n if (!thread?.replies) return null;\n return thread?.replies;\n }, [thread]);\n\n // React.useEffect(() => {\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data) setData(threadCreatedUpdated?.threadCreatedUpdated?.data);\n // }, [threadCreatedUpdated?.threadCreatedUpdated]);\n\n // const threadPostReply = React.useMemo(() => {\n // if (!thread?.replies) return null;\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data?.replies?.length) {\n // return threadCreatedUpdated?.threadCreatedUpdated?.data?.replies;\n // } else return thread?.replies;\n // }, [thread, threadCreatedUpdated]);\n\n // const lastMessage = useMemo(() => {\n // if (!threadPost) {\n // return null;\n // }\n // const replies = threadPost?.replies?.filter((p: any) => p?.message !== '') ?? [];\n // if (replies?.length) {\n // return replies[0];\n // // return replies[replies.length - 1];\n // } else {\n // const post = threadPost?.post ?? null;\n // return post ? post?.post : null;\n // }\n // }, [threadPost]);\n\n // const participants: any = React.useMemo(() => {\n // if (!thread?.participants?.length) return null;\n // return thread?.participants?.filter((u: any) => u?.user?.id !== currentUser?.id) ?? [];\n // }, [thread]);\n\n // const allParticipantsNames: any = React.useMemo(() => {\n // if (!participants?.length) return null;\n // return (\n // participants\n // ?.map((p: any) => {\n // return p?.user?.givenName + ' ' + p?.user?.familyName ?? '';\n // })\n // ?.join(', ') ?? ''\n // );\n // }, [participants]);\n\n if (!threadPostReply || threadPostReply?.length == 0) {\n return <></>;\n }\n\n return (\n <VStack\n space={1}\n py={2}\n px={2}\n borderWidth={'1'}\n borderRadius={10}\n borderColor={'gray.200'}\n flex={1}\n _dark={{\n borderColor: 'white',\n backgroundColor: 'white',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'white',\n }}\n >\n <HStack\n // px={2}\n // pl={3}\n py={2}\n space={2}\n w={'100%'}\n flex={1}\n direction={'row'}\n justifyContent={'space-between'}\n alignItems={'center'}\n >\n <Box flex={1}>\n {/* <HStack flex={1} space={5} py={2} alignItems={'baseline'}>\n <Box>\n <Avatar.Badge size={4} left={0} zIndex={1} bg=\"green.800\" />\n </Box>\n <Box>\n <Text color=\"gray.600\" fontSize=\"lg\" flexWrap={'wrap'} fontWeight=\"semibold\">\n {allParticipantsNames || ''}\n </Text>\n </Box>\n </HStack> */}\n <HStack space={1} flex={1} direction={'row'} justifyContent={'center'} alignItems={'center'}>\n <Box flex={1}>\n {/* <HStack space={2} py={2}>\n <Box>\n <Avatar\n bg={'transparent'}\n size={8}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: thread?.post?.author?.picture,\n }}\n >\n {startCase(thread?.post?.author?.username?.charAt(0))}\n </Avatar>\n </Box>\n <Box>\n <HStack space={4}>\n <Text>\n {thread?.post?.author?.givenName + ' ' + thread?.post?.author?.familyName ??\n ''}\n </Text>\n <Text color=\"gray.500\">\n {thread?.post ? createdAtText(thread?.post?.createdAt) : ''}\n </Text>\n </HStack>\n <Text color=\"gray.600\" noOfLines={2}>\n {thread?.post?.message ?? ''}\n </Text>\n {!thread?.replies?.length && (\n <Button\n size={'xs'}\n w={150}\n variant={'outline'}\n _text={{ fontSize: 12, color: '#000' }}\n onPress={() =>\n onOpen(thread?.channel?.id, thread?.channel?.title, thread?.post?.id)\n }\n >\n Reply\n </Button>\n )}\n </Box>\n </HStack> */}\n {threadPostReply?.length > 0 && (\n <>\n {threadPostReply\n ?.slice(0, 2)\n ?.reverse()\n ?.map((reply: any, index: any) => (\n <HStack key={index} space={2} pb={2} pt={1}>\n <Box>\n <Avatar\n bg={'transparent'}\n size={8}\n _image={{\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: reply?.author?.picture,\n }}\n >\n {startCase(reply?.author?.username?.charAt(0))}\n </Avatar>\n </Box>\n <Box>\n <HStack space={4}>\n <Text>\n {reply?.author?.givenName ?? '' ?? ''}{' '}\n {reply?.author?.familyName ?? '' ?? ''}\n {/* {lastMessage?.author?.givenName +\n ' ' +\n lastMessage?.author?.familyName ?? ''} */}\n </Text>\n <Text color=\"gray.500\">\n {reply?.createdAt ? createdAtText(reply?.createdAt) : ''}\n {/* {lastMessage ? createdAtText(lastMessage?.createdAt) : ''} */}\n </Text>\n </HStack>\n <VStack space={1}>\n {reply?.message && (\n <Text color=\"gray.600\" noOfLines={2}>\n {reply?.message.length < 70\n ? `${reply?.message}`\n : `${reply?.message.substring(0, 68)}....`}\n </Text>\n )}\n {/* <Text color=\"gray.600\" noOfLines={2}>\n {reply?.message\n ? reply?.message.length < 70\n ? `${reply?.message}`\n : `${reply?.message.substring(0, 68)}....`\n : ''}\n </Text> */}\n\n <>\n {reply?.files?.data?.length > 0 &&\n reply?.files?.data?.map((f: any) => (\n <Box>\n <Avatar\n bg={'transparent'}\n size={8}\n _image={{\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: f?.url,\n }}\n >\n I\n </Avatar>\n </Box>\n ))}\n </>\n </VStack>\n\n {(threadPostReply?.length == 1 || index !== 0) && (\n <Button\n size={'xs'}\n w={150}\n variant={'outline'}\n _text={{ fontSize: 12, color: '#000' }}\n onPress={() =>\n onOpen(\n thread?.channel?.id,\n thread?.channel?.title,\n thread?.post?.id,\n )\n }\n >\n Reply\n </Button>\n )}\n </Box>\n </HStack>\n ))}\n </>\n )}\n </Box>\n </HStack>\n </Box>\n </HStack>\n {/* <HStack>\n <Box flex={0.06} alignItems={'flex-start'}></Box>\n <Button\n size={'xs'}\n variant={'outline'}\n _text={{ fontSize: 12, color: '#000' }}\n onPress={() => onOpen(thread?.channel?.id, thread?.channel?.title, postParentId)}\n >\n Reply\n </Button>\n </HStack> */}\n </VStack>\n );\n};\n\nexport const ThreadViewItem = React.memo(ThreadViewItemComponent);\n","import { cleanEnv, num, str } from 'envalid';\n\nexport const config = cleanEnv(process['APP_ENV'] || process.env, {\n MESSAGES_PER_PAGE: num({ devDefault: 20, default: 20 }),\n FILES_PER_MESSAGE: num({ default: 10 }),\n INBOX_MESSEGE_PATH: str({ default: 'MainStack.Message' }),\n // THREAD_MESSEGE_PATH: str({ default: 'MainStack.Thread' }),\n // THREADS_PATH: str({ default: 'MainStack.ThreadMessage' }),\n THREAD_MESSEGE_PATH: str({ default: 'MainStack.ThreadMessage' }),\n THREADS_PATH: str({ default: 'MainStack.Thread' }),\n CALL_TO_ACTION_PATH: str({ default: 'MainStack.GuestReservationRequestDetail' }),\n CALL_TO_ACTION_BOX_BGCOLOR: str({ default: '#0084ff' }),\n CALL_TO_ACTION_BUTTON_BORDERCOLOR: str({ default: '#fff' }),\n CALL_TO_ACTION_TEXT_COLOR: str({ default: '#fff' }),\n});\n","export { config } from './config';\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Avatar, Box, Button, HStack, Icon, Image, Spinner, Text, useColorModeValue } from 'native-base';\nimport { Platform, TouchableHighlight } from 'react-native';\nimport { useFocusEffect, useIsFocused, useNavigation } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { orderBy, startCase, uniqBy } from 'lodash';\nimport * as ImagePicker from 'expo-image-picker';\nimport { encode as atob } from 'base-64';\nimport { Ionicons, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Actions, GiftedChat, IMessage, MessageText, Send } from 'react-native-gifted-chat';\nimport {\n IPreDefinedRole,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useMessagesQuery,\n useSendExpoNotificationOnPostMutation,\n useSendMessagesMutation,\n useUploadFilesNative,\n useViewChannelDetailQuery,\n} from '@messenger-box/platform-client';\nimport { IExpoNotificationData, IFileInfo, objectId } from '@messenger-box/core';\nimport { config } from '../config';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { ImageViewerModal, SlackMessage } from '../components/SlackMessageContainer';\nimport CachedImage from '../components/CachedImage';\nimport { format, isToday, isYesterday } from 'date-fns';\n\nconst {\n MESSAGES_PER_PAGE,\n CALL_TO_ACTION_BOX_BGCOLOR,\n CALL_TO_ACTION_PATH,\n CALL_TO_ACTION_BUTTON_BORDERCOLOR,\n CALL_TO_ACTION_TEXT_COLOR,\n} = config;\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\ninterface ISubscriptionHandlerProps {\n subscribeToNewMessages: () => any;\n channelId: string;\n}\n\ninterface IMessageProps extends IMessage {\n type: string;\n propsConfiguration?: any;\n replies?: any;\n}\n\nexport interface AlertMessageAttachmentsInterface {\n title: string;\n isTitleHtml: boolean;\n icon: string;\n callToAction: {\n title: string;\n link: string;\n };\n}\n\nconst ConversationViewComponent = ({ channelId, role }: any) => {\n const [channelToTop, setChannelToTop] = useState(0);\n const [channelMessages, setChannelMessages] = useState<any>([]);\n const auth: any = useSelector(userSelector);\n const [totalCount, setTotalCount] = useState<any>(0);\n const [selectedImage, setImage] = useState<string>('');\n const [loadingOldMessages, setLoadingOldMessages] = useState<boolean>(false);\n const color = useColorModeValue('white', 'black');\n // const color = useColorModeValue('black', 'white');\n const navigation = useNavigation<any>();\n const [files, setFiles] = useState<File[]>([]);\n const [images, setImages] = useState<ImagePicker.ImageInfo[]>([]);\n const [msg, setMsg] = useState<string>('');\n const [loading, setLoading] = useState(false);\n const [loadEarlierMsg, setLoadEarlierMsg] = useState(false);\n const [imageLoading, setImageLoading] = useState(false);\n const [expoTokens, setExpoTokens] = useState<any[]>([]);\n const [isShowImageViewer, setImageViewer] = useState<boolean>(false);\n const [imageObject, setImageObject] = useState<any>({});\n const [skip, setSkip] = useState(0);\n const messageRootListRef = useRef<any>(null);\n const isFocused = useIsFocused();\n\n const { startUpload } = useUploadFilesNative();\n\n const [sendMsg] = useSendMessagesMutation();\n\n const [sendExpoNotificationOnPostMutation] = useSendExpoNotificationOnPostMutation();\n\n const {\n data,\n loading: messageLoading,\n refetch,\n fetchMore: fetchMoreMessages,\n subscribeToMore,\n }: any = useMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n parentId: null,\n limit: MESSAGES_PER_PAGE,\n skip: skip,\n },\n skip: !channelId,\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n refetchWritePolicy: 'merge',\n });\n\n // const {\n // data: channelsDetail,\n // loading: channelLoading,\n // refetch: refetchChannelDetail,\n // } = useViewChannelDetailQuery({\n // variables: {\n // id: channelId?.toString(),\n // },\n // });\n // const { data: users } = useGetAllUsersQuery();\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setSkip(0);\n // refetchChannelDetail({ id: channelId?.toString() });\n refetch({\n channelId: channelId?.toString(),\n parentId: null,\n limit: MESSAGES_PER_PAGE,\n skip: 0,\n }).then(({ data }) => {\n if (!data?.messages) {\n return;\n }\n const { data: messages, totalCount }: any = data.messages;\n setTotalCount(totalCount);\n setChannelMessages(messages);\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setTotalCount(0);\n setChannelMessages([]);\n setSkip(0);\n };\n }, [isFocused]),\n );\n\n React.useEffect(() => {\n if (selectedImage) setImageLoading(false);\n }, [selectedImage]);\n\n useEffect(() => {\n if (data?.messages?.data) {\n const { data: messages, totalCount: messeageTotalCount } = data.messages;\n if (\n (messages && messages.length > 0 && messeageTotalCount > totalCount) ||\n (messages && messages.length > 0 && (loadingOldMessages || channelMessages.length === 0))\n ) {\n setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n setTotalCount(messeageTotalCount);\n }\n\n if (loadingOldMessages && channelMessages) setLoadingOldMessages(false);\n }\n }, [data, loadingOldMessages, channelMessages, totalCount]);\n\n const onFetchOld = useCallback(async () => {\n if (totalCount > channelMessages.length && !loadingOldMessages) {\n setLoadEarlierMsg(true);\n try {\n const response = await fetchMoreMessages({\n variables: {\n channelId: channelId?.toString(),\n parentId: null,\n skip: channelMessages.length,\n },\n });\n if (response?.data) {\n setSkip(channelMessages.length);\n setLoadEarlierMsg(false);\n setLoadingOldMessages(true);\n }\n } catch (error: any) {\n setLoadEarlierMsg(false);\n }\n\n // ?.then((res: any) => {\n // setLoadingOldMessages(true);\n // });\n }\n }, [totalCount, channelMessages]);\n\n // const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n // return contentOffset.y <= 100; // 100px from top\n // };\n\n const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n const paddingToTop = 60;\n return contentSize.height - layoutMeasurement.height - paddingToTop <= contentOffset.y;\n };\n\n const dataURLtoFile = (dataurl: any, filename: any) => {\n var arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new File([u8arr], filename, { type: mime });\n };\n\n const onSelectImages = async () => {\n setImageLoading(true);\n let imageSource: any = await ImagePicker.launchImageLibraryAsync({\n mediaTypes: ImagePicker.MediaTypeOptions.Images,\n allowsEditing: true,\n aspect: [4, 3],\n quality: 1,\n base64: true,\n });\n if (!imageSource.cancelled) {\n const image = 'data:image/jpeg;base64,' + imageSource?.base64;\n setImage(image);\n const file = dataURLtoFile(image, 'inputImage.jpg');\n setFiles((files) => files.concat(file));\n setImages((images) => images.concat(imageSource as ImagePicker.ImageInfo));\n }\n if (imageSource.cancelled) setLoading(false);\n };\n\n const handleSend = useCallback(\n async (message: string) => {\n if (!channelId) return;\n if (!message && message != ' ' && images.length == 0) return;\n\n const notificationData: IExpoNotificationData = {\n url: config.INBOX_MESSEGE_PATH,\n params: { channelId, hideTabBar: true },\n screen: 'DialogMessages',\n other: { sound: Platform.OS === 'android' ? undefined || null : 'default' },\n };\n\n if (images && images.length > 0) {\n const postId = objectId();\n\n setLoading(true);\n const uploadResponse = await startUpload({\n file: images,\n saveUploadedFile: {\n variables: {\n postId,\n },\n },\n createUploadLink: {\n variables: {\n postId,\n },\n },\n });\n if (uploadResponse?.error) setLoading(false);\n const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];\n\n if (uploadResponse.data) {\n setImage('');\n setFiles([]);\n setImages([]);\n //setLoading(false);\n const files = uploadedFiles?.map((f: any) => f.id) ?? null;\n await sendMsg({\n variables: {\n postId,\n channelId,\n content: message,\n files,\n notificationParams: notificationData,\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n },\n });\n }\n } else {\n setLoading(true);\n await sendMsg({\n variables: {\n channelId,\n content: message,\n notificationParams: notificationData,\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n },\n });\n }\n },\n [setChannelMessages, channelId, images, channelToTop, expoTokens],\n );\n\n const messageList = useMemo(() => {\n let currentDate = '';\n let res: any = [];\n if (channelId && channelMessages && channelMessages?.length > 0) {\n orderBy(channelMessages, ['createdAt'], ['desc']).map((msg) => {\n let message: IMessageProps = {\n _id: '',\n text: '',\n createdAt: 0,\n user: {\n _id: '',\n name: '',\n avatar: '',\n },\n type: '',\n };\n const date = new Date(msg.createdAt);\n message._id = msg.id;\n message.text = msg.message;\n message.createdAt = date;\n (message.user = {\n _id: msg.author.id,\n name: msg.author.givenName + ' ' + msg.author.familyName,\n avatar: msg.author?.picture,\n }),\n (message.image = msg.files?.data[0]?.url),\n (message.sent = msg?.isDelivered),\n (message.received = msg?.isRead);\n message.type = msg?.type;\n message.propsConfiguration = msg?.propsConfiguration;\n message.replies = msg?.replies ?? [];\n res.push(message);\n });\n }\n return res;\n }, [channelMessages, channelId]);\n\n const renderSend = (props) => {\n return (\n <Send {...props} disabled={channelId ? false : true}>\n <Box>\n <MaterialCommunityIcons\n name=\"send-circle\"\n style={{ marginBottom: 5, marginRight: 5 }}\n size={32}\n color={channelId ? '#2e64e5' : '#b8b2b2'}\n />\n </Box>\n </Send>\n );\n };\n\n const renderMessageText = (props: any) => {\n const { currentMessage } = props;\n const lastReply: any = currentMessage?.replies?.data?.length > 0 ? currentMessage?.replies?.data?.[0] : null;\n\n if (currentMessage.type === 'ALERT') {\n const attachment = currentMessage?.propsConfiguration?.contents?.attachment;\n let action: string = '';\n let actionId: any = '';\n let params: any = {};\n\n if (attachment?.callToAction?.extraParams) {\n const extraParams: any = attachment?.callToAction?.extraParams;\n const route: any = extraParams?.route ?? null;\n let path: any = null;\n let param: any = null;\n if (role && role == IPreDefinedRole.Guest) {\n path = route?.guest?.name ? route?.guest?.name ?? null : null;\n param = route?.guest?.params ? route?.guest?.params ?? null : null;\n } else if (role && role == IPreDefinedRole.Owner) {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n } else {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n }\n\n action = path;\n params = { ...param };\n } else if (attachment?.callToAction?.link) {\n action = CALL_TO_ACTION_PATH;\n actionId = attachment?.callToAction?.link.split('/').pop();\n params = { reservationId: actionId };\n }\n\n return (\n <>\n {attachment?.callToAction && action ? (\n <Box bg={CALL_TO_ACTION_BOX_BGCOLOR} borderRadius={15} pb={2}>\n <Button\n variant={'outline'}\n size={'sm'}\n borderColor={CALL_TO_ACTION_BUTTON_BORDERCOLOR}\n onPress={() => action && params && navigation.navigate(action, params)}\n // onPress={() => navigation.navigate(action, { reservationId: actionId })}\n >\n <Text color={CALL_TO_ACTION_TEXT_COLOR}>{attachment.callToAction.title}</Text>\n </Button>\n <MessageText\n {...props}\n textStyle={{\n left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 },\n }}\n />\n </Box>\n ) : (\n <TouchableHighlight\n underlayColor={'#c0c0c0'}\n style={{ width: '100%' }}\n onPress={() =>\n navigation.navigate(config.THREAD_MESSEGE_PATH, {\n channelId: channelId,\n title: 'Message',\n postParentId: currentMessage?._id,\n isPostParentIdThread: true,\n })\n }\n >\n <>\n <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />\n {currentMessage?.replies?.data?.length > 0 && (\n <HStack space={1} px={1} alignItems={'center'}>\n <HStack>\n {currentMessage?.replies?.data\n ?.filter(\n (v: any, i: any, a: any) =>\n a.findIndex((t: any) => t?.author?.id === v?.author?.id) === i,\n )\n ?.slice(0, 2)\n ?.reverse()\n ?.map((p: any, i: Number) => (\n <Avatar\n key={'key' + i}\n bg={'transparent'}\n size={6}\n // top={i == 1 ? 4 : 0}\n // right={i == 1 ? -2 : 0}\n // zIndex={i == 1 ? 5 : 1}\n _image={{\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: p?.author?.picture,\n }}\n >\n {startCase(p?.author?.username?.charAt(0))}\n </Avatar>\n ))}\n </HStack>\n <Text fontSize={12} fontWeight={'bold'} color={'blue.800'}>\n {currentMessage?.replies?.totalCount}{' '}\n {currentMessage?.replies?.totalCount == 1 ? 'reply' : 'replies'}\n </Text>\n <Text fontSize={12} fontWeight={'bold'} color={'gray.500'}>\n {lastReply ? createdAtText(lastReply?.createdAt) : ''}\n </Text>\n </HStack>\n )}\n </>\n </TouchableHighlight>\n )}\n {/* <MessageText\n {...props}\n textStyle={{ left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 } }}\n /> */}\n </>\n );\n } else {\n return (\n <TouchableHighlight\n underlayColor={'#c0c0c0'}\n style={{ width: '100%' }}\n onPress={() =>\n navigation.navigate(config.THREAD_MESSEGE_PATH, {\n channelId: channelId,\n title: 'Message',\n postParentId: currentMessage?._id,\n isPostParentIdThread: true,\n })\n }\n >\n <>\n <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />\n {currentMessage?.replies?.data?.length > 0 && (\n <HStack space={1} px={1} alignItems={'center'}>\n <HStack>\n {currentMessage?.replies?.data\n ?.filter(\n (v: any, i: any, a: any) =>\n a.findIndex((t: any) => t?.author?.id === v?.author?.id) === i,\n )\n ?.slice(0, 2)\n ?.reverse()\n ?.map((p: any, i: Number) => (\n <Avatar\n key={'key' + i}\n bg={'transparent'}\n size={6}\n // top={i == 1 ? 4 : 0}\n // right={i == 1 ? -2 : 0}\n // zIndex={i == 1 ? 5 : 1}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: p?.author?.picture,\n }}\n >\n {startCase(p?.author?.username?.charAt(0))}\n </Avatar>\n ))}\n </HStack>\n <Text fontSize={12} fontWeight={'bold'} color={'blue.800'}>\n {currentMessage?.replies?.totalCount}{' '}\n {currentMessage?.replies?.totalCount == 1 ? 'reply' : 'replies'}\n </Text>\n <Text fontSize={12} fontWeight={'bold'} color={'gray.500'}>\n {lastReply ? createdAtText(lastReply?.createdAt) : ''}\n </Text>\n </HStack>\n )}\n </>\n </TouchableHighlight>\n );\n }\n };\n\n const renderActions = (props) => {\n return (\n <Actions\n {...props}\n icon={() => <Icon as={Ionicons} name={'image'} size={'lg'} color={'black'} onPress={onSelectImages} />}\n />\n );\n };\n\n const renderAccessory = (props) => {\n return (\n <Box>\n {selectedImage !== '' ? (\n <HStack alignItems={'center'}>\n <Image ml={3} key={selectedImage} alt={'image'} source={{ uri: selectedImage }} size={'xs'} />\n <Button\n variant={'ghost'}\n colorScheme={'secondary'}\n onPress={() => {\n setFiles([]);\n setImage('');\n setImages([]);\n }}\n >\n Cancel\n </Button>\n </HStack>\n ) : null}\n </Box>\n );\n };\n\n const setImageViewerObject = (obj: any, v: boolean) => {\n setImageObject(obj);\n setImageViewer(v);\n };\n\n const modalContent = React.useMemo(() => {\n if (!imageObject) return <></>;\n const { image, _id } = imageObject;\n return (\n <CachedImage\n style={{ width: '100%', height: '100%' }}\n resizeMode={'cover'}\n // cacheKey={`${_id}-conversation-modal-image-key`}\n cacheKey={`${_id}-slack-bubble-imageKey`}\n source={{\n uri: image,\n //headers: `Authorization: Bearer ${token}`,\n expiresIn: 86400,\n }}\n alt={'image'}\n />\n );\n }, [imageObject]);\n\n const renderMessage = useCallback(\n (props: any) => {\n // const {\n // currentMessage: { text: currText },\n // } = props;\n\n //let messageTextStyle: any;\n\n // Make \"pure emoji\" messages much bigger than plain text.\n // if (currText && emojiUtils.isPureEmojiString(currText)) {\n // messageTextStyle = {\n // fontSize: 28,\n // // Emoji get clipped if lineHeight isn't increased; make it consistent across platforms.\n // lineHeight: Platform.OS === 'android' ? 34 : 30,\n // }\n // }\n\n // return <SlackMessage {...props} messageTextStyle={messageTextStyle} />;\n return (\n <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />\n );\n },\n [isShowImageViewer],\n );\n\n // const renderMessage = (props: any) => {\n // // const {\n // // currentMessage: { text: currText },\n // // } = props;\n\n // //let messageTextStyle: any;\n\n // // Make \"pure emoji\" messages much bigger than plain text.\n // // if (currText && emojiUtils.isPureEmojiString(currText)) {\n // // messageTextStyle = {\n // // fontSize: 28,\n // // // Emoji get clipped if lineHeight isn't increased; make it consistent across platforms.\n // // lineHeight: Platform.OS === 'android' ? 34 : 30,\n // // }\n // // }\n\n // // return <SlackMessage {...props} messageTextStyle={messageTextStyle} />;\n // return <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />;\n // };\n\n let onScroll = false;\n\n const onMomentumScrollBegin = async ({ nativeEvent }: any) => {\n onScroll = true;\n console.log('scroll top');\n if (!loadingOldMessages && isCloseToTop(nativeEvent) && totalCount > channelMessages?.length) {\n await onFetchOld();\n }\n };\n\n const onEndReached = () => {\n console.log('on end reached');\n if (!onScroll) return;\n // load messages, show ActivityIndicator\n onScroll = false;\n // setLoadingOldMessages(true);\n };\n\n return (\n <>\n {loadEarlierMsg && <Spinner />}\n\n <GiftedChat\n ref={messageRootListRef}\n wrapInSafeArea={false}\n renderLoading={() => <Spinner />}\n messages={messageList}\n listViewProps={{\n onEndReached: onEndReached,\n onEndReachedThreshold: 0.5,\n onMomentumScrollBegin: onMomentumScrollBegin,\n }}\n // listViewProps={{\n // scrollEventThrottle: 400,\n // onScroll: ({ nativeEvent }) => { console.log('scroll')\n // if (!loadingOldMessages && isCloseToTop(nativeEvent)) {\n // onFetchOld();\n // }\n // }\n // }}\n onSend={(messages) => channelId && handleSend(messages[0]?.text ?? ' ')}\n text={msg ? msg : ' '}\n onInputTextChanged={(text) => setMsg(text)}\n renderFooter={() => (loading ? <Spinner /> : imageLoading ? <Spinner /> : '')}\n scrollToBottom\n user={{\n // _id: currentUser?.id || '',\n _id: auth?.id || '',\n }}\n isTyping={true}\n alwaysShowSend={loading ? false : true}\n //onLoadEarlier={onFetchOld}\n //infiniteScroll={true}\n renderSend={renderSend}\n // loadEarlier={data?.messages?.totalCount > channelMessages.length}\n //isLoadingEarlier={loadEarlierMsg}\n //extraData={{ isLoadingEarlier: loadingOldMessages }}\n // renderLoadEarlier={() =>\n // !loadEarlierMsg && (\n // <Center py={2}>\n // <Button\n // onPress={() => onFetchOld()}\n // variant={'outline'}\n // _text={{ color: 'black', fontSize: 15, fontWeight: 'bold' }}\n // >\n // Load earlier messages\n // </Button>\n // </Center>\n // )\n // }\n renderMessageText={renderMessageText}\n minInputToolbarHeight={50}\n renderActions={channelId && renderActions}\n renderAccessory={renderAccessory}\n renderMessage={renderMessage}\n renderChatFooter={() => (\n <>\n <ImageViewerModal\n isVisible={isShowImageViewer}\n setVisible={setImageViewer}\n modalContent={modalContent}\n />\n <SubscriptionHandler\n channelId={channelId?.toString()}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channelId?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n setSkip(0);\n const newMessage: any = subscriptionData?.data?.chatMessageAdded;\n const previousData = prev?.messages?.data\n ? [...prev.messages.data, newMessage]\n : [];\n const totalMsgCount = prev?.messages?.totalCount + 1;\n const merged = {\n ...prev,\n messages: {\n ...prev?.messages,\n data: previousData,\n totalCount: totalMsgCount,\n },\n };\n return merged;\n // return Object.assign({}, prev, {\n // messages: {\n // data: [...prev.messages.data, newMessage],\n // totalCount: prev.messages.totalCount + 1,\n // },\n // });\n },\n })\n }\n />\n </>\n )}\n lightboxProps={{\n underlayColor: 'transparent',\n springConfig: { tension: 90000, friction: 90000 },\n disabled: true,\n }}\n />\n </>\n );\n};\n\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: ISubscriptionHandlerProps) => {\n useEffect(() => subscribeToNewMessages(), [channelId]);\n return <></>;\n};\n\nexport const ConversationView = React.memo(ConversationViewComponent);\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner } from 'native-base';\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';\nimport { DialogsListItem } from '../components/DialogsListItem';\nimport { useGetChannelsByUserQuery } from '@messenger-box/platform-client';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { config } from '../config';\n\nexport interface InboxProps {\n channelFilters?: Record<string, unknown>;\n channelRole?: string;\n supportServices: boolean;\n}\n\nconst DialogsComponent = (props: InboxProps) => {\n const { channelFilters, channelRole } = props;\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 // const [userDirectChannel, setUserDirectChannel] = useState<any>([]);\n\n const {\n data: userChannels,\n loading: userChannelsLoading,\n refetch: getChannelsRefetch,\n } = useGetChannelsByUserQuery({\n variables: {\n role: channelRole,\n criteria: channelFilters,\n },\n onCompleted: (data: any) => {\n setRefresh(false);\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setRefresh(false);\n getChannelsRefetch({ role: channelRole, criteria: channelFilters });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [channelFilters]),\n );\n\n const channels = React.useMemo(() => {\n if (!userChannels?.channelsByUser?.length) return null;\n let uChannels: any =\n userChannels?.channelsByUser?.filter((c: any) =>\n c.members.some((u: any) => u !== null && u?.user?.id != auth?.id && u.user.__typename == 'UserAccount'),\n ) ?? [];\n return (uChannels && orderBy(uChannels, ['updatedAt'], ['desc'])) || [];\n }, [userChannels]);\n\n // useEffect(() => {\n // setTimeout(() => {\n // dispatch({\n // type: CHANGE_SETTINGS_ACTION,\n // payload: {\n // footerRender: false,\n // },\n // } as any);\n // }, 0);\n // return () => {\n // dispatch({\n // type: CHANGE_SETTINGS_ACTION,\n // payload: {\n // footerRender: true,\n // },\n // } as any);\n // };\n // }, []);\n\n // useEffect(() => {\n // if (userChannels?.channelsByUser) {\n // if (userChannels?.channelsByUser?.length == 0) {\n // setUserDirectChannel([]);\n // }\n // //Direct channel\n // let userDirectChannels: any =\n // userChannels?.channelsByUser\n // ?.filter((i: any) => i.type == 'DIRECT')\n // ?.filter((c: any) =>\n // c.members.some((u: any) => u?.user?.id != auth?.id && u.user.__typename == 'UserAccount'),\n // ) ?? [];\n\n // if (userDirectChannels?.length > 0) setUserDirectChannel(userDirectChannels);\n // }\n // }, [userChannels?.channelsByUser]);\n\n const handleSelectChannel = useCallback((id: any, title: any) => {\n if (params?.channelId) {\n navigation.navigate(config.INBOX_MESSEGE_PATH as any, {\n channelId: params?.channelId,\n role: params?.role,\n title: params?.title ?? null,\n hideTabBar: true,\n });\n } else {\n navigation.navigate(config.INBOX_MESSEGE_PATH as any, {\n channelId: id,\n role: channelRole,\n title: title,\n hideTabBar: true,\n });\n }\n }, []);\n\n const handleRefresh = useCallback(() => {\n //if(userChannels?.channelsByUser?.length != channels?.length)setRefresh(true);\n getChannelsRefetch({ role: channelRole, criteria: channelFilters });\n }, []);\n\n return (\n <Box p={2} pt={props?.supportServices ? 0 : 2}>\n <FlatList\n data={channels && channels?.length > 0 ? channels : []}\n onRefresh={handleRefresh}\n refreshing={userChannelsLoading}\n contentContainerStyle={{ minHeight: '100%' }}\n ItemSeparatorComponent={() => <Box height=\"0.5\" backgroundColor=\"gray.200\" />}\n renderItem={({ item: channel }) => (\n <DialogsListItem\n onOpen={handleSelectChannel}\n currentUser={auth}\n channel={channel}\n selectedChannelId={params?.channelId}\n />\n )}\n ListEmptyComponent={() => (\n <>\n {userChannelsLoading ? (\n <Spinner />\n ) : (\n <Box p={5}>\n <Heading>Chat</Heading>\n <Input\n height={50}\n mt={3}\n placeholder=\"Search\"\n borderRadius={50}\n borderColor={'gray.200'}\n borderWidth={2}\n />\n <Center mt={6}>\n <Icon as={Ionicons} name=\"chatbubbles\" size={'xl'} />\n <Text>You don't have any messages yet!</Text>\n </Center>\n </Box>\n )}\n </>\n )}\n keyExtractor={(item, index) => 'key' + index}\n />\n </Box>\n );\n};\n\nexport const Dialogs = React.memo(DialogsComponent);\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner } from 'native-base';\nimport { Ionicons } from '@expo/vector-icons';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useNavigation, useRoute, useIsFocused, useFocusEffect } from '@react-navigation/native';\n\nimport { SupportServiceDialogsListItem } from '../components/SupportServiceDialogsListItem';\nimport { useSupportServiceChannelsQuery } from '@messenger-box/platform-client';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { config } from '../config';\n\nexport interface SupportServiceInboxProps {\n channelFilters?: Record<string, unknown>;\n channelRole?: string;\n}\n\nconst SupportServiceDialogsComponent = (props: SupportServiceInboxProps) => {\n const { channelFilters, channelRole } = props;\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 // const [userDirectChannel, setUserDirectChannel] = useState<any>([]);\n\n const {\n data: serviceChannels,\n loading: serviceChannelsLoading,\n refetch: getServiceChannelsRefetch,\n } = useSupportServiceChannelsQuery({\n variables: {\n criteria: { type: 'SERVICE' },\n },\n onCompleted: (data: any) => {\n //setRefresh(false);\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setRefresh(false);\n getServiceChannelsRefetch({ criteria: { type: 'SERVICE' } });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const channels = React.useMemo(() => {\n if (!serviceChannels?.supportServiceChannels?.length) return null;\n let uChannels: any =\n serviceChannels?.supportServiceChannels?.filter((c: any) =>\n c.members.some((u: any) => u !== null && u.user.__typename == 'UserAccount'),\n ) ?? [];\n return uChannels || [];\n }, [serviceChannels]);\n\n const handleSelectChannel = useCallback((id: any, title: any, postParentId: any) => {\n if (params?.channelId) {\n navigation.navigate(\n params?.postParentId || params?.postParentId == 0\n ? config.THREAD_MESSEGE_PATH\n : (config.THREADS_PATH as any),\n {\n channelId: params?.channelId,\n role: params?.role,\n title: params?.title ?? null,\n postParentId: params?.postParentId,\n hideTabBar: true,\n },\n );\n } else {\n navigation.navigate(\n postParentId || postParentId == 0 ? config.THREAD_MESSEGE_PATH : (config.THREADS_PATH as any),\n {\n channelId: id,\n role: channelRole,\n title: title,\n postParentId: postParentId,\n hideTabBar: true,\n },\n );\n }\n }, []);\n\n const handleRefresh = useCallback(() => {\n //if(userChannels?.channelsByUser?.length != channels?.length)setRefresh(true);\n setRefresh(true);\n getServiceChannelsRefetch({ criteria: { type: 'SERVICE' } })?.then((res: any) => setRefresh(false));\n }, []);\n\n return (\n <Box p={2} pb={0}>\n <FlatList\n data={channels && channels?.length > 0 ? channels : []}\n onRefresh={handleRefresh}\n refreshing={serviceChannelsLoading}\n contentContainerStyle={{}}\n ItemSeparatorComponent={() => <Box height=\"0.5\" backgroundColor=\"gray.200\" />}\n renderItem={({ item: channel }) => (\n <SupportServiceDialogsListItem\n onOpen={handleSelectChannel}\n currentUser={auth}\n channel={channel}\n refreshing={refreshing}\n selectedChannelId={params?.channelId}\n role={channelRole}\n />\n )}\n keyExtractor={(item, index) => 'support-service-key' + index}\n />\n </Box>\n );\n};\n\nexport const SupportServiceDialogs = React.memo(SupportServiceDialogsComponent);\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n Avatar,\n Box,\n Button,\n Center,\n HStack,\n Icon,\n Image,\n Spinner,\n Text,\n useColorModeValue,\n VStack,\n} from 'native-base';\nimport { Platform } from 'react-native';\nimport { useFocusEffect, useNavigation, useRoute } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { orderBy, startCase, uniqBy } from 'lodash';\nimport * as ImagePicker from 'expo-image-picker';\nimport { encode as atob } from 'base-64';\nimport { Ionicons, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Actions, GiftedChat, IMessage, MessageText, Send } from 'react-native-gifted-chat';\nimport {\n IPost,\n IPostThread,\n IPreDefinedRole,\n OnThreadChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useCreatePostThreadMutation,\n useOnThreadChatMessageAddedSubscription,\n useSendExpoNotificationOnPostMutation,\n useSendThreadMessageMutation,\n useThreadMessagesLazyQuery,\n useGetPostThreadLazyQuery,\n useUploadFilesNative,\n} from '@messenger-box/platform-client';\nimport { IExpoNotificationData, IFileInfo, objectId } from '@messenger-box/core';\nimport { config } from '../config';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { ImageViewerModal, SlackMessage } from '../components/SlackMessageContainer';\nimport CachedImage from '../components/CachedImage';\nimport { format, isToday, isYesterday } from 'date-fns';\n\nconst {\n MESSAGES_PER_PAGE,\n CALL_TO_ACTION_BOX_BGCOLOR,\n CALL_TO_ACTION_PATH,\n CALL_TO_ACTION_BUTTON_BORDERCOLOR,\n CALL_TO_ACTION_TEXT_COLOR,\n} = config;\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\ninterface IMessageProps extends IMessage {\n type: string;\n propsConfiguration?: any;\n}\n\nexport interface AlertMessageAttachmentsInterface {\n title: string;\n isTitleHtml: boolean;\n icon: string;\n callToAction: {\n title: string;\n link: string;\n };\n}\n\ninterface IThreadSubscriptionHandlerProps {\n subscribeToNewMessages: () => any;\n channelId: string;\n}\n\nconst ThreadConversationViewComponent = ({ channelId, postParentId, isPostParentIdThread, role }: any) => {\n const { params } = useRoute<any>();\n const [channelToTop, setChannelToTop] = useState(0);\n const [channelMessages, setChannelMessages] = useState<any>([]);\n const auth: any = useSelector(userSelector);\n const [totalCount, setTotalCount] = useState<any>(0);\n const [selectedImage, setImage] = useState<string>('');\n const [loadingOldMessages, setLoadingOldMessages] = useState<boolean>(false);\n const [loadEarlierMsg, setLoadEarlierMsg] = useState(false);\n const color = useColorModeValue('white', 'black');\n // const color = useColorModeValue('black', 'white');\n const navigation = useNavigation<any>();\n const [files, setFiles] = useState<File[]>([]);\n const [images, setImages] = useState<ImagePicker.ImageInfo[]>([]);\n const [msg, setMsg] = useState<string>('');\n const [loading, setLoading] = useState(false);\n const [imageLoading, setImageLoading] = useState(false);\n const [expoTokens, setExpoTokens] = useState<any[]>([]);\n const [isShowImageViewer, setImageViewer] = useState<boolean>(false);\n const [imageObject, setImageObject] = useState<any>({});\n const [parentId, setParentId] = useState<any>(postParentId);\n const [postThread, setPostThread] = useState<IPostThread>();\n const { startUpload } = useUploadFilesNative();\n const [threadPost, setThreadPost] = useState<any[]>([]);\n const [isScrollToBottom, setIsScrollToBottom] = useState(false);\n const threadMessageListRef = useRef<any>(null);\n\n // const [sendThreadMessage] = useSendThreadMessageMutation();\n const [sendThreadMessage] = useCreatePostThreadMutation();\n const [sendExpoNotificationOnPostMutation] = useSendExpoNotificationOnPostMutation();\n\n const [\n getThreadMessages,\n { data, loading: threadLoading, fetchMore: fetchMoreMessages, refetch: refetchThreadMessages, subscribeToMore },\n ] = useGetPostThreadLazyQuery({ fetchPolicy: 'cache-and-network' });\n\n useFocusEffect(\n React.useCallback(() => {\n navigation?.setOptions({ title: params?.title ?? 'Thread' });\n if (postParentId) {\n refetchThreadMessages({\n channelId: channelId?.toString(),\n role: role?.toString(),\n postParentId: postParentId?.toString(),\n selectedFields: 'id channel post replies replyCount lastReplyAt createdAt updatedAt',\n limit: MESSAGES_PER_PAGE,\n });\n }\n setParentId(postParentId);\n\n return () => {\n setTotalCount(0);\n setChannelMessages([]);\n setThreadPost([]);\n };\n }, [postParentId]),\n );\n\n useEffect(() => {\n //if (parentId && parentId == 0) {\n if (channelId && parentId) {\n getThreadMessages({\n variables: {\n channelId: channelId?.toString(),\n role: role?.toString(),\n postParentId: !parentId || parentId == 0 ? null : parentId?.toString(),\n selectedFields: 'id channel post replies replyCount lastReplyAt createdAt updatedAt',\n limit: MESSAGES_PER_PAGE,\n },\n });\n }\n }, [parentId]);\n\n React.useEffect(() => {\n if (data?.getPostThread) {\n const threads: any = data.getPostThread;\n const threadPost = threads?.post ?? [];\n const threadReplies = threads?.replies ?? [];\n const messeageTotalCount = threads?.replyCount ?? 0;\n const messages = [threadPost, ...threadReplies];\n\n if (\n (messages && messages.length > 0 && messeageTotalCount > totalCount) ||\n (messages && messages.length > 0 && channelMessages.length === 0)\n ) {\n setThreadMessages(messages, messeageTotalCount);\n }\n }\n if (isScrollToBottom && channelMessages) scrollToBottom();\n // scrollToBottom();\n // if (!isPostParentIdThread) {\n // // setTotalCount((pc: any) => pc + threadTotalCount);\n // setChannelMessages((oldMessages: any) => uniqBy([...threadMessage, ...oldMessages], ({ id }) => id));\n // }\n }, [data, channelMessages, loadingOldMessages, totalCount, isPostParentIdThread, isScrollToBottom]);\n\n const setThreadMessages = (messages: any, messagesTotalCount: number) => {\n setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n setTotalCount(messagesTotalCount);\n };\n\n React.useEffect(() => {\n if (selectedImage) setImageLoading(false);\n }, [selectedImage]);\n\n const scrollToBottom = React.useCallback(() => {\n if (threadMessageListRef?.current) {\n setIsScrollToBottom(false);\n threadMessageListRef.current.scrollTop = threadMessageListRef.current.scrollHeight;\n }\n }, [threadMessageListRef]);\n\n const onFetchOld = useCallback(() => {\n if (totalCount > channelMessages.length && !loadingOldMessages) {\n setLoadEarlierMsg(true);\n fetchMoreMessages({\n variables: {\n channelId: channelId?.toString(),\n role: role?.toString(),\n postParentId: parentId?.toString(),\n selectedFields: 'id channel post replies replyCount lastReplyAt createdAt updatedAt',\n limit: MESSAGES_PER_PAGE,\n skip: channelMessages.length - 1,\n },\n })\n .then((res: any) => {\n if (res?.data?.getPostThread) {\n const threads: any = res?.data?.getPostThread;\n const threadReplies = threads?.replies ?? [];\n const messeageTotalCount = threads?.replyCount ?? 0;\n setThreadMessages(threadReplies, messeageTotalCount);\n }\n })\n .finally(() => {\n setLoadEarlierMsg(false);\n setLoadingOldMessages(false);\n })\n .catch((error: any) => {\n setLoadEarlierMsg(false);\n setLoadingOldMessages(false);\n });\n }\n }, [parentId, channelId, totalCount, channelMessages]);\n\n // const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n // return contentOffset.y <= 100; // 100px from top\n // };\n\n const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {\n const paddingToTop = 60;\n return contentSize.height - layoutMeasurement.height - paddingToTop <= contentOffset.y;\n };\n\n const dataURLtoFile = (dataurl: any, filename: any) => {\n var arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new File([u8arr], filename, { type: mime });\n };\n\n const onSelectImages = async () => {\n setImageLoading(true);\n let imageSource: any = await ImagePicker.launchImageLibraryAsync({\n mediaTypes: ImagePicker.MediaTypeOptions.Images,\n allowsEditing: true,\n aspect: [4, 3],\n quality: 1,\n base64: true,\n });\n if (!imageSource.cancelled) {\n const image = 'data:image/jpeg;base64,' + imageSource?.base64;\n setImage(image);\n const file = dataURLtoFile(image, 'inputImage.jpg');\n setFiles((files) => files.concat(file));\n setImages((images) => images.concat(imageSource as ImagePicker.ImageInfo));\n }\n if (imageSource.cancelled) setLoading(false);\n };\n\n const handleSend = useCallback(\n async (message: string) => {\n if (!channelId) return;\n if (!message && message != ' ' && images.length == 0) return;\n\n const postId = objectId();\n\n if (images && images.length > 0) {\n setLoading(true);\n const uploadResponse = await startUpload({\n file: images,\n saveUploadedFile: {\n variables: {\n postId,\n },\n },\n createUploadLink: {\n variables: {\n postId,\n },\n },\n });\n if (uploadResponse?.error) setLoading(false);\n const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];\n if (uploadResponse.data) {\n setImage('');\n setFiles([]);\n setImages([]);\n //setLoading(false);\n const files = uploadedFiles?.map((f: any) => f.id) ?? null;\n await sendThreadMessage({\n variables: {\n postId,\n channelId,\n postThreadId: postThread && postThread?.id,\n postParentId: !parentId || parentId == 0 ? null : parentId,\n threadMessageInput: {\n content: message,\n files,\n role,\n },\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setPostThread(data?.createPostThread?.data);\n const lastMessageId = data?.createPostThread?.lastMessage?.id;\n if (!parentId || parentId == 0) {\n setParentId(data?.createPostThread?.lastMessage?.id);\n }\n\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n const msg = message == '' ? 'Send a file' : message;\n sendPushNotification(lastMessageId, channelId, parentId, data?.createPostThread?.data?.id);\n },\n });\n }\n } else {\n setLoading(true);\n await sendThreadMessage({\n variables: {\n channelId,\n postThreadId: postThread && postThread?.id,\n postParentId: !parentId || parentId == 0 ? null : parentId,\n threadMessageInput: {\n content: message,\n role,\n },\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setPostThread(data?.createPostThread.data);\n const lastMessageId = data?.createPostThread?.lastMessage?.id;\n if (!parentId || parentId == 0) {\n setParentId(data?.createPostThread?.lastMessage?.id);\n }\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n\n sendPushNotification(lastMessageId, channelId, parentId, data?.createPostThread?.data?.id);\n },\n });\n }\n },\n [setChannelMessages, channelId, images, parentId, expoTokens],\n );\n\n const sendPushNotification = async (messageId: string, channelId: string, parentId: any, threadId: string) => {\n const notificationData: IExpoNotificationData = {\n url: config.THREAD_MESSEGE_PATH,\n params: { channelId, title: params?.title ?? 'Thread', postParentId: parentId, hideTabBar: true },\n screen: 'DialogThreadMessages',\n thread: { id: threadId },\n other: { sound: Platform.OS === 'android' ? undefined || null : 'default' },\n };\n if (parentId || parentId == 0) {\n await sendExpoNotificationOnPostMutation({\n variables: {\n postId: messageId?.toString(),\n notificationData,\n },\n });\n }\n };\n\n const messageList = useMemo(() => {\n let currentDate = '';\n let res: any = [];\n if (channelMessages?.length) {\n orderBy(channelMessages, ['createdAt'], ['desc']).map((msg) => {\n let message: IMessageProps = {\n _id: '',\n text: '',\n createdAt: 0,\n user: {\n _id: '',\n name: '',\n avatar: '',\n },\n type: '',\n };\n const date = new Date(msg.createdAt);\n message._id = msg.id;\n message.text = msg.message;\n message.createdAt = date;\n (message.user = {\n _id: msg?.author?.id ?? auth?.profile?.id,\n name:\n msg?.author?.givenName ??\n auth?.profile?.given_name + ' ' + msg?.author?.familyName ??\n auth?.profile?.family_name,\n avatar: msg?.author?.picture ?? auth?.profile?.picture,\n }),\n (message.image = msg.files?.data[0]?.url),\n (message.sent = msg?.isDelivered),\n (message.received = msg?.isRead);\n message.type = msg?.type;\n message.propsConfiguration = msg?.propsConfiguration;\n res.push(message);\n });\n }\n return res;\n }, [channelMessages]);\n\n const renderSend = (props) => {\n return (\n <Send {...props}>\n <Box>\n <MaterialCommunityIcons\n name=\"send-circle\"\n style={{ marginBottom: 5, marginRight: 5 }}\n size={32}\n color=\"#2e64e5\"\n />\n </Box>\n </Send>\n );\n };\n\n const renderMessageText = (props: any) => {\n const { currentMessage } = props;\n if (currentMessage.type === 'ALERT') {\n const attachment = currentMessage?.propsConfiguration?.contents?.attachment;\n let action: string = '';\n let actionId: any = '';\n let params: any = {};\n if (attachment?.callToAction?.extraParams) {\n const extraParams: any = attachment?.callToAction?.extraParams;\n const route: any = extraParams?.route ?? null;\n let path: any = null;\n let param: any = null;\n if (role && role == IPreDefinedRole.Guest) {\n path = route?.guest?.name ? route?.guest?.name ?? null : null;\n param = route?.guest?.params ? route?.guest?.params ?? null : null;\n } else if (role && role == IPreDefinedRole.Owner) {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n } else {\n path = route?.host?.name ? route?.host?.name ?? null : null;\n param = route?.host?.params ? route?.host?.params ?? null : null;\n }\n\n action = path;\n params = { ...param };\n } else if (attachment?.callToAction?.link) {\n action = CALL_TO_ACTION_PATH;\n actionId = attachment?.callToAction?.link.split('/').pop();\n params = { reservationId: actionId };\n }\n\n // if (attachment?.callToAction?.link?.includes('my-reservation-details')) {\n // action = CALL_TO_ACTION_PATH;\n // actionId = attachment?.callToAction?.link.split('/').pop();\n // }\n\n return (\n <>\n {attachment?.callToAction && action ? (\n <Box bg={CALL_TO_ACTION_BOX_BGCOLOR} borderRadius={15} pb={2}>\n <Button\n variant={'outline'}\n size={'sm'}\n borderColor={CALL_TO_ACTION_BUTTON_BORDERCOLOR}\n onPress={() => action && params && navigation.navigate(action, params)}\n //onPress={() => navigation.navigate(action, { reservationId: actionId })}\n >\n <Text color={CALL_TO_ACTION_TEXT_COLOR}>{attachment.callToAction.title}</Text>\n </Button>\n <MessageText\n {...props}\n textStyle={{\n left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 },\n }}\n />\n </Box>\n ) : (\n <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />\n )}\n {/* <MessageText\n {...props}\n textStyle={{ left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 } }}\n /> */}\n </>\n );\n } else {\n return <MessageText {...props} textStyle={{ left: { marginLeft: 5 } }} />;\n }\n };\n\n const renderActions = (props) => {\n return (\n <Actions\n {...props}\n icon={() => <Icon as={Ionicons} name={'image'} size={'lg'} color={'black'} onPress={onSelectImages} />}\n />\n );\n };\n\n const renderAccessory = (props) => {\n return (\n <Box>\n {selectedImage !== '' ? (\n <HStack alignItems={'center'}>\n <Image ml={3} key={selectedImage} alt={'image'} source={{ uri: selectedImage }} size={'xs'} />\n <Button\n variant={'ghost'}\n colorScheme={'secondary'}\n onPress={() => {\n setFiles([]);\n setImage('');\n setImages([]);\n }}\n >\n Cancel\n </Button>\n </HStack>\n ) : null}\n </Box>\n );\n };\n\n const setImageViewerObject = (obj: any, v: boolean) => {\n setImageObject(obj);\n setImageViewer(v);\n };\n\n const modalContent = React.useMemo(() => {\n if (!imageObject) return <></>;\n const { image, _id } = imageObject;\n return (\n <CachedImage\n style={{ width: '100%', height: '100%' }}\n resizeMode={'cover'}\n // cacheKey={`${_id}-conversation-modal-image-key`}\n cacheKey={`${_id}-slack-bubble-imageKey`}\n source={{\n uri: image,\n //headers: `Authorization: Bearer ${token}`,\n expiresIn: 86400,\n }}\n alt={'image'}\n />\n );\n }, [imageObject]);\n\n const renderMessage = (props: any) => {\n return <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />;\n };\n\n let onScroll = false;\n\n const onMomentumScrollBegin = ({ nativeEvent }: any) => {\n onScroll = true;\n console.log('scroll top');\n if (!loadingOldMessages && isCloseToTop(nativeEvent) && totalCount > channelMessages?.length) {\n onFetchOld();\n }\n };\n\n const onEndReached = () => {\n console.log('on end reached');\n if (!onScroll) return;\n // load messages, show ActivityIndicator\n onScroll = false;\n // setLoadingOldMessages(true);\n };\n\n return (\n <>\n {(loadingOldMessages || loadEarlierMsg) && <Spinner />}\n {/* {loadEarlierMsg && <Spinner />} */}\n {isPostParentIdThread && (\n <>\n {threadPost?.length > 0 && (\n <>\n <VStack px={2} pt={2} pb={0} space={2}>\n <HStack space={2} alignItems={'center'}>\n <Avatar\n bg={'transparent'}\n size={10}\n _image={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: threadPost[0]?.author?.picture,\n }}\n >\n {startCase(threadPost[0]?.author?.username?.charAt(0))}\n </Avatar>\n <Box>\n <Text color={'black'} fontWeight={'bold'}>\n {threadPost[0]?.author?.givenName ?? ''}{' '}\n {threadPost[0]?.author?.familyName ?? ''}\n </Text>\n <Text color={'gray.500'} pl={0}>\n {createdAtText(threadPost[0]?.createdAt)} at{' '}\n {format(new Date(threadPost[0]?.createdAt), 'hh:ss:a')}\n </Text>\n </Box>\n </HStack>\n <HStack px={2} space={2} alignItems={'center'}>\n <Text>{threadPost[0]?.message ?? ''}</Text>\n </HStack>\n </VStack>\n\n <Box py={4}>\n <Box px={4} borderTopWidth={1} borderBottomWidth={1} py={2} borderColor={'gray.200'}>\n <Text color={'gray.600'} fontWeight={'bold'}>\n {threadPost[0]?.replies?.totalCount}{' '}\n {threadPost[0]?.replies?.totalCount > 0 ? 'replies' : 'reply'}\n </Text>\n </Box>\n </Box>\n </>\n )}\n </>\n )}\n <GiftedChat\n ref={threadMessageListRef}\n wrapInSafeArea={false}\n renderLoading={() => <Spinner />}\n messages={messageList}\n listViewProps={{\n onEndReached: onEndReached,\n onEndReachedThreshold: 0.5,\n onMomentumScrollBegin: onMomentumScrollBegin,\n }}\n onSend={(messages) => handleSend(messages[0]?.text ?? ' ')}\n text={msg ? msg : ' '}\n onInputTextChanged={(text) => setMsg(text)}\n renderFooter={() => (loading ? <Spinner /> : imageLoading ? <Spinner /> : '')}\n scrollToBottom\n user={{\n _id: auth?.id || '',\n }}\n isTyping={true}\n alwaysShowSend={loading ? false : true}\n // onLoadEarlier={onFetchOld}\n infiniteScroll={true}\n renderSend={renderSend}\n // loadEarlier={data?.messages?.totalCount > channelMessages.length}\n // isLoadingEarlier={loadEarlierMsg}\n // renderLoadEarlier={() =>\n // !loadEarlierMsg && (\n // <Center py={2}>\n // <Button\n // onPress={() => onFetchOld(channelMessages?.length)}\n // variant={'outline'}\n // _text={{ color: 'black', fontSize: 15, fontWeight: 'bold' }}\n // >\n // Load earlier messages\n // </Button>\n // </Center>\n // )\n // }\n renderMessageText={renderMessageText}\n minInputToolbarHeight={50}\n renderActions={renderActions}\n renderAccessory={renderAccessory}\n renderMessage={renderMessage}\n renderChatFooter={() => (\n <>\n <ImageViewerModal\n isVisible={isShowImageViewer}\n setVisible={setImageViewer}\n modalContent={modalContent}\n />\n <SubscriptionHandler\n channelId={channelId}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channelId?.toString(),\n postParentId: !parentId || parentId == 0 ? null : parentId?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newMessage: any = subscriptionData?.data?.threadChatMessageAdded;\n const prevReplyCount: any = prev?.getPostThread?.replyCount;\n const newReplyCount = prevReplyCount || 0 + 1;\n const replies = prev?.getPostThread?.replies || [];\n\n return Object.assign({}, prev, {\n getPostThread: {\n ...prev?.getPostThread,\n lastReplyAt: newMessage.createdAt,\n replies: [newMessage, ...replies],\n replyCount: newReplyCount,\n updatedAt: newMessage.createdAt,\n },\n });\n },\n })\n }\n />\n </>\n )}\n messagesContainerStyle={messageList?.length == 0 && { transform: [{ scaleY: -1 }] }}\n renderChatEmpty={() => (\n <>\n {!threadLoading && messageList && messageList?.length == 0 && (\n <Box p={5}>\n <Center mt={6}>\n <Icon as={Ionicons} name=\"chatbubbles\" size={'xl'} />\n <Text>You don't have any message yet!</Text>\n </Center>\n </Box>\n )}\n </>\n )}\n lightboxProps={{\n underlayColor: 'transparent',\n springConfig: { tension: 90000, friction: 90000 },\n disabled: true,\n }}\n />\n </>\n );\n};\n\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: IThreadSubscriptionHandlerProps) => {\n useEffect(() => subscribeToNewMessages(), [channelId]);\n return <></>;\n};\n\nexport const ThreadConversationView = React.memo(ThreadConversationViewComponent);\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center, Spinner, Button } from 'native-base';\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';\nimport { ThreadViewItem } from '../components/ThreadsViewItem';\nimport {\n useThreadMessagesQuery,\n OnThreadCreatedUpdatedDocument as THREAD_CHAT_ADDED,\n useOnThreadCreatedUpdatedSubscription,\n} from '@messenger-box/platform-client';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';\nimport { config } from '../config';\nconst { MESSAGES_PER_PAGE } = config;\n\nexport interface ThreadsViewProps {\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 = ({ channelId, role, channelsDetail, refetchChannelDetail }: 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 const [threadData, setThreadsData] = useState<any>([]);\n\n const {\n data,\n loading: threadLoading,\n error,\n refetch,\n subscribeToMore,\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 { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({\n // variables: { channelId: channelId?.toString() },\n // });\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 });\n // .then(({ data }) => {\n // if (!data?.threadMessages?.data) {\n // return;\n // }\n\n // if (data?.threadMessages?.data?.length) {\n // const { data: newThreads } = data?.threadMessages;\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, ...newThreads], ({ id }) => id));\n // }\n // });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [channelId]),\n );\n\n // React.useEffect(() => {\n // if (data?.threadMessages?.data?.length) {\n // const { data: newThreads } = data?.threadMessages;\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, ...newThreads], ({ id }) => id));\n // }\n // }, [data]);\n\n // React.useEffect(() => {\n // if (threadCreatedUpdated?.threadCreatedUpdated?.data) {\n // const { data: newThreads } = threadCreatedUpdated?.threadCreatedUpdated;\n\n // setThreadsData((oldThreads: any) => {\n // const i = oldThreads.findIndex((el: any) => el.id === newThreads?.id);\n // if (i > -1) oldThreads[i] = newThreads; // (2)\n // else oldThreads.push(newThreads);\n // return oldThreads;\n // });\n // // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, newThreads], ({ id }) => id));\n // }\n // }, [threadCreatedUpdated]);\n\n const setData = React.useCallback((newThreads: any) => {\n setThreadsData((oldThreads: any) => {\n const i = oldThreads.findIndex((el: any) => el.id === newThreads?.id);\n if (i > -1) oldThreads[i] = newThreads; // (2)\n else oldThreads.push(newThreads);\n return oldThreads;\n });\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, newThreads], ({ id }) => id));\n }, []);\n\n // const threads = React.useMemo(() => {\n // if (!threadData?.length) return null;\n // return orderBy(threadData, ['updatedAt'], ['desc']) || [];\n // //return threadData || [];\n // }, [threadData]);\n\n const threads = React.useMemo(() => {\n if (!data?.threadMessages?.data?.length) return null;\n const { data: newThreads } = data?.threadMessages;\n const threadsFiltered = newThreads ? uniqBy([...newThreads], ({ id }: any) => id) : [];\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 //return threadData || [];\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 // if (params?.channelId) {\n // navigation.navigate(config.THREAD_MESSEGE_PATH as any, {\n // channelId: params?.channelId,\n // title: params?.title ?? null,\n // postParentId: postParentId,\n // hideTabBar: true,\n // });\n // } else {\n // navigation.navigate(config.THREAD_MESSEGE_PATH as any, {\n // channelId: id,\n // title: title,\n // postParentId: postParentId,\n // hideTabBar: true,\n // });\n // }\n }, []);\n\n const handleRefresh = useCallback(() => {\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n limit: MESSAGES_PER_PAGE,\n });\n // .then(({ data }) => {\n // if (!data?.threadMessages?.data) {\n // return;\n // }\n\n // if (data?.threadMessages?.data?.length) {\n // const { data: newThreads } = data?.threadMessages;\n // setThreadsData((oldThreads: any) => uniqBy([...oldThreads, ...newThreads], ({ id }) => id));\n // }\n // });\n }, []);\n\n const fetchMoreThreads = useCallback(() => {\n refetch({\n channelId: channelId?.toString(),\n role: role?.toString(),\n skip: threads?.length,\n });\n }, []);\n\n // if (!threadReplies || threadReplies?.length == 0) {\n // return (\n // <Center w=\"full\" bg={'f8f8f8'} height={'full'}>\n // You don't have any message yet!\n // </Center>\n // );\n // }\n\n return (\n <Box\n flex={1}\n p={2}\n pb={0}\n _dark={{\n borderColor: 'coolGray.600',\n backgroundColor: 'gray.700',\n }}\n _web={{\n shadow: 2,\n borderWidth: 0,\n }}\n _light={{\n backgroundColor: 'gray.50',\n }}\n >\n <FlatList\n style={{ flex: 1 }}\n data={threads && threads?.length > 0 ? threads : []}\n onRefresh={handleRefresh}\n refreshing={threadLoading}\n contentContainerStyle={{ paddingBottom: 60 }}\n ItemSeparatorComponent={() => <Box height=\"0.5\" backgroundColor=\"gray.200\" />}\n renderItem={({ item: thread, index }) => (\n <ThreadViewItem\n key={index}\n onOpen={handleSelectThread}\n currentUser={auth}\n thread={thread}\n role={role}\n setData={setData}\n />\n )}\n ListEmptyComponent={() => (\n <>\n {!threadLoading || threads?.length == 0}\n <Box p={5}>\n <Center mt={6}>\n <Icon as={Ionicons} name=\"chatbubbles\" size={'xl'} />\n <Text>You don't have any message yet!</Text>\n </Center>\n </Box>\n </>\n )}\n ListFooterComponent={() => (\n <>\n <SubscriptionHandler\n channelId={channelId}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: THREAD_CHAT_ADDED,\n variables: {\n channelId: channelId?.toString(),\n postParentId: null,\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newPostThreadData: any =\n subscriptionData?.data?.threadCreatedUpdated?.data;\n const newMessage: any =\n subscriptionData?.data?.threadCreatedUpdated?.lastMessage;\n const data = prev?.threadMessages?.data?.map((t: any) =>\n t.id === newPostThreadData?.id\n ? {\n ...t,\n replies: [newMessage, ...t?.replies],\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: prev?.threadMessages?.totalCount + 1,\n data: data,\n },\n });\n },\n })\n }\n />\n </>\n )}\n keyExtractor={(item, index) => 'threads-view-key' + index}\n onEndReached={fetchMoreThreads}\n onEndReachedThreshold={0.1}\n />\n </Box>\n );\n};\n\nconst SubscriptionHandler = ({ subscribeToNewMessages, channelId }: IThreadSubscriptionHandlerProps) => {\n useEffect(() => subscribeToNewMessages(), [channelId]);\n return <></>;\n};\n\nexport const ThreadsView = React.memo(ThreadsViewComponent);\n","export * from './inbox/Inbox';\nexport * from './inbox/DialogMessages';\nexport * from './inbox/DialogThreads';\nexport * from './inbox/DialogThreadMessages'\n","module.exports = require(\"@adminide-stack/user-auth0-client\");","module.exports = require(\"@common-stack/client-react\");","module.exports = require(\"@expo/vector-icons\");","module.exports = require(\"@messenger-box/core\");","module.exports = require(\"@messenger-box/platform-client\");","module.exports = require(\"@react-navigation/native\");","module.exports = require(\"base-64\");","module.exports = require(\"date-fns\");","module.exports = require(\"envalid\");","module.exports = require(\"expo-file-system\");","module.exports = require(\"expo-image-picker\");","module.exports = require(\"lodash\");","module.exports = require(\"native-base\");","module.exports = require(\"react\");","module.exports = require(\"react-native\");","module.exports = require(\"react-native-gifted-chat\");","module.exports = require(\"react-redux\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
|