@messenger-box/platform-mobile 0.0.1-alpha.335 → 0.0.1-alpha.338

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 CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.0.1-alpha.338](https://github.com/CDEBase/messenger-box/compare/v0.0.1-alpha.337...v0.0.1-alpha.338) (2023-04-19)
7
+
8
+ **Note:** Version bump only for package @messenger-box/platform-mobile
9
+
10
+ ## [0.0.1-alpha.336](https://github.com/CDEBase/messenger-box/compare/v0.0.1-alpha.335...v0.0.1-alpha.336) (2023-04-18)
11
+
12
+ **Note:** Version bump only for package @messenger-box/platform-mobile
13
+
6
14
  ## [0.0.1-alpha.335](https://github.com/CDEBase/messenger-box/compare/v0.0.1-alpha.334...v0.0.1-alpha.335) (2023-04-18)
7
15
 
8
16
  **Note:** Version bump only for package @messenger-box/platform-mobile
package/lib/index.js CHANGED
@@ -989,7 +989,7 @@ const ConversationViewComponent = ({ channelId }) => {
989
989
  var _a;
990
990
  if ((_a = data === null || data === void 0 ? void 0 : data.messages) === null || _a === void 0 ? void 0 : _a.data) {
991
991
  const { data: messages, totalCount: messeageTotalCount } = data.messages;
992
- if (messages && messages.length > 0) {
992
+ if (messages && messages.length > 0 && (loadingOldMessages || channelMessages.length === 0)) {
993
993
  setChannelMessages((oldMessages) => (0, lodash_1.uniqBy)([...messages, ...oldMessages], ({ id }) => id));
994
994
  setLoadingOldMessages(false);
995
995
  }
@@ -1068,7 +1068,7 @@ const ConversationViewComponent = ({ channelId }) => {
1068
1068
  // console.log('totalCount',totalCount)
1069
1069
  // console.log('channelMessages.length',channelMessages.length)
1070
1070
  // setLoadingOldMessages(true);
1071
- // refetch({
1071
+ // refetch({
1072
1072
  // skip: channelMessages.length
1073
1073
  // });
1074
1074
  // }
@@ -1119,7 +1119,7 @@ const ConversationViewComponent = ({ channelId }) => {
1119
1119
  data: data,
1120
1120
  title: title,
1121
1121
  body: body,
1122
- sound: react_native_1.Platform.OS === "android" ? null : "default",
1122
+ sound: react_native_1.Platform.OS === 'android' ? null : 'default',
1123
1123
  }),
1124
1124
  });
1125
1125
  };
@@ -1363,7 +1363,7 @@ const ConversationViewComponent = ({ channelId }) => {
1363
1363
  if (!imageObject)
1364
1364
  return react_1.default.createElement(react_1.default.Fragment, null);
1365
1365
  const { image } = imageObject;
1366
- return (react_1.default.createElement(native_base_1.Image, { resizeMode: 'cover', alt: 'image', source: { uri: image }, size: 'full' }));
1366
+ return react_1.default.createElement(native_base_1.Image, { resizeMode: 'cover', alt: 'image', source: { uri: image }, size: 'full' });
1367
1367
  }, [imageObject]);
1368
1368
  const renderMessage = (props) => {
1369
1369
  // const {
@@ -1390,17 +1390,21 @@ const ConversationViewComponent = ({ channelId }) => {
1390
1390
  // }
1391
1391
  // }
1392
1392
  // }}
1393
- onSend: async (messages) => {
1394
- var _a, _b;
1395
- await handleSend((_b = (_a = messages[0]) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : ' ');
1396
- }, text: msg ? msg : ' ', onInputTextChanged: (text) => setMsg(text), renderFooter: () => (loading ? react_1.default.createElement(native_base_1.Spinner, null) : imageLoading ? react_1.default.createElement(native_base_1.Spinner, null) : ''), scrollToBottom: true, user: {
1393
+ // onSend={(messages) => {
1394
+ // handleSend(messages[0]?.text ?? ' ');
1395
+ // }}
1396
+ onSend: (messages) => { var _a, _b; return handleSend((_b = (_a = messages[0]) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : ' '); }, text: msg ? msg : ' ', onInputTextChanged: (text) => setMsg(text), renderFooter: () => (loading ? react_1.default.createElement(native_base_1.Spinner, null) : imageLoading ? react_1.default.createElement(native_base_1.Spinner, null) : ''), scrollToBottom: true, user: {
1397
1397
  // _id: currentUser?.id || '',
1398
1398
  _id: (auth === null || auth === void 0 ? void 0 : auth.id) || '',
1399
- }, isTyping: true, alwaysShowSend: loading ? false : true, onLoadEarlier: () => onFetchOld(), infiniteScroll: true, renderSend: renderSend,
1399
+ }, isTyping: true, alwaysShowSend: loading ? false : true, onLoadEarlier: onFetchOld, infiniteScroll: true, renderSend: renderSend,
1400
1400
  // loadEarlier={checkForMessages?.messages?.totalCount > totalCount}
1401
1401
  //loadEarlier={channelMessages.length !== data?.messages?.totalCount}
1402
1402
  // loadEarlier={totalCount > channelMessages.length}
1403
- loadEarlier: ((_a = data === null || data === void 0 ? void 0 : data.messages) === null || _a === void 0 ? void 0 : _a.totalCount) > channelMessages.length, renderMessageText: (props) => renderMessageText(props), minInputToolbarHeight: 50, renderActions: renderActions, renderAccessory: renderAccessory, renderMessage: (props) => renderMessage(props), renderChatFooter: () => (react_1.default.createElement(SlackMessageContainer_1.ImageViewerModal, { isVisible: isShowImageViewer, setVisible: setImageViewer, modalContent: modalContent })), lightboxProps: { underlayColor: 'transparent', springConfig: { tension: 90000, friction: 90000 }, disabled: true } }));
1403
+ loadEarlier: ((_a = data === null || data === void 0 ? void 0 : data.messages) === null || _a === void 0 ? void 0 : _a.totalCount) > channelMessages.length, renderMessageText: renderMessageText, minInputToolbarHeight: 50, renderActions: renderActions, renderAccessory: renderAccessory, renderMessage: renderMessage, renderChatFooter: () => (react_1.default.createElement(SlackMessageContainer_1.ImageViewerModal, { isVisible: isShowImageViewer, setVisible: setImageViewer, modalContent: modalContent })), lightboxProps: {
1404
+ underlayColor: 'transparent',
1405
+ springConfig: { tension: 90000, friction: 90000 },
1406
+ disabled: true,
1407
+ } }));
1404
1408
  };
1405
1409
  exports.ConversationView = react_1.default.memo(ConversationViewComponent);
1406
1410
 
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/Inbox.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/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/index.ts","webpack://@messenger-box/platform-mobile/external commonjs \"@admin-layout/client\"","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/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-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 { 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 },\n component: (props: any) => <DialogMessages {...props} channelId={props?.route?.params?.channelId} />,\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 }) {\n return (\n <Box bg={'white'} flex={1} pt={5}>\n <ConversationView channelId={channelId} />\n </Box>\n );\n}","import * as React from 'react';\nimport { Box } from 'native-base';\n\nimport { Dialogs } from './containers/Dialogs';\n\nexport const Inbox = (props:any) => {\n const { channelFilters, channelRole } = props;\n return (\n <Box bg={'white'} flex={1}>\n <Dialogs channelFilters={channelFilters} channelRole={channelRole} {...props} />\n </Box>\n );\n};\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 { IChannel, IUserAccount, useMessagesQuery, useUserAccountQuery } 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 {\n data: messagesQuery,\n loading: messageLoading,\n refetch: refetchMessages,\n } = useMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n limit: 1,\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: 1 });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const lastMessage = useMemo(() => {\n if (!messagesQuery?.messages?.data?.length) {\n return null;\n }\n const { data } = messagesQuery.messages;\n return data[data.length - 1];\n }, [messagesQuery]);\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 {/* <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\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, View, Platform } from 'react-native';\n\nimport { MessageText, MessageImage, Time, utils } from 'react-native-gifted-chat';\n\nconst { isSameUser, isSameDay } = utils;\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 return (\n <TouchableOpacity onPress={()=>this.props.setImageViewer(messageImageProps?.currentMessage,true)}><Text><MessageImage {...messageImageProps} imageStyle={[styles.slackImage, messageImageProps.imageStyle]} /></Text></TouchableOpacity>\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 <TouchableOpacity 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 </TouchableOpacity>\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, ViewPropTypes, StyleSheet } from 'react-native';\n\nimport { Avatar, Day, utils } from 'react-native-gifted-chat';\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 <Bubble {...bubbleProps} isShowImageViewer={this.props.isShowImageViewer} setImageViewer={this.props.setImageViewer} />;\n }\n\n renderAvatar() {\n let extraStyle: any;\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 }\n\n const avatarProps: any = this.getInnerComponentProps();\n return (\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 },\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 { cleanEnv, num, str } from 'envalid';\n\nexport const config = cleanEnv(process['APP_ENV'] || process.env, {\n MESSAGES_PER_PAGE: num({ devDefault: 10, default: 20 }),\n FILES_PER_MESSAGE: num({ default: 10 }),\n INBOX_MESSEGE_PATH: str({ default: 'MainStack.Message' }),\n CALL_TO_ACTION_PATH: str({ default: 'MainStack.MyReservationDetails' }),\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, useState } from 'react';\nimport { Box, Button, HStack, Icon, Image, Spinner, Text, useColorModeValue,ScrollView } from 'native-base';\nimport {Platform} from 'react-native'\nimport { useNavigation,useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { orderBy, 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 useCheckForNewMessagesQuery,\n useGetAllUsersQuery,\n useMessagesQuery,\n useSendMessagesMutation,\n useViewChannelDetailQuery,\n useUploadFilesNative,\n} from '@messenger-box/platform-client';\nimport { IFileInfo } from '@messenger-box/core';\nimport { config } from '../config';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { SlackMessage,ImageViewerModal } from '../components/SlackMessageContainer';\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\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\nconst ConversationViewComponent = ({ channelId }: 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(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 \n const { startUpload } = useUploadFilesNative();\n\n const [sendMsg] = useSendMessagesMutation();\n\n const {\n data,\n loading: messageLoading,\n refetch,\n }:any = useMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n limit: MESSAGES_PER_PAGE,\n },\n skip: !channelId,\n fetchPolicy: 'cache-and-network',\n });\n\n const {\n data: channelsDetail,\n loading: channelLoading,\n refetch: refetchChannelDetail,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n // const { data: users } = useGetAllUsersQuery();\n\n const { data: checkForMessages }:any = useCheckForNewMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n },\n skip: !channelId,\n fetchPolicy: 'network-only',\n pollInterval: 5000,\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n refetchChannelDetail({id: channelId?.toString()});\n refetch({\n channelId: channelId?.toString(),\n limit: MESSAGES_PER_PAGE,\n }).then(({ data }) => {\n if (!data?.messages) {\n return;\n }\n const { data: messages, totalCount }:any = data.messages;\n setTotalCount(totalCount);\n setChannelMessages((oldMessages:any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setTotalCount(0)\n setChannelMessages([])\n };\n }, []),\n );\n\n React.useEffect(() => {\n if (channelsDetail?.viewChannelDetail?.members?.length) {\n const channelData: any =\n channelsDetail?.viewChannelDetail?.members?.filter((mu: any) => mu?.user?.id != auth?.id) ?? [];\n const tokens: any =\n channelData\n ?.map(\n (u: any) =>\n u?.user?.tokens\n ?.filter((t: any) => t?.type == 'EXPO_NOTIFICATION_TOKEN')\n ?.map((et: any) => et?.token) ?? [],\n )\n ?.flat(1)\n ?.filter((t: any) => t) ?? [];\n \n if(tokens?.length > 0) setExpoTokens(tokens);\n }\n }, [channelsDetail]);\n\n React.useEffect(() => {\n if (selectedImage) setImageLoading(false);\n }, [selectedImage]);\n\n \n\n // const currentUser = useMemo(\n // () => users?.getUsers?.find(({ alias }: any) => alias?.includes(auth?.auth0UserId)),\n // [users, auth],\n // );\n\n // useEffect(() => {\n // if (data?.messages?.data && (loadingOldMessages || channelMessages.length === 0)) {\n // const { data: messages, totalCount: messeageTotalCount } = data.messages;\n // if (messages && messages.length > 0) {\n // setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n // }\n // if (totalCount !== messeageTotalCount) setTotalCount(messeageTotalCount);\n // }\n // }, [data, loadingOldMessages, channelMessages]);\n\n useEffect(() => {\n if (data?.messages?.data) {\n const { data: messages, totalCount: messeageTotalCount } = data.messages;\n if (messages && messages.length > 0) {\n setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n setLoadingOldMessages(false);\n }\n if (totalCount !== messeageTotalCount) setTotalCount(messeageTotalCount);\n }\n }, [data]);\n\n // useEffect(() => {\n // if (data?.messages?.data) {\n // const { data: messages, totalCount: messeageTotalCount } = data.messages;\n // console.log('messeageTotalCount',messeageTotalCount)\n // console.log('totalCount',totalCount)\n // if (messages && messages.length > 0) {\n // setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n // }\n // if (totalCount !== messeageTotalCount) setTotalCount(messeageTotalCount);\n // }\n // }, [data]);\n\n // useEffect(() => {\n // if (checkForMessages?.messages?.totalCount > totalCount) {\n // const numberOfNewMessages = checkForMessages?.messages?.totalCount - totalCount;\n // refetch({\n // limit: numberOfNewMessages,\n // }).then(({ data }) => {\n // if (!data?.messages) {\n // return;\n // }\n // const { data: messages, totalCount }:any = data.messages;\n // setTotalCount(totalCount);\n // setChannelMessages((oldMessages:any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));\n // });\n // }\n // }, [checkForMessages, totalCount]);\n\n useEffect(() => {\n if (checkForMessages?.messages?.totalCount > totalCount) {\n const numberOfNewMessages = checkForMessages?.messages?.totalCount - totalCount;\n console.log('new msg check')\n refetch({\n limit: numberOfNewMessages,\n }).then(({ data }) => {\n if (!data?.messages) {\n return;\n }\n const { data: messages, totalCount }:any = data.messages;\n setTotalCount(totalCount);\n setChannelMessages((oldMessages:any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));\n });\n }\n }, [checkForMessages,totalCount]);\n\n // const onFetchOld = useCallback(() => {\n // // if (data?.messages?.totalCount > channelMessages.length) {\n // //if(channelMessages.length !== data?.messages?.totalCount){\n // if(totalCount > channelMessages.length){\n // setLoadingOldMessages(true);\n // refetch({ skip: channelMessages.length });\n // }\n // }, [data, channelMessages]);\n\n // const onFetchOld = () => {\n // // if (data?.messages?.totalCount > channelMessages.length) {\n // //if(channelMessages.length !== data?.messages?.totalCount){\n // if(totalCount > channelMessages.length){\n // setLoadingOldMessages(true);\n // refetch({ skip: channelMessages.length });\n // }\n // };\n\n const onFetchOld = useCallback(() => {\n if(data?.messages?.totalCount > channelMessages.length ){\n setLoadingOldMessages(true);\n refetch({ skip: channelMessages.length });\n }\n }, [data, channelMessages]);\n\n // const onFetchOld = () => {\n // if(totalCount > channelMessages.length){\n // console.log('totalCount',totalCount)\n // console.log('channelMessages.length',channelMessages.length)\n // setLoadingOldMessages(true);\n // refetch({ \n // skip: channelMessages.length\n // });\n // }\n // };\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 sendPushNotification = (title: String, body: String, data: any, to: any) => {\n fetch('https://exp.host/--/api/v2/push/send/', {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Accept-Encoding': 'gzip, deflate',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n to: to,\n data: data,\n title: title,\n body: body,\n sound: Platform.OS === \"android\" ? null : \"default\",\n }),\n });\n };\n\n // const handleSend = useCallback(\n // async (message: string) => {\n // // if (!(message && channelId)) {\n // // return;\n // // }\n\n // if (!channelId) return;\n // if (!message && message != ' ' && images.length == 0) return;\n\n // setLoading(true);\n // const { data } = await sendMsg({\n // variables: {\n // channelId,\n // content: message,\n // },\n // update: (cache, { data, errors }) => {\n // if (!data || errors) {\n // setLoading(false);\n // return;\n // }\n // setChannelMessages((messages) => [...messages, data?.sendMessage]);\n // setTotalCount((t) => t + 1);\n // setChannelToTop(channelToTop + 1);\n // setLoading(false);\n // const title: String = currentUser?.givenName+' '+currentUser?.familyName+' in Followup Chat';\n // const body: String = message;\n // const notificationData: any = {\n // url: config.INBOX_MESSEGE_PATH,\n // params: { channelId, hideTabBar: true },\n // screen: 'DialogMessages',\n // };\n // console.log('expo to',JSON.stringify(expoTokens));\n // if (expoTokens?.length > 0) {\n // const to: any = expoTokens?.length > 0 ? expoTokens : [];\n \n // sendPushNotification(title, body, notificationData, to);\n // }\n\n // setMsg('');\n // },\n // });\n // if (images && images.length > 0 && data?.sendMessage?.id) {\n // const { id: postId } = data.sendMessage;\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 // }\n // setChannelMessages((messages) =>\n // messages.map((message) => {\n // if (message.id === postId) {\n // return {\n // ...message,\n // files: {\n // totalCount: uploadedFiles.length,\n // data: uploadedFiles,\n // },\n // };\n // }\n // return message;\n // }),\n // );\n // }\n // },\n // [setChannelMessages, currentUser, channelId, images,expoTokens],\n // );\n\n const handleSend = async (message: string) => {\n if (!channelId) return;\n if (!message && message != ' ' && images.length == 0) return;\n\n setLoading(true);\n const { data } = await sendMsg({\n variables: {\n channelId,\n content: message,\n },\n update: (cache, { data, errors }:any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setChannelMessages((messages:any) => [...messages, data?.sendMessage]);\n setTotalCount((t:any) => t + 1);\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n const givenName = auth?.givenName ?? '';\n const familyName = auth?.familyName ?? '';\n const fullName = givenName ? givenName+' '+familyName :'';\n const title: String = fullName ? fullName +' in Followup Chat' : 'Followup Chat';\n const body: String = message;\n const notificationData: any = {\n url: config.INBOX_MESSEGE_PATH,\n params: { channelId, hideTabBar: true },\n screen: 'DialogMessages',\n };\n console.log('expo to',JSON.stringify(expoTokens));\n if (expoTokens?.length > 0) {\n const to: any = expoTokens?.length > 0 ? expoTokens : [];\n \n sendPushNotification(title, body, notificationData, to);\n }\n\n \n },\n });\n if (images && images.length > 0 && data?.sendMessage?.id) {\n const { id: postId } = data.sendMessage;\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 }\n setChannelMessages((messages:any) =>\n messages.map((message:any) => {\n if (message.id === postId) {\n return {\n ...message,\n files: {\n totalCount: uploadedFiles.length,\n data: uploadedFiles,\n },\n };\n }\n return message;\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,\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 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 if (attachment?.callToAction?.link?.includes('my-reservation-details')) {\n action = CALL_TO_ACTION_PATH;\n actionId = attachment?.callToAction?.link.split('/').pop();\n }\n // if (attachment?.callToAction?.link?.includes('my-reservation-details')) {\n // action = 'm-reservation-detail';\n // actionId = attachment?.callToAction?.link.split('/').pop();\n // }\n return (\n <Box bg={CALL_TO_ACTION_BOX_BGCOLOR} borderRadius={15} pb={2}>\n {attachment?.callToAction ? (\n <Button\n variant={'outline'}\n size={'sm'}\n borderColor={CALL_TO_ACTION_BUTTON_BORDERCOLOR}\n onPress={() => navigation.navigate(action, { reservationId: actionId })}\n >\n <Text color={CALL_TO_ACTION_TEXT_COLOR}>{attachment.callToAction.title}</Text>\n </Button>\n ) : null}\n <MessageText\n {...props}\n textStyle={{ left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 } }}\n />\n </Box>\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\n const setImageViewerObject = (obj:any,v:boolean) => {\n setImageObject(obj);\n setImageViewer(v)\n }\n\n const modalContent = React.useMemo(\n () => {\n if(!imageObject) return <></>\n const {image} = imageObject\n return (\n <Image resizeMode={'cover'} alt={'image'} source={{ uri: image }} size={'full'} />\n );\n },\n [imageObject]\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 return (\n <GiftedChat\n wrapInSafeArea={false}\n renderLoading={() => <Spinner />}\n messages={messageList}\n // listViewProps={{\n // scrollEventThrottle: 400,\n // onScroll: ({ nativeEvent }) => { console.log('scroll')\n // if (!loadingOldMessages && isCloseToTop(nativeEvent)) {\n // onFetchOld();\n // }\n // }\n // }}\n onSend={ async (messages) => {\n await handleSend(messages[0]?.text ?? ' ');\n }}\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={checkForMessages?.messages?.totalCount > totalCount}\n //loadEarlier={channelMessages.length !== data?.messages?.totalCount}\n // loadEarlier={totalCount > channelMessages.length}\n loadEarlier={data?.messages?.totalCount > channelMessages.length}\n renderMessageText={(props:any) => renderMessageText(props)}\n minInputToolbarHeight={50}\n renderActions={renderActions}\n renderAccessory={renderAccessory}\n renderMessage={(props:any) => renderMessage(props)}\n renderChatFooter={()=>(\n <ImageViewerModal isVisible={isShowImageViewer} setVisible={setImageViewer} modalContent={modalContent} />\n )}\n lightboxProps={{underlayColor:'transparent',springConfig:{tension: 90000, friction: 90000},disabled:true}}\n />\n );\n}\n\nexport const ConversationView = React.memo(ConversationViewComponent);\n\n","import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { FlatList, Box, Heading, Input, Text, Icon, Center } 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 { 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}\n\n const 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 [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 });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\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 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 //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 title: params?.title ?? null,\n hideTabBar: true,\n });\n } else {\n navigation.navigate(config.INBOX_MESSEGE_PATH as any, {\n channelId: id,\n title: title,\n hideTabBar: true,\n });\n }\n }, []);\n\n return (\n <Box p={2}>\n <FlatList\n data={userDirectChannel?.length > 0 ? userDirectChannel : []}\n onRefresh={getChannelsRefetch}\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 <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 keyExtractor={(item, index) => 'key' + index}\n />\n </Box>\n );\n};\n\nexport const Dialogs = React.memo(DialogsComponent);\n","export * from './inbox/Inbox';\nexport * from './inbox/DialogMessages';","module.exports = require(\"@admin-layout/client\");","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/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-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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yFAAsC;AAEtC,2GAAqD;AAErD,qBAAe,IAAI,sBAAO,CAAC,gBAAc,CAAC,CAAC;AAC3C,4FAA6B;AAC7B,sFAA0B;;;;;;;;;;;;;ACN1B,sDAAsD;AACtD,2GAAqD;AACrD,sHAAyF;AAEzF,qBAAe,IAAI,sBAAO,CAAC;IACvB,gBAAgB,EAAhB,kCAAgB;IAChB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,wBAAM,EAAE,YAAY,EAAZ,8BAAY,EAAE;CACxD,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPH,sEAA+B;AAC/B,2GAAqD;AACrD,8HAAiE;AACjE,4EAA+C;AAC/C,2FAAmD;AAEnD,MAAM,WAAW,GAAG;IAChB,CAAC,WAAW,CAAC,EAAE;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACH,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClC,SAAS,EAAE,CAAC,KAAU,EAAE,EAAE,eAAC,2BAAC,+BAAc,oBAAK,KAAK,IAAE,SAAS,EAAE,iBAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,MAAM,0CAAE,SAAS,IAAI;YACpG,OAAO,EAAE,CAAC,EAAE,UAAU,EAAO,EAAE,EAAE;gBAC7B,OAAO;oBACH,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,OAAO;oBACd,sBAAsB,EAAE,KAAK;oBAC7B,cAAc,EAAE,KAAK;oBACrB,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,CACxB,oBAAC,wBAAU,IACP,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAClC,IAAI,EAAE,oBAAC,kBAAI,IAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,4BAAa,EAAE,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAE,OAAO,GAAI,GACrF,CACL;iBACJ,CAAC;YACN,CAAC;SACJ;KACJ;CACJ,CAAC;AAEW,oBAAY,GAAG,IAAI,sBAAO,CAAC;IACpC,WAAW,EAAE,WAAkB;CAClC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCH,4GAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAlC,sEAA+B;AAC/B,4EAAkC;AAClC,2IAAiE;AAEjE,SAAgB,cAAc,CAAC,EAAE,SAAS,EAAE;IACxC,OAAO,CACH,oBAAC,iBAAG,IAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5B,oBAAC,mCAAgB,IAAC,SAAS,EAAE,SAAS,GAAI,CACxC,CACT,CAAC;AACN,CAAC;AAND,wCAMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVD,sEAA+B;AAC/B,4EAAkC;AAElC,gHAA+C;AAExC,MAAM,KAAK,GAAG,CAAC,KAAS,EAAE,EAAE;IAC/B,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9C,OAAO,CACH,oBAAC,iBAAG,IAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrB,oBAAC,iBAAO,kBAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,IAAM,KAAK,EAAI,CAC9E,CACT,CAAC;AACN,CAAC,CAAC;AAPW,aAAK,SAOhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZF,wEAAuC;AACvC,4EAAuF;AACvF,mEAAwD;AACxD,iGAA0D;AAC1D,sHAA+G;AAC/G,6DAAmC;AAEnC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,sBAAO,EAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,0BAAW,EAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IAC1C,OAAO,qBAAM,EAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC;AAcF;;;;GAIG;AACI,MAAM,wBAAwB,GAAmC,SAAS,eAAe,CAAC,EAC7F,WAAW;AACX,SAAS;AACT,iBAAiB,EACjB,OAAO,EACP,MAAM,GACT;;IACG,MAAM,EACF,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,eAAe,GAC3B,GAAG,sCAAgB,EAAC;QACjB,SAAS,EAAE;YACP,SAAS,EAAE,aAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,0CAAE,QAAQ,EAAE;YAClC,KAAK,EAAE,CAAC;SACX;QACD,WAAW,EAAE,mBAAmB;KACnC,CAAC,CAAC;IAEH,2BAAc,EACV,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;;QACnB,0CAA0C;QAC1C,eAAe,CAAC,EAAE,SAAS,EAAE,aAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,0CAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAElE,OAAO,GAAG,EAAE;YACR,4CAA4C;YAC5C,+BAA+B;QACnC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CACT,CAAC;IAEF,MAAM,WAAW,GAAG,mBAAO,EAAC,GAAG,EAAE;;QAC7B,IAAI,CAAC,0BAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,0CAAE,IAAI,0CAAE,MAAM,GAAE;YACxC,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,cAAc,GAAG,mBAAO,EAC1B,GAAG,EAAE;;QACD,gCAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CACV,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,eAAC,gBAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,EAAE,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,KAAI,SAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,UAAU,KAAI,aAAa,IAAC,0CAC7F,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,CAAC,mCAAI,IAAI;KAAA,EAC1C,CAAC,WAAW,EAAE,OAAO,CAAC,CACzB,CAAC;IAEF,MAAM,KAAK,GAAG,mBAAO,EACjB,GAAG,EAAE;;QACD,uCAAc,aAAd,cAAc,uBAAd,cAAc,CACR,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,WAAC,eAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,IAAG,GAAG,IAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,oCAAI,EAAE,IAAC,0CACzD,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,0CACvB,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE;KAAA,EAC1B,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,OAAO,CACH,8BAAC,uBAAS,IACN,OAAO,EAAE,GAAG,EAAE,CAAC,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,MAAK,iBAAiB,IAAI,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE,KAAK,CAAC,EAC9E,WAAW,EAAE,GAAG,EAChB,YAAY,EAAE,EAAE,EAChB,WAAW,EAAE,UAAU,EACvB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE;YACH,WAAW,EAAE,cAAc;YAC3B,eAAe,EAAE,UAAU;SAC9B,EACD,IAAI,EAAE;YACF,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;SACjB,EACD,MAAM,EAAE;YACJ,eAAe,EAAE,SAAS;SAC7B;QAED,8BAAC,oBAAM;QACH,SAAS;QACT,SAAS;;YADT,SAAS;YACT,SAAS;YACT,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,CAAC,EACR,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,KAAK,EAChB,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,QAAQ;YAEpB,8BAAC,iBAAG,IAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;gBAC3C,8BAAC,oBAAM,CAAC,KAAK,IACT,OAAO,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,aAAa;qBACpB,IAEA,cAAc;oBACX,eAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,IAAG,CAAC;qBAC1B,oBAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,0CAAE,GAAG,CAAC,CAAC,EAAO,EAAE,CAAS,EAAE,EAAE;;wBAAC,QACrD,8BAAC,oBAAM,IACH,GAAG,EAAE,KAAK,GAAG,CAAC,EACd,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAChE,MAAM,EAAE;gCACJ,GAAG,EAAE,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO;6BACnB;4BAEA,sBAAS,EAAC,QAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,CAAC,CAAC;4BAClC,eAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,KAAI,CAAC,IAAI,CAC5B,8BAAC,oBAAM,CAAC,KAAK,IAAC,EAAE,EAAC,WAAW,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAI,CACzD,CACI,CACZ;qBAAA,CAAC,EACK,CACb;YACN,8BAAC,iBAAG,IAAC,IAAI,EAAE,GAAG;gBACV,8BAAC,oBAAM,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ;oBACvF,8BAAC,iBAAG,IAAC,IAAI,EAAE,GAAG;wBACV,8BAAC,kBAAI,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,UAAU,IACvE,KAAK,CACH;wBACP,8BAAC,kBAAI,IAAC,KAAK,EAAC,UAAU,EAAC,SAAS,EAAE,CAAC,IAC9B,iBAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,mCAAI,EAAE,CACxB,CACL;oBAEN,8BAAC,iBAAG,IAAC,IAAI,EAAE,GAAG;wBACV,8BAAC,kBAAI,IAAC,KAAK,EAAC,UAAU,IAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAQ,CACtF,CACD,CAgBP,CAID,CACD,CACf,CAAC;AACN,CAAC,CAAC;AAzJW,gCAAwB,4BAyJnC;AAEW,uBAAe,GAAG,eAAK,CAAC,IAAI,CAAC,gCAAwB,CAAC,CAAC;;;;;;;;;;;;;;;;AC3LpE,2EAAsC;AACtC,+EAAoG;AAEpG,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAC,SAAS,GAAC,KAAK,EAAC,UAAU,EAAC,YAAY,GAAC,IAAI,EAAK,EAAE,EAAE;IAEvF,OAAO,CACH,8BAAC,oBAAK,IACJ,aAAa,EAAC,OAAO;QACtB,qBAAqB;QACpB,OAAO,EAAE,SAAS,EAClB,iBAAiB,EAAE,YAAY,EAC/B,KAAK,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,EACf,cAAc,EAAE,GAAG,EAAE;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS;YAC7B,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU;gBAG5B,8BAAC,mBAAI,IAAC,KAAK,EAAE,EAAC,SAAS,EAAC,UAAU,EAAC,YAAY,EAAC,CAAC,EAAC;oBAChD,8BAAC,wBAAS,IACR,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;wBAChC,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,eAAe,QAAU,CACnC,CAAO,CAChB;YACP,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,IAC3B,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CACpC;YACP,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAEvB,CACA,CACD,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAC;QACT,IAAI,EAAC,CAAC;KACN;IACD,UAAU,EAAC;QACV,KAAK,EAAC,MAAM;QACZ,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAC,eAAe;QAC/B,sCAAsC;QACrC,eAAe,EAAC,MAAM;QACtB,UAAU,EAAC,EAAE;QACb,aAAa,EAAC,EAAE;KAChB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,OAAO;QAExB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV;QACD,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IACD,UAAU,EAAC;QACV,SAAS,EAAC,GAAG;QACb,eAAe,EAAC,MAAM;KACtB;IACD,SAAS,EAAE;QACT,IAAI,EAAC,CAAC;QACN,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV;QACD,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IACD,MAAM,EAAE;QACN,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC;KACb;IACD,UAAU,EAAE;QACV,eAAe,EAAE,SAAS;KAC3B;IACD,WAAW,EAAE;QACX,eAAe,EAAE,aAAa;KAC/B;IACD,SAAS,EAAE;QACT,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAC;QACd,KAAK,EAAE,MAAM;QACb,sBAAsB;QACtB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAC,EAAE;KACZ;IACD,SAAS,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC;AAEH,qBAAe,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AChHhC,+DAA+D;AAC/D,2EAA0B;AAC1B,+EAAkF;AAElF,mHAAkF;AAElF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,gCAAK,CAAC;AAExC,MAAqB,MAAO,SAAQ,eAAK,CAAC,SAAc;IAoBpD,YAAY,KAAU;QAClB,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,iBAAiB;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YAChC,MAAM,KAA0E,IAAI,CAAC,KAAK,EAApF,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,OAAoC,EAA/B,gBAAgB,cAArE,sDAAuE,CAAa,CAAC;YAC3F,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;aACzD;YACD,OAAO,CACH,8BAAC,sCAAW,oBACJ,gBAAgB,IACpB,SAAS,EAAE;oBACP,IAAI,EAAE;wBACF,MAAM,CAAC,YAAY;wBACnB,MAAM,CAAC,gBAAgB;wBACvB,gBAAgB,CAAC,SAAS;wBAC1B,gBAAgB;qBACnB;iBACJ,IACH,CACL,CAAC;SACL;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;QACd,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE;YACjC,MAAM,KAAyD,IAAI,CAAC,KAAK,EAAnE,EAAE,cAAc,EAAE,YAAY,OAAqC,EAAhC,iBAAiB,cAApD,kCAAsD,CAAa,CAAC;YAC1E,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;aAC3D;YACD,OAAO,CACH,8BAAC,+BAAgB,IAAC,OAAO,EAAE,GAAE,EAAE,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,cAAc,EAAC,IAAI,CAAC;gBAAE,8BAAC,mBAAI;oBAAC,8BAAC,uCAAY,oBAAK,iBAAiB,IAAE,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAO,CAAmB,CAC3O,CAAC;SACL;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SACjD;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACjD,OAAO,IAAI,CAAC;SACf;QACD,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,EAAE;YAChD,OAAO,CACH,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC5C,cAAc,CAAC,IAAI,IAAI,CACpB,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAU,CAClF;gBACA,cAAc,CAAC,QAAQ,IAAI,CACxB,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAU,CAClF,CACE,CACV,CAAC;SACL;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACrD,IAAI,QAAQ,EAAE;YACV,MAAM,KAAqD,IAAI,CAAC,KAAK,EAA/D,EAAE,cAAc,EAAE,YAAY,OAAiC,EAA5B,aAAa,cAAhD,kCAAkD,CAAa,CAAC;YACtE,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;aACnD;YACD,OAAO,CACH,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAC3F,QAAQ,CACN,CACV,CAAC;SACL;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;YACrC,MAAM,KAAsD,IAAI,CAAC,KAAK,EAAhE,EAAE,cAAc,EAAE,YAAY,OAAkC,EAA7B,SAAS,cAA5C,kCAA8C,CAAkB,CAAC;YACvE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACvB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aAC3C;YACD,OAAO,CACH,8BAAC,+BAAI,oBACG,SAAS,IACb,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAChD,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;iBACnF,IACH,CACL,CAAC;SACL;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,MAAM,YAAY,GACd,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACjE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxC,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU;YACzB,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,WAAW,EAAE,CAChB,CACV,CAAC;QAEF,OAAO,CACH,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACtD,8BAAC,+BAAgB,kBAAC,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAC,MAAM,IAAK,IAAI,CAAC,KAAK,CAAC,cAAc;gBACtF,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;oBAClD,8BAAC,mBAAI;wBACA,IAAI,CAAC,gBAAgB,EAAE;wBACvB,aAAa;wBACb,IAAI,CAAC,kBAAkB,EAAE;wBACzB,IAAI,CAAC,iBAAiB,EAAE,CACtB,CACJ,CACQ,CAChB,CACV,CAAC;IACN,CAAC;CACJ;AAzJD,4BAyJC;AAED,0EAA0E;AAC1E,2DAA2D;AAC3D,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC7B,YAAY,EAAE;QACV,QAAQ,EAAE,EAAE;KACf;IACD,gBAAgB,EAAE;QACd,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;KACjB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,YAAY;KAC3B;IACD,OAAO,EAAE;QACL,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,YAAY;KAC/B;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,MAAM;QAClB,GAAG,EAAE,CAAC;QACN,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;KACf;IACD,IAAI,EAAE;QACF,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,EAAE;KACf;IACD,aAAa,EAAE;QACX,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;KAClB;IACD,UAAU,EAAE;QACR,WAAW,EAAE,EAAE;KAClB;IACD,UAAU,EAAE;QACR,qDAAqD;QACrD,SAAS,EAAE,uBAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,UAAU;KACzB;IACD,mDAAmD;IACnD,IAAI,EAAE;QACF,eAAe,EAAE,aAAa;QAC9B,KAAK,EAAE,OAAO;KACjB;IACD,kDAAkD;IAClD,QAAQ,EAAE;QACN,aAAa,EAAE,KAAK;KACvB;IACD,UAAU,EAAE;QACR,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;KACjB;CACJ,CAAC,CAAC;AAEH,0BAA0B;AAC1B,mCAAmC;AACnC,KAAK;AAEL,MAAM,CAAC,YAAY,GAAG;IAClB,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACd;IACD,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;IACb,oBAAoB,EAAE,EAAE;IACxB,wBAAwB,EAAE,EAAE;IAC5B,iBAAiB,EAAC,KAAK;IACvB,cAAc,EAAC,CAAC,GAAO,EAAC,CAAS,EAAE,EAAE,CAAC,IAAI;CAC7C,CAAC;;;;;;;;;;;;ACvPF,+DAA+D;;;;;;;;;;;;;;;;AAG/D,2EAA0B;AAC1B,+EAA+D;AAE/D,mHAA8D;AAC9D,wJAAmC;AAEnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,gCAAK,CAAC;AAExC,MAAqB,OAAQ,SAAQ,eAAK,CAAC,SAAc;IAarD,sBAAsB;QAClB,MAAM,KAA+B,IAAI,CAAC,KAAK,EAAzC,EAAE,cAAc,OAAyB,EAApB,KAAK,cAA1B,kBAA4B,CAAa,CAAC;QAChD,uCACO,KAAK,KACR,QAAQ,EAAE,MAAM,EAChB,UAAU;YACV,SAAS,IACX;IACN,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACtB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aACzC;YACD,OAAO,8BAAC,8BAAG,oBAAK,QAAQ,EAAI,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY;QACR,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,OAAO,8BAAC,qBAAM,oBAAK,WAAW,IAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC;IACnI,CAAC;IAED,YAAY;QACR,IAAI,UAAe,CAAC;QACpB,IACI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACjE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAClE;YACE,0EAA0E;YAC1E,UAAU,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SAC9B;QAED,MAAM,WAAW,GAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvD,OAAO,CACH,8BAAC,iCAAM,oBACC,WAAW,IACf,yBAAyB,EAAE,IAAI,EAC/B,UAAU,EAAE;gBACR,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC;aACjE,IACH,CACL,CAAC;IACN,CAAC;IAED,MAAM;QACF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5F,OAAO,CACH,8BAAC,mBAAI;YACA,IAAI,CAAC,SAAS,EAAE;YACjB,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBACvE,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE,CACjB,CACJ,CACV,CAAC;IACN,CAAC;CACJ;AA7ED,6BA6EC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC7B,SAAS,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,YAAY;QAC5B,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;KACjB;IACD,WAAW,EAAE;QACT,yEAAyE;QACzE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACf;CACJ,CAAC,CAAC;AAEH,OAAO,CAAC,YAAY,GAAG;IACnB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAC,KAAK;IACvB,cAAc,EAAC,CAAC,GAAO,EAAC,CAAS,EAAE,EAAE,CAAC,IAAI;CAC7C,CAAC;;;;;;;;;;;;;;;;;ACtHF,2JAA0C;AAEjC,uBAFF,sBAAY,CAEE;AADrB,uKAAkD;AAC3B,2BADhB,0BAAgB,CACgB;;;;;;;;;;;;;;ACFvC,gEAA6C;AAEhC,cAAM,GAAG,sBAAQ,EAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;IAC9D,iBAAiB,EAAE,iBAAG,EAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACvD,iBAAiB,EAAE,iBAAG,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACvC,kBAAkB,EAAE,iBAAG,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACzD,mBAAmB,EAAE,iBAAG,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;IACvE,0BAA0B,EAAE,iBAAG,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACvD,iCAAiC,EAAE,iBAAG,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3D,yBAAyB,EAAE,iBAAG,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;CACtD,CAAC,CAAC;;;;;;;;;;;;;;ACVH,2FAAkC;AAAzB,uGAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,wEAAyE;AACzE,4EAA6G;AAC7G,+EAAwC;AACxC,iGAAyE;AACzE,4EAA0C;AAC1C,6DAAyC;AACzC,oGAAiD;AACjD,gEAAyC;AACzC,2FAAsE;AACtE,mHAA4F;AAC5F,sHAOwC;AAExC,6FAAmC;AACnC,8HAAiE;AACjE,gKAAqF;AAErF,MAAM,EACF,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,iCAAiC,EACjC,yBAAyB,GAC5B,GAAG,eAAM,CAAC;AAiBX,MAAM,yBAAyB,GAAG,CAAC,EAAE,SAAS,EAAO,EAAE,EAAE;;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,oBAAQ,EAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,oBAAQ,EAAM,EAAE,CAAC,CAAC;IAChE,MAAM,IAAI,GAAQ,6BAAW,EAAC,gCAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,oBAAQ,EAAM,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,oBAAQ,EAAS,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,oBAAQ,EAAC,KAAK,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,mCAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,qDAAqD;IACrD,MAAM,UAAU,GAAG,0BAAa,GAAO,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,oBAAQ,EAAS,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,oBAAQ,EAA0B,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,oBAAQ,EAAS,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,oBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,oBAAQ,EAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,oBAAQ,EAAQ,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG,oBAAQ,EAAU,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,oBAAQ,EAAM,EAAE,CAAC,CAAC;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,0CAAoB,GAAE,CAAC;IAE/C,MAAM,CAAC,OAAO,CAAC,GAAG,6CAAuB,GAAE,CAAC;IAE5C,MAAM,EACF,IAAI,EACJ,OAAO,EAAE,cAAc,EACvB,OAAO,GACV,GAAQ,sCAAgB,EAAC;QACtB,SAAS,EAAE;YACP,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;YAChC,KAAK,EAAE,iBAAiB;SAC3B;QACD,IAAI,EAAE,CAAC,SAAS;QAChB,WAAW,EAAE,mBAAmB;KACnC,CAAC,CAAC;IAEH,MAAM,EACF,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,oBAAoB,GAChC,GAAG,+CAAyB,EAAC;QAC1B,SAAS,EAAE;YACP,EAAE,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;SAC5B;KACJ,CAAC,CAAC;IAEH,iDAAiD;IAEjD,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAQ,iDAA2B,EAAC;QAChE,SAAS,EAAE;YACP,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;SACnC;QACD,IAAI,EAAE,CAAC,SAAS;QAChB,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,2BAAc,EACV,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnB,0CAA0C;QAC1C,oBAAoB,CAAC,EAAE,EAAE,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC;YACJ,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;YAChC,KAAK,EAAE,iBAAiB;SAC3B,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,IAAI,CAAC,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,GAAE;gBACjB,OAAO;aACV;YACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAQ,IAAI,CAAC,QAAQ,CAAC;YAC1D,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,kBAAkB,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,mBAAM,EAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACR,4CAA4C;YAC5C,+BAA+B;YAC/B,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CACT,CAAC;IAEF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACjB,IAAI,0BAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,0CAAE,OAAO,0CAAE,MAAM,EAAE;YACpD,MAAM,WAAW,GACb,gCAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,0CAAE,OAAO,0CAAE,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,WAAC,gBAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,EAAE,MAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,KAAC,mCAAI,EAAE,CAAC;YACpG,MAAM,MAAM,GACR,6BAAW,aAAX,WAAW,uBAAX,WAAW,CACL,GAAG,CACD,CAAC,CAAM,EAAE,EAAE;;gBACP,gCAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAE,MAAM,0CACT,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,EAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,KAAI,yBAAyB,CAAC,0CACxD,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAC,mCAAI,EAAE;aAAA,CAC9C,0CACC,IAAI,CAAC,CAAC,CAAC,0CACP,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;YAEtC,IAAI,OAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,IAAG,CAAC;gBAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACjD;IACL,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,aAAa;YAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,+BAA+B;IAC/B,2FAA2F;IAC3F,qBAAqB;IACrB,KAAK;IAEL,oBAAoB;IACpB,0FAA0F;IAC1F,oFAAoF;IACpF,iDAAiD;IACjD,+GAA+G;IAC/G,YAAY;IACZ,oFAAoF;IACpF,QAAQ;IACR,mDAAmD;IAEnD,qBAAS,EAAC,GAAG,EAAE;;QACX,IAAI,UAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,IAAI,EAAE;YACtB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;gBACzF,kBAAkB,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,mBAAM,EAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChG,qBAAqB,CAAC,KAAK,CAAC,CAAC;aAChC;YACD,IAAI,UAAU,KAAK,kBAAkB;gBAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;SAC5E;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,oBAAoB;IACpB,kCAAkC;IAClC,oFAAoF;IACpF,8DAA8D;IAC9D,8CAA8C;IAC9C,iDAAiD;IACjD,+GAA+G;IAC/G,YAAY;IACZ,oFAAoF;IACpF,QAAQ;IACR,cAAc;IAEd,oBAAoB;IACpB,iEAAiE;IACjE,2FAA2F;IAC3F,oBAAoB;IACpB,0CAA0C;IAC1C,kCAAkC;IAClC,qCAAqC;IACrC,0BAA0B;IAC1B,gBAAgB;IAChB,wEAAwE;IACxE,yCAAyC;IACzC,8GAA8G;IAC9G,cAAc;IACd,QAAQ;IACR,sCAAsC;IAEtC,qBAAS,EAAC,GAAG,EAAE;;QACX,IAAI,uBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,UAAU,IAAG,UAAU,EAAE;YACrD,MAAM,mBAAmB,GAAG,uBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,UAAU,IAAG,UAAU,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC;gBACJ,KAAK,EAAE,mBAAmB;aAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBACjB,IAAI,CAAC,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,GAAE;oBACjB,OAAO;iBACV;gBACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAQ,IAAI,CAAC,QAAQ,CAAC;gBAC1D,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,kBAAkB,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,mBAAM,EAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;SACN;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,yCAAyC;IACzC,mEAAmE;IACnE,mEAAmE;IACnE,+CAA+C;IAC/C,uCAAuC;IACvC,qDAAqD;IACrD,QAAQ;IACR,+BAA+B;IAE/B,6BAA6B;IAC7B,oEAAoE;IACpE,oEAAoE;IACpE,gDAAgD;IAChD,wCAAwC;IACxC,sDAAsD;IACtD,SAAS;IACT,MAAM;IAEN,MAAM,UAAU,GAAG,uBAAW,EAAC,GAAG,EAAE;;QAChC,IAAI,WAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,UAAU,IAAG,eAAe,CAAC,MAAM,EAAE;YACrD,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5B,6BAA6B;IAC7B,gDAAgD;IAChD,+CAA+C;IAC/C,mEAAmE;IACnE,wCAAwC;IACxC,qBAAqB;IACrB,2CAA2C;IAC3C,eAAe;IACf,SAAS;IACT,MAAM;IAEN,gFAAgF;IAChF,uDAAuD;IACvD,KAAK;IAEL,MAAM,YAAY,GAAG,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;QACvE,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,YAAY,IAAI,aAAa,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,OAAY,EAAE,QAAa,EAAE,EAAE;QAClD,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EACxB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACjC,IAAI,GAAG,oBAAI,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACnB,CAAC,GAAG,IAAI,CAAC,MAAM,EACf,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,EAAE;YACR,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,WAAW,GAAQ,MAAM,WAAW,CAAC,uBAAuB,CAAC;YAC7D,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM;YAC/C,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YACxB,MAAM,KAAK,GAAG,yBAAyB,IAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC;YAC9D,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YACpD,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAoC,CAAC,CAAC,CAAC;SAC9E;QACD,IAAI,WAAW,CAAC,SAAS;YAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,IAAS,EAAE,EAAO,EAAE,EAAE;QAC7E,KAAK,CAAC,uCAAuC,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,MAAM,EAAE,kBAAkB;gBAC1B,iBAAiB,EAAE,eAAe;gBAClC,cAAc,EAAE,kBAAkB;aACrC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,uBAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACtD,CAAC;SACL,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,kCAAkC;IAClC,mCAAmC;IACnC,4CAA4C;IAC5C,yBAAyB;IACzB,eAAe;IAEf,kCAAkC;IAClC,wEAAwE;IAExE,4BAA4B;IAC5B,2CAA2C;IAC3C,2BAA2B;IAC3B,6BAA6B;IAC7B,oCAAoC;IACpC,iBAAiB;IACjB,qDAAqD;IACrD,yCAAyC;IACzC,yCAAyC;IACzC,8BAA8B;IAC9B,oBAAoB;IACpB,sFAAsF;IACtF,+CAA+C;IAC/C,qDAAqD;IACrD,qCAAqC;IACrC,gHAAgH;IAChH,gDAAgD;IAChD,kDAAkD;IAClD,sDAAsD;IACtD,+DAA+D;IAC/D,gDAAgD;IAChD,qBAAqB;IACrB,qEAAqE;IACrE,gDAAgD;IAChD,gFAAgF;IAEhF,+EAA+E;IAC/E,oBAAoB;IAEpB,8BAA8B;IAC9B,iBAAiB;IACjB,cAAc;IACd,sEAAsE;IACtE,uDAAuD;IACvD,gCAAgC;IAChC,yDAAyD;IACzD,gCAAgC;IAChC,sCAAsC;IACtC,mCAAmC;IACnC,kCAAkC;IAClC,yBAAyB;IACzB,qBAAqB;IACrB,sCAAsC;IACtC,mCAAmC;IACnC,kCAAkC;IAClC,yBAAyB;IACzB,qBAAqB;IACrB,kBAAkB;IAClB,4DAA4D;IAC5D,mFAAmF;IACnF,yCAAyC;IACzC,gCAAgC;IAChC,gCAAgC;IAChC,iCAAiC;IACjC,qCAAqC;IACrC,gBAAgB;IAChB,+CAA+C;IAC/C,8CAA8C;IAC9C,mDAAmD;IACnD,mCAAmC;IACnC,0CAA0C;IAC1C,uCAAuC;IACvC,oEAAoE;IACpE,uDAAuD;IACvD,iCAAiC;IACjC,6BAA6B;IAC7B,wBAAwB;IACxB,sCAAsC;IACtC,sBAAsB;IACtB,iBAAiB;IACjB,YAAY;IACZ,SAAS;IACT,uEAAuE;IACvE,KAAK;IAEL,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAE7D,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;YAC3B,SAAS,EAAE;gBACP,SAAS;gBACT,OAAO,EAAE,OAAO;aACnB;YACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAO,EAAE,EAAE;;gBACrC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;oBACjB,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClB,OAAO;iBACV;gBACD,kBAAkB,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,CAAC,CAAC;gBACxE,aAAa,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjC,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAClC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,CAAC,EAAE,CAAC,CAAC;gBACX,MAAM,SAAS,GAAG,UAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,mCAAI,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,UAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,KAAK,GAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;gBAClF,MAAM,IAAI,GAAW,OAAO,CAAC;gBAC7B,MAAM,gBAAgB,GAAQ;oBAC1B,GAAG,EAAE,eAAM,CAAC,kBAAkB;oBAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;oBACvC,MAAM,EAAE,gBAAgB;iBAC3B,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnD,IAAI,WAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,IAAG,CAAC,EAAE;oBACxB,MAAM,EAAE,GAAQ,WAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEzD,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;iBAC3D;YACL,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAI,UAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,0CAAE,EAAE,GAAE;YACtD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YACxC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC;gBACrC,IAAI,EAAE,MAAM;gBACZ,gBAAgB,EAAE;oBACd,SAAS,EAAE;wBACP,MAAM;qBACT;iBACJ;gBACD,gBAAgB,EAAE;oBACd,SAAS,EAAE;wBACP,MAAM;qBACT;iBACJ;aACJ,CAAC,CAAC;YACH,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,cAAc,CAAC,IAA8B,CAAC;YACpE,IAAI,cAAc,CAAC,IAAI,EAAE;gBACrB,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACb,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACb,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;aACrB;YACD,kBAAkB,CAAC,CAAC,QAAa,EAAE,EAAE,CACjC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;gBAC1B,IAAI,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE;oBACvB,uCACO,OAAO,KACV,KAAK,EAAE;4BACH,UAAU,EAAE,aAAa,CAAC,MAAM;4BAChC,IAAI,EAAE,aAAa;yBACtB,IACH;iBACL;gBACD,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CACL,CAAC;SACL;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,mBAAO,EAAC,GAAG,EAAE;QAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,IAAI,eAAe,CAAC,MAAM,EAAE;YACxB,oBAAO,EAAC,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;gBAC1D,IAAI,OAAO,GAAkB;oBACzB,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,CAAC;oBACZ,IAAI,EAAE;wBACF,GAAG,EAAE,EAAE;wBACP,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,EAAE;qBACb;oBACD,IAAI,EAAE,EAAE;iBACX,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC3B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,CAAC,OAAO,CAAC,IAAI,GAAG;oBACZ,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;oBAClB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU;oBACxD,MAAM,EAAE,SAAG,CAAC,MAAM,0CAAE,OAAO;iBAC9B,CAAC;oBACE,CAAC,OAAO,CAAC,KAAK,GAAG,eAAG,CAAC,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;oBACzC,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC;oBACjC,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC;gBACzB,OAAO,CAAC,kBAAkB,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,kBAAkB,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACN;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE;QACzB,OAAO,CACH,8BAAC,+BAAI,oBAAK,KAAK;YACX,8BAAC,iBAAG;gBACA,8BAAC,qCAAsB,IACnB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAC1C,IAAI,EAAE,EAAE,EACR,KAAK,EAAC,SAAS,GACjB,CACA,CACH,CACV,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE;;QACrC,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,MAAM,UAAU,GAAG,0BAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,QAAQ,0CAAE,UAAU,CAAC;YAC5E,IAAI,MAAM,GAAW,EAAE,CAAC;YACxB,IAAI,QAAQ,GAAQ,EAAE,CAAC;YACvB,IAAI,sBAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,0CAAE,IAAI,0CAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE;gBACpE,MAAM,GAAG,mBAAmB,CAAC;gBAC7B,QAAQ,GAAG,gBAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,0CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;aAC9D;YACD,4EAA4E;YAC5E,uCAAuC;YACvC,kEAAkE;YAClE,IAAI;YACJ,OAAO,CACH,8BAAC,iBAAG,IAAC,EAAE,EAAE,0BAA0B,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACvD,WAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,EAAC,CAAC,CAAC,CACxB,8BAAC,oBAAM,IACH,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,iCAAiC,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;oBAEvE,8BAAC,kBAAI,IAAC,KAAK,EAAE,yBAAyB,IAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAQ,CACzE,CACZ,CAAC,CAAC,CAAC,IAAI;gBACR,8BAAC,sCAAW,oBACJ,KAAK,IACT,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE,IAChG,CACA,CACT,CAAC;SACL;aAAM;YACH,OAAO,8BAAC,sCAAW,oBAAK,KAAK,IAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC;SAC7E;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;QAC5B,OAAO,CACH,8BAAC,kCAAO,oBACA,KAAK,IACT,IAAI,EAAE,GAAG,EAAE,CAAC,8BAAC,kBAAI,IAAC,EAAE,EAAE,uBAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAI,IACxG,CACL,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE;QAC9B,OAAO,CACH,8BAAC,iBAAG,QACC,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,CACpB,8BAAC,oBAAM,IAAC,UAAU,EAAE,QAAQ;YACxB,8BAAC,mBAAK,IAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI;YAC9F,8BAAC,oBAAM,IACH,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EAAE;oBACV,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACb,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACb,SAAS,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC,aAGI,CACJ,CACZ,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,GAAQ,EAAE,CAAU,EAAE,EAAE;QAClD,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,cAAc,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC,WAAW;YAAE,OAAO,6DAAK,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAC9B,OAAO,8BAAC,mBAAK,IAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,GAAI,CAAC;IAC9F,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;QACjC,UAAU;QACV,0CAA0C;QAC1C,aAAa;QAEb,4BAA4B;QAE5B,0DAA0D;QAC1D,4DAA4D;QAC5D,yBAAyB;QACzB,oBAAoB;QACpB,+FAA+F;QAC/F,uDAAuD;QACvD,MAAM;QACN,IAAI;QAEJ,0EAA0E;QAC1E,OAAO,8BAAC,oCAAY,oBAAK,KAAK,IAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,IAAI,CAAC;IACnH,CAAC,CAAC;IAEF,OAAO,CACH,8BAAC,qCAAU,IACP,cAAc,EAAE,KAAK,EACrB,aAAa,EAAE,GAAG,EAAE,CAAC,8BAAC,qBAAO,OAAG,EAChC,QAAQ,EAAE,WAAW;QACrB,mBAAmB;QACnB,gCAAgC;QAChC,6DAA6D;QAC7D,iEAAiE;QACjE,wBAAwB;QACxB,UAAU;QACV,QAAQ;QACR,OAAO;QACP,0BAA0B;QAC1B,4CAA4C;QAC5C,KAAK;QACL,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,eAAC,iBAAU,CAAC,oBAAQ,CAAC,CAAC,CAAC,0CAAE,IAAI,mCAAI,GAAG,CAAC,KAC1D,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACrB,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAAC,qBAAO,OAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,8BAAC,qBAAO,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7E,cAAc,QACd,IAAI,EAAE;YACF,8BAA8B;YAC9B,GAAG,EAAE,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,KAAI,EAAE;SACtB,EACD,QAAQ,EAAE,IAAI,EACd,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACtC,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,IAAI,EACpB,UAAU,EAAE,UAAU;QACtB,oEAAoE;QACpE,qEAAqE;QACrE,oDAAoD;QACpD,WAAW,EAAE,WAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,UAAU,IAAG,eAAe,CAAC,MAAM,EAChE,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,EAAE,EACzB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,GAAG,EAAE,CAAC,CACpB,8BAAC,wCAAgB,IACb,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,YAAY,GAC5B,CACL,EACD,aAAa,EAAE;YACX,aAAa,EAAE,aAAa;YAC5B,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACjD,QAAQ,EAAE,IAAI;SACjB,GACH,CACL,CAAC;AACN,CAAC,CAAC;AAEW,wBAAgB,GAAG,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5qBtE,wEAAyE;AACzE,4EAAgF;AAChF,2FAA8C;AAC9C,4EAAuD;AACvD,iGAAiG;AAEjG,yIAAgE;AAChE,sHAA2E;AAC3E,8HAAiE;AACjE,yFAA8D;AAC9D,6FAAmC;AAOlC,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE;IAC5C,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,qBAAQ,GAAO,CAAC;IACnC,MAAM,IAAI,GAAG,6BAAW,EAAC,gCAAY,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,6BAAW,GAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,0BAAa,GAAO,CAAC;IACxC,MAAM,SAAS,GAAG,yBAAY,GAAE,CAAC;IACjC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,oBAAQ,EAAM,EAAE,CAAC,CAAC;IAEpE,MAAM,EACF,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,kBAAkB,GAC9B,GAAG,+CAAyB,EAAC;QAC1B,SAAS,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,cAAc;SAC3B;KACJ,CAAC,CAAC;IAEH,2BAAc,EACV,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnB,0CAA0C;QAC1C,kBAAkB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QAEpE,OAAO,GAAG,EAAE;YACR,4CAA4C;YAC5C,+BAA+B;QACnC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CACvB,CAAC;IAEF,qBAAS,EAAC,GAAG,EAAE;QACX,UAAU,CAAC,GAAG,EAAE;YACZ,QAAQ,CAAC;gBACL,IAAI,EAAE,+BAAsB;gBAC5B,OAAO,EAAE;oBACL,YAAY,EAAE,KAAK;iBACtB;aACG,CAAC,CAAC;QACd,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC;gBACL,IAAI,EAAE,+BAAsB;gBAC5B,OAAO,EAAE;oBACL,YAAY,EAAE,IAAI;iBACrB;aACG,CAAC,CAAC;QACd,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,qBAAS,EAAC,GAAG,EAAE;;QACX,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE;YAC9B,gBAAgB;YAChB,IAAI,kBAAkB,GAClB,8BAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,0CACtB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,0CACtC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,WAAC,eAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAE,EAAE,MAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,KAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,IAAC,CAC5F,mCAAI,EAAE,CAAC;YAEhB,IAAI,mBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,IAAG,CAAC;gBAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;SAChF;IACL,CAAC,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,CAAC,CAAC,CAAC;IAEnC,MAAM,mBAAmB,GAAG,uBAAW,EAAC,CAAC,EAAO,EAAE,KAAU,EAAE,EAAE;;QAC5D,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE;YACnB,UAAU,CAAC,QAAQ,CAAC,eAAM,CAAC,kBAAyB,EAAE;gBAClD,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS;gBAC5B,KAAK,EAAE,YAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,IAAI;gBAC5B,UAAU,EAAE,IAAI;aACnB,CAAC,CAAC;SACN;aAAM;YACH,UAAU,CAAC,QAAQ,CAAC,eAAM,CAAC,kBAAyB,EAAE;gBAClD,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,IAAI;aACnB,CAAC,CAAC;SACN;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,8BAAC,iBAAG,IAAC,CAAC,EAAE,CAAC;QACL,8BAAC,sBAAQ,IACL,IAAI,EAAE,kBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC5D,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,mBAAmB,EAC/B,qBAAqB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAC5C,sBAAsB,EAAE,GAAG,EAAE,CAAC,8BAAC,iBAAG,IAAC,MAAM,EAAC,KAAK,EAAC,eAAe,EAAC,UAAU,GAAG,EAC7E,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC/B,8BAAC,iCAAe,IACZ,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,GACtC,CACL,EACD,kBAAkB,EAAE,GAAG,EAAE,CAAC,CACtB,8BAAC,iBAAG,IAAC,CAAC,EAAE,CAAC;gBACL,8BAAC,qBAAO,eAAe;gBACvB,8BAAC,mBAAK,IACF,MAAM,EAAE,EAAE,EACV,EAAE,EAAE,CAAC,EACL,WAAW,EAAC,QAAQ,EACpB,YAAY,EAAE,EAAE,EAChB,WAAW,EAAE,UAAU,EACvB,WAAW,EAAE,CAAC,GAChB;gBACF,8BAAC,oBAAM,IAAC,EAAE,EAAE,CAAC;oBACT,8BAAC,kBAAI,IAAC,EAAE,EAAE,uBAAQ,EAAE,IAAI,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,GAAI;oBACrD,8BAAC,kBAAI,2CAAwC,CACxC,CACP,CACT,EACD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,GAC9C,CACA,CACT,CAAC;AACN,CAAC,CAAC;AAEW,eAAO,GAAG,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzIpD,iGAA8B;AAC9B,mHAAuC;;;;;;;;;;;ACDvC;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;UEtBA;UACA;UACA;UACA","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/Inbox.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/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/index.ts","webpack://@messenger-box/platform-mobile/external commonjs \"@admin-layout/client\"","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/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-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 { 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 },\n component: (props: any) => <DialogMessages {...props} channelId={props?.route?.params?.channelId} />,\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 }) {\n return (\n <Box bg={'white'} flex={1} pt={5}>\n <ConversationView channelId={channelId} />\n </Box>\n );\n}","import * as React from 'react';\nimport { Box } from 'native-base';\n\nimport { Dialogs } from './containers/Dialogs';\n\nexport const Inbox = (props:any) => {\n const { channelFilters, channelRole } = props;\n return (\n <Box bg={'white'} flex={1}>\n <Dialogs channelFilters={channelFilters} channelRole={channelRole} {...props} />\n </Box>\n );\n};\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 { IChannel, IUserAccount, useMessagesQuery, useUserAccountQuery } 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 {\n data: messagesQuery,\n loading: messageLoading,\n refetch: refetchMessages,\n } = useMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n limit: 1,\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: 1 });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const lastMessage = useMemo(() => {\n if (!messagesQuery?.messages?.data?.length) {\n return null;\n }\n const { data } = messagesQuery.messages;\n return data[data.length - 1];\n }, [messagesQuery]);\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 {/* <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\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, View, Platform } from 'react-native';\n\nimport { MessageText, MessageImage, Time, utils } from 'react-native-gifted-chat';\n\nconst { isSameUser, isSameDay } = utils;\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 return (\n <TouchableOpacity onPress={()=>this.props.setImageViewer(messageImageProps?.currentMessage,true)}><Text><MessageImage {...messageImageProps} imageStyle={[styles.slackImage, messageImageProps.imageStyle]} /></Text></TouchableOpacity>\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 <TouchableOpacity 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 </TouchableOpacity>\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, ViewPropTypes, StyleSheet } from 'react-native';\n\nimport { Avatar, Day, utils } from 'react-native-gifted-chat';\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 <Bubble {...bubbleProps} isShowImageViewer={this.props.isShowImageViewer} setImageViewer={this.props.setImageViewer} />;\n }\n\n renderAvatar() {\n let extraStyle: any;\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 }\n\n const avatarProps: any = this.getInnerComponentProps();\n return (\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 },\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 { cleanEnv, num, str } from 'envalid';\n\nexport const config = cleanEnv(process['APP_ENV'] || process.env, {\n MESSAGES_PER_PAGE: num({ devDefault: 10, default: 20 }),\n FILES_PER_MESSAGE: num({ default: 10 }),\n INBOX_MESSEGE_PATH: str({ default: 'MainStack.Message' }),\n CALL_TO_ACTION_PATH: str({ default: 'MainStack.MyReservationDetails' }),\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, useState } from 'react';\nimport { Box, Button, HStack, Icon, Image, Spinner, Text, useColorModeValue, ScrollView } from 'native-base';\nimport { Platform } from 'react-native';\nimport { useNavigation, useFocusEffect } from '@react-navigation/native';\nimport { useSelector } from 'react-redux';\nimport { orderBy, 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 useCheckForNewMessagesQuery,\n useGetAllUsersQuery,\n useMessagesQuery,\n useSendMessagesMutation,\n useViewChannelDetailQuery,\n useUploadFilesNative,\n} from '@messenger-box/platform-client';\nimport { IFileInfo } from '@messenger-box/core';\nimport { config } from '../config';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { SlackMessage, ImageViewerModal } from '../components/SlackMessageContainer';\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\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\nconst ConversationViewComponent = ({ channelId }: 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(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\n const { startUpload } = useUploadFilesNative();\n\n const [sendMsg] = useSendMessagesMutation();\n\n const {\n data,\n loading: messageLoading,\n refetch,\n }: any = useMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n limit: MESSAGES_PER_PAGE,\n },\n skip: !channelId,\n fetchPolicy: 'cache-and-network',\n });\n\n const {\n data: channelsDetail,\n loading: channelLoading,\n refetch: refetchChannelDetail,\n } = useViewChannelDetailQuery({\n variables: {\n id: channelId?.toString(),\n },\n });\n\n // const { data: users } = useGetAllUsersQuery();\n\n const { data: checkForMessages }: any = useCheckForNewMessagesQuery({\n variables: {\n channelId: channelId?.toString(),\n },\n skip: !channelId,\n fetchPolicy: 'network-only',\n pollInterval: 5000,\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n refetchChannelDetail({ id: channelId?.toString() });\n refetch({\n channelId: channelId?.toString(),\n limit: MESSAGES_PER_PAGE,\n }).then(({ data }) => {\n if (!data?.messages) {\n return;\n }\n const { data: messages, totalCount }: any = data.messages;\n setTotalCount(totalCount);\n setChannelMessages((oldMessages: any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setTotalCount(0);\n setChannelMessages([]);\n };\n }, []),\n );\n\n React.useEffect(() => {\n if (channelsDetail?.viewChannelDetail?.members?.length) {\n const channelData: any =\n channelsDetail?.viewChannelDetail?.members?.filter((mu: any) => mu?.user?.id != auth?.id) ?? [];\n const tokens: any =\n channelData\n ?.map(\n (u: any) =>\n u?.user?.tokens\n ?.filter((t: any) => t?.type == 'EXPO_NOTIFICATION_TOKEN')\n ?.map((et: any) => et?.token) ?? [],\n )\n ?.flat(1)\n ?.filter((t: any) => t) ?? [];\n\n if (tokens?.length > 0) setExpoTokens(tokens);\n }\n }, [channelsDetail]);\n\n React.useEffect(() => {\n if (selectedImage) setImageLoading(false);\n }, [selectedImage]);\n\n // const currentUser = useMemo(\n // () => users?.getUsers?.find(({ alias }: any) => alias?.includes(auth?.auth0UserId)),\n // [users, auth],\n // );\n\n // useEffect(() => {\n // if (data?.messages?.data && (loadingOldMessages || channelMessages.length === 0)) {\n // const { data: messages, totalCount: messeageTotalCount } = data.messages;\n // if (messages && messages.length > 0) {\n // setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n // }\n // if (totalCount !== messeageTotalCount) setTotalCount(messeageTotalCount);\n // }\n // }, [data, loadingOldMessages, channelMessages]);\n\n useEffect(() => {\n if (data?.messages?.data) {\n const { data: messages, totalCount: messeageTotalCount } = data.messages;\n if (messages && messages.length > 0 && (loadingOldMessages || channelMessages.length === 0)) {\n setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n setLoadingOldMessages(false);\n }\n if (totalCount !== messeageTotalCount) setTotalCount(messeageTotalCount);\n }\n }, [data]);\n\n // useEffect(() => {\n // if (data?.messages?.data) {\n // const { data: messages, totalCount: messeageTotalCount } = data.messages;\n // console.log('messeageTotalCount',messeageTotalCount)\n // console.log('totalCount',totalCount)\n // if (messages && messages.length > 0) {\n // setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));\n // }\n // if (totalCount !== messeageTotalCount) setTotalCount(messeageTotalCount);\n // }\n // }, [data]);\n\n // useEffect(() => {\n // if (checkForMessages?.messages?.totalCount > totalCount) {\n // const numberOfNewMessages = checkForMessages?.messages?.totalCount - totalCount;\n // refetch({\n // limit: numberOfNewMessages,\n // }).then(({ data }) => {\n // if (!data?.messages) {\n // return;\n // }\n // const { data: messages, totalCount }:any = data.messages;\n // setTotalCount(totalCount);\n // setChannelMessages((oldMessages:any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));\n // });\n // }\n // }, [checkForMessages, totalCount]);\n\n useEffect(() => {\n if (checkForMessages?.messages?.totalCount > totalCount) {\n const numberOfNewMessages = checkForMessages?.messages?.totalCount - totalCount;\n console.log('new msg check');\n refetch({\n limit: numberOfNewMessages,\n }).then(({ data }) => {\n if (!data?.messages) {\n return;\n }\n const { data: messages, totalCount }: any = data.messages;\n setTotalCount(totalCount);\n setChannelMessages((oldMessages: any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));\n });\n }\n }, [checkForMessages, totalCount]);\n\n // const onFetchOld = useCallback(() => {\n // // if (data?.messages?.totalCount > channelMessages.length) {\n // //if(channelMessages.length !== data?.messages?.totalCount){\n // if(totalCount > channelMessages.length){\n // setLoadingOldMessages(true);\n // refetch({ skip: channelMessages.length });\n // }\n // }, [data, channelMessages]);\n\n // const onFetchOld = () => {\n // // if (data?.messages?.totalCount > channelMessages.length) {\n // //if(channelMessages.length !== data?.messages?.totalCount){\n // if(totalCount > channelMessages.length){\n // setLoadingOldMessages(true);\n // refetch({ skip: channelMessages.length });\n // }\n // };\n\n const onFetchOld = useCallback(() => {\n if (data?.messages?.totalCount > channelMessages.length) {\n setLoadingOldMessages(true);\n refetch({ skip: channelMessages.length });\n }\n }, [data, channelMessages]);\n\n // const onFetchOld = () => {\n // if(totalCount > channelMessages.length){\n // console.log('totalCount',totalCount)\n // console.log('channelMessages.length',channelMessages.length)\n // setLoadingOldMessages(true);\n // refetch({\n // skip: channelMessages.length\n // });\n // }\n // };\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 sendPushNotification = (title: String, body: String, data: any, to: any) => {\n fetch('https://exp.host/--/api/v2/push/send/', {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Accept-Encoding': 'gzip, deflate',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n to: to,\n data: data,\n title: title,\n body: body,\n sound: Platform.OS === 'android' ? null : 'default',\n }),\n });\n };\n\n // const handleSend = useCallback(\n // async (message: string) => {\n // // if (!(message && channelId)) {\n // // return;\n // // }\n\n // if (!channelId) return;\n // if (!message && message != ' ' && images.length == 0) return;\n\n // setLoading(true);\n // const { data } = await sendMsg({\n // variables: {\n // channelId,\n // content: message,\n // },\n // update: (cache, { data, errors }) => {\n // if (!data || errors) {\n // setLoading(false);\n // return;\n // }\n // setChannelMessages((messages) => [...messages, data?.sendMessage]);\n // setTotalCount((t) => t + 1);\n // setChannelToTop(channelToTop + 1);\n // setLoading(false);\n // const title: String = currentUser?.givenName+' '+currentUser?.familyName+' in Followup Chat';\n // const body: String = message;\n // const notificationData: any = {\n // url: config.INBOX_MESSEGE_PATH,\n // params: { channelId, hideTabBar: true },\n // screen: 'DialogMessages',\n // };\n // console.log('expo to',JSON.stringify(expoTokens));\n // if (expoTokens?.length > 0) {\n // const to: any = expoTokens?.length > 0 ? expoTokens : [];\n\n // sendPushNotification(title, body, notificationData, to);\n // }\n\n // setMsg('');\n // },\n // });\n // if (images && images.length > 0 && data?.sendMessage?.id) {\n // const { id: postId } = data.sendMessage;\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 // }\n // setChannelMessages((messages) =>\n // messages.map((message) => {\n // if (message.id === postId) {\n // return {\n // ...message,\n // files: {\n // totalCount: uploadedFiles.length,\n // data: uploadedFiles,\n // },\n // };\n // }\n // return message;\n // }),\n // );\n // }\n // },\n // [setChannelMessages, currentUser, channelId, images,expoTokens],\n // );\n\n const handleSend = async (message: string) => {\n if (!channelId) return;\n if (!message && message != ' ' && images.length == 0) return;\n\n setLoading(true);\n const { data } = await sendMsg({\n variables: {\n channelId,\n content: message,\n },\n update: (cache, { data, errors }: any) => {\n if (!data || errors) {\n setLoading(false);\n return;\n }\n setChannelMessages((messages: any) => [...messages, data?.sendMessage]);\n setTotalCount((t: any) => t + 1);\n setChannelToTop(channelToTop + 1);\n setLoading(false);\n setMsg('');\n const givenName = auth?.givenName ?? '';\n const familyName = auth?.familyName ?? '';\n const fullName = givenName ? givenName + ' ' + familyName : '';\n const title: String = fullName ? fullName + ' in Followup Chat' : 'Followup Chat';\n const body: String = message;\n const notificationData: any = {\n url: config.INBOX_MESSEGE_PATH,\n params: { channelId, hideTabBar: true },\n screen: 'DialogMessages',\n };\n console.log('expo to', JSON.stringify(expoTokens));\n if (expoTokens?.length > 0) {\n const to: any = expoTokens?.length > 0 ? expoTokens : [];\n\n sendPushNotification(title, body, notificationData, to);\n }\n },\n });\n if (images && images.length > 0 && data?.sendMessage?.id) {\n const { id: postId } = data.sendMessage;\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 }\n setChannelMessages((messages: any) =>\n messages.map((message: any) => {\n if (message.id === postId) {\n return {\n ...message,\n files: {\n totalCount: uploadedFiles.length,\n data: uploadedFiles,\n },\n };\n }\n return message;\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,\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 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 if (attachment?.callToAction?.link?.includes('my-reservation-details')) {\n action = CALL_TO_ACTION_PATH;\n actionId = attachment?.callToAction?.link.split('/').pop();\n }\n // if (attachment?.callToAction?.link?.includes('my-reservation-details')) {\n // action = 'm-reservation-detail';\n // actionId = attachment?.callToAction?.link.split('/').pop();\n // }\n return (\n <Box bg={CALL_TO_ACTION_BOX_BGCOLOR} borderRadius={15} pb={2}>\n {attachment?.callToAction ? (\n <Button\n variant={'outline'}\n size={'sm'}\n borderColor={CALL_TO_ACTION_BUTTON_BORDERCOLOR}\n onPress={() => navigation.navigate(action, { reservationId: actionId })}\n >\n <Text color={CALL_TO_ACTION_TEXT_COLOR}>{attachment.callToAction.title}</Text>\n </Button>\n ) : null}\n <MessageText\n {...props}\n textStyle={{ left: { marginLeft: 5, color: CALL_TO_ACTION_TEXT_COLOR, paddingHorizontal: 2 } }}\n />\n </Box>\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 } = imageObject;\n return <Image resizeMode={'cover'} alt={'image'} source={{ uri: image }} size={'full'} />;\n }, [imageObject]);\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 return (\n <GiftedChat\n wrapInSafeArea={false}\n renderLoading={() => <Spinner />}\n messages={messageList}\n // listViewProps={{\n // scrollEventThrottle: 400,\n // onScroll: ({ nativeEvent }) => { console.log('scroll')\n // if (!loadingOldMessages && isCloseToTop(nativeEvent)) {\n // onFetchOld();\n // }\n // }\n // }}\n // onSend={(messages) => {\n // handleSend(messages[0]?.text ?? ' ');\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={checkForMessages?.messages?.totalCount > totalCount}\n //loadEarlier={channelMessages.length !== data?.messages?.totalCount}\n // loadEarlier={totalCount > channelMessages.length}\n loadEarlier={data?.messages?.totalCount > channelMessages.length}\n renderMessageText={renderMessageText}\n minInputToolbarHeight={50}\n renderActions={renderActions}\n renderAccessory={renderAccessory}\n renderMessage={renderMessage}\n renderChatFooter={() => (\n <ImageViewerModal\n isVisible={isShowImageViewer}\n setVisible={setImageViewer}\n modalContent={modalContent}\n />\n )}\n lightboxProps={{\n underlayColor: 'transparent',\n springConfig: { tension: 90000, friction: 90000 },\n disabled: true,\n }}\n />\n );\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 } 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 { 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}\n\n const 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 [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 });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\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 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 //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 title: params?.title ?? null,\n hideTabBar: true,\n });\n } else {\n navigation.navigate(config.INBOX_MESSEGE_PATH as any, {\n channelId: id,\n title: title,\n hideTabBar: true,\n });\n }\n }, []);\n\n return (\n <Box p={2}>\n <FlatList\n data={userDirectChannel?.length > 0 ? userDirectChannel : []}\n onRefresh={getChannelsRefetch}\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 <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 keyExtractor={(item, index) => 'key' + index}\n />\n </Box>\n );\n};\n\nexport const Dialogs = React.memo(DialogsComponent);\n","export * from './inbox/Inbox';\nexport * from './inbox/DialogMessages';","module.exports = require(\"@admin-layout/client\");","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/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-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":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/platform-mobile",
3
- "version": "0.0.1-alpha.335",
3
+ "version": "0.0.1-alpha.338",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -19,8 +19,8 @@
19
19
  "watch": "yarn build:lib:watch"
20
20
  },
21
21
  "dependencies": {
22
- "@messenger-box/core": "0.0.1-alpha.316",
23
- "@messenger-box/platform-client": "0.0.1-alpha.318",
22
+ "@messenger-box/core": "0.0.1-alpha.338",
23
+ "@messenger-box/platform-client": "0.0.1-alpha.338",
24
24
  "base-64": "1.0.0",
25
25
  "react-native-gifted-chat": "1.0.4"
26
26
  },
@@ -40,5 +40,5 @@
40
40
  "typescript": {
41
41
  "definition": "lib/index.d.ts"
42
42
  },
43
- "gitHead": "2d55f753040c91a1a8441c9a1cbc21bce3728590"
43
+ "gitHead": "5ec63cc70d2978ef2cdc295cc2fedf922fecff02"
44
44
  }
@@ -1,7 +1,7 @@
1
1
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
- import { Box, Button, HStack, Icon, Image, Spinner, Text, useColorModeValue,ScrollView } from 'native-base';
3
- import {Platform} from 'react-native'
4
- import { useNavigation,useFocusEffect } from '@react-navigation/native';
2
+ import { Box, Button, HStack, Icon, Image, Spinner, Text, useColorModeValue, ScrollView } from 'native-base';
3
+ import { Platform } from 'react-native';
4
+ import { useNavigation, useFocusEffect } from '@react-navigation/native';
5
5
  import { useSelector } from 'react-redux';
6
6
  import { orderBy, uniqBy } from 'lodash';
7
7
  import * as ImagePicker from 'expo-image-picker';
@@ -19,7 +19,7 @@ import {
19
19
  import { IFileInfo } from '@messenger-box/core';
20
20
  import { config } from '../config';
21
21
  import { userSelector } from '@adminide-stack/user-auth0-client';
22
- import { SlackMessage,ImageViewerModal } from '../components/SlackMessageContainer';
22
+ import { SlackMessage, ImageViewerModal } from '../components/SlackMessageContainer';
23
23
 
24
24
  const {
25
25
  MESSAGES_PER_PAGE,
@@ -47,7 +47,7 @@ export interface AlertMessageAttachmentsInterface {
47
47
  const ConversationViewComponent = ({ channelId }: any) => {
48
48
  const [channelToTop, setChannelToTop] = useState(0);
49
49
  const [channelMessages, setChannelMessages] = useState<any>([]);
50
- const auth:any = useSelector(userSelector);
50
+ const auth: any = useSelector(userSelector);
51
51
  const [totalCount, setTotalCount] = useState<any>(0);
52
52
  const [selectedImage, setImage] = useState<string>('');
53
53
  const [loadingOldMessages, setLoadingOldMessages] = useState(false);
@@ -60,9 +60,9 @@ const ConversationViewComponent = ({ channelId }: any) => {
60
60
  const [loading, setLoading] = useState(false);
61
61
  const [imageLoading, setImageLoading] = useState(false);
62
62
  const [expoTokens, setExpoTokens] = useState<any[]>([]);
63
- const [isShowImageViewer,setImageViewer] = useState<boolean>(false)
63
+ const [isShowImageViewer, setImageViewer] = useState<boolean>(false);
64
64
  const [imageObject, setImageObject] = useState<any>({});
65
-
65
+
66
66
  const { startUpload } = useUploadFilesNative();
67
67
 
68
68
  const [sendMsg] = useSendMessagesMutation();
@@ -71,7 +71,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
71
71
  data,
72
72
  loading: messageLoading,
73
73
  refetch,
74
- }:any = useMessagesQuery({
74
+ }: any = useMessagesQuery({
75
75
  variables: {
76
76
  channelId: channelId?.toString(),
77
77
  limit: MESSAGES_PER_PAGE,
@@ -92,7 +92,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
92
92
 
93
93
  // const { data: users } = useGetAllUsersQuery();
94
94
 
95
- const { data: checkForMessages }:any = useCheckForNewMessagesQuery({
95
+ const { data: checkForMessages }: any = useCheckForNewMessagesQuery({
96
96
  variables: {
97
97
  channelId: channelId?.toString(),
98
98
  },
@@ -104,7 +104,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
104
104
  useFocusEffect(
105
105
  React.useCallback(() => {
106
106
  // Do something when the screen is focused
107
- refetchChannelDetail({id: channelId?.toString()});
107
+ refetchChannelDetail({ id: channelId?.toString() });
108
108
  refetch({
109
109
  channelId: channelId?.toString(),
110
110
  limit: MESSAGES_PER_PAGE,
@@ -112,23 +112,23 @@ const ConversationViewComponent = ({ channelId }: any) => {
112
112
  if (!data?.messages) {
113
113
  return;
114
114
  }
115
- const { data: messages, totalCount }:any = data.messages;
115
+ const { data: messages, totalCount }: any = data.messages;
116
116
  setTotalCount(totalCount);
117
- setChannelMessages((oldMessages:any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));
117
+ setChannelMessages((oldMessages: any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));
118
118
  });
119
119
  return () => {
120
120
  // Do something when the screen is unfocused
121
121
  // Useful for cleanup functions
122
- setTotalCount(0)
123
- setChannelMessages([])
122
+ setTotalCount(0);
123
+ setChannelMessages([]);
124
124
  };
125
125
  }, []),
126
126
  );
127
127
 
128
128
  React.useEffect(() => {
129
129
  if (channelsDetail?.viewChannelDetail?.members?.length) {
130
- const channelData: any =
131
- channelsDetail?.viewChannelDetail?.members?.filter((mu: any) => mu?.user?.id != auth?.id) ?? [];
130
+ const channelData: any =
131
+ channelsDetail?.viewChannelDetail?.members?.filter((mu: any) => mu?.user?.id != auth?.id) ?? [];
132
132
  const tokens: any =
133
133
  channelData
134
134
  ?.map(
@@ -139,8 +139,8 @@ const ConversationViewComponent = ({ channelId }: any) => {
139
139
  )
140
140
  ?.flat(1)
141
141
  ?.filter((t: any) => t) ?? [];
142
-
143
- if(tokens?.length > 0) setExpoTokens(tokens);
142
+
143
+ if (tokens?.length > 0) setExpoTokens(tokens);
144
144
  }
145
145
  }, [channelsDetail]);
146
146
 
@@ -148,8 +148,6 @@ const ConversationViewComponent = ({ channelId }: any) => {
148
148
  if (selectedImage) setImageLoading(false);
149
149
  }, [selectedImage]);
150
150
 
151
-
152
-
153
151
  // const currentUser = useMemo(
154
152
  // () => users?.getUsers?.find(({ alias }: any) => alias?.includes(auth?.auth0UserId)),
155
153
  // [users, auth],
@@ -168,7 +166,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
168
166
  useEffect(() => {
169
167
  if (data?.messages?.data) {
170
168
  const { data: messages, totalCount: messeageTotalCount } = data.messages;
171
- if (messages && messages.length > 0) {
169
+ if (messages && messages.length > 0 && (loadingOldMessages || channelMessages.length === 0)) {
172
170
  setChannelMessages((oldMessages: any) => uniqBy([...messages, ...oldMessages], ({ id }) => id));
173
171
  setLoadingOldMessages(false);
174
172
  }
@@ -207,19 +205,19 @@ const ConversationViewComponent = ({ channelId }: any) => {
207
205
  useEffect(() => {
208
206
  if (checkForMessages?.messages?.totalCount > totalCount) {
209
207
  const numberOfNewMessages = checkForMessages?.messages?.totalCount - totalCount;
210
- console.log('new msg check')
208
+ console.log('new msg check');
211
209
  refetch({
212
210
  limit: numberOfNewMessages,
213
211
  }).then(({ data }) => {
214
212
  if (!data?.messages) {
215
213
  return;
216
214
  }
217
- const { data: messages, totalCount }:any = data.messages;
215
+ const { data: messages, totalCount }: any = data.messages;
218
216
  setTotalCount(totalCount);
219
- setChannelMessages((oldMessages:any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));
217
+ setChannelMessages((oldMessages: any) => uniqBy([...oldMessages, ...messages], ({ id }) => id));
220
218
  });
221
219
  }
222
- }, [checkForMessages,totalCount]);
220
+ }, [checkForMessages, totalCount]);
223
221
 
224
222
  // const onFetchOld = useCallback(() => {
225
223
  // // if (data?.messages?.totalCount > channelMessages.length) {
@@ -240,7 +238,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
240
238
  // };
241
239
 
242
240
  const onFetchOld = useCallback(() => {
243
- if(data?.messages?.totalCount > channelMessages.length ){
241
+ if (data?.messages?.totalCount > channelMessages.length) {
244
242
  setLoadingOldMessages(true);
245
243
  refetch({ skip: channelMessages.length });
246
244
  }
@@ -251,7 +249,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
251
249
  // console.log('totalCount',totalCount)
252
250
  // console.log('channelMessages.length',channelMessages.length)
253
251
  // setLoadingOldMessages(true);
254
- // refetch({
252
+ // refetch({
255
253
  // skip: channelMessages.length
256
254
  // });
257
255
  // }
@@ -261,12 +259,12 @@ const ConversationViewComponent = ({ channelId }: any) => {
261
259
  // return contentOffset.y <= 100; // 100px from top
262
260
  // };
263
261
 
264
- const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {
262
+ const isCloseToTop = ({ layoutMeasurement, contentOffset, contentSize }) => {
265
263
  const paddingToTop = 60;
266
264
  return contentSize.height - layoutMeasurement.height - paddingToTop <= contentOffset.y;
267
- }
265
+ };
268
266
 
269
- const dataURLtoFile = (dataurl:any, filename:any) => {
267
+ const dataURLtoFile = (dataurl: any, filename: any) => {
270
268
  var arr = dataurl.split(','),
271
269
  mime = arr[0].match(/:(.*?);/)[1],
272
270
  bstr = atob(arr[1]),
@@ -310,7 +308,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
310
308
  data: data,
311
309
  title: title,
312
310
  body: body,
313
- sound: Platform.OS === "android" ? null : "default",
311
+ sound: Platform.OS === 'android' ? null : 'default',
314
312
  }),
315
313
  });
316
314
  };
@@ -349,7 +347,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
349
347
  // console.log('expo to',JSON.stringify(expoTokens));
350
348
  // if (expoTokens?.length > 0) {
351
349
  // const to: any = expoTokens?.length > 0 ? expoTokens : [];
352
-
350
+
353
351
  // sendPushNotification(title, body, notificationData, to);
354
352
  // }
355
353
 
@@ -399,86 +397,84 @@ const ConversationViewComponent = ({ channelId }: any) => {
399
397
  // [setChannelMessages, currentUser, channelId, images,expoTokens],
400
398
  // );
401
399
 
402
- const handleSend = async (message: string) => {
403
- if (!channelId) return;
404
- if (!message && message != ' ' && images.length == 0) return;
400
+ const handleSend = async (message: string) => {
401
+ if (!channelId) return;
402
+ if (!message && message != ' ' && images.length == 0) return;
405
403
 
406
- setLoading(true);
407
- const { data } = await sendMsg({
408
- variables: {
409
- channelId,
410
- content: message,
411
- },
412
- update: (cache, { data, errors }:any) => {
413
- if (!data || errors) {
414
- setLoading(false);
415
- return;
416
- }
417
- setChannelMessages((messages:any) => [...messages, data?.sendMessage]);
418
- setTotalCount((t:any) => t + 1);
419
- setChannelToTop(channelToTop + 1);
404
+ setLoading(true);
405
+ const { data } = await sendMsg({
406
+ variables: {
407
+ channelId,
408
+ content: message,
409
+ },
410
+ update: (cache, { data, errors }: any) => {
411
+ if (!data || errors) {
420
412
  setLoading(false);
421
- setMsg('');
422
- const givenName = auth?.givenName ?? '';
423
- const familyName = auth?.familyName ?? '';
424
- const fullName = givenName ? givenName+' '+familyName :'';
425
- const title: String = fullName ? fullName +' in Followup Chat' : 'Followup Chat';
426
- const body: String = message;
427
- const notificationData: any = {
428
- url: config.INBOX_MESSEGE_PATH,
429
- params: { channelId, hideTabBar: true },
430
- screen: 'DialogMessages',
431
- };
432
- console.log('expo to',JSON.stringify(expoTokens));
433
- if (expoTokens?.length > 0) {
434
- const to: any = expoTokens?.length > 0 ? expoTokens : [];
435
-
436
- sendPushNotification(title, body, notificationData, to);
437
- }
413
+ return;
414
+ }
415
+ setChannelMessages((messages: any) => [...messages, data?.sendMessage]);
416
+ setTotalCount((t: any) => t + 1);
417
+ setChannelToTop(channelToTop + 1);
418
+ setLoading(false);
419
+ setMsg('');
420
+ const givenName = auth?.givenName ?? '';
421
+ const familyName = auth?.familyName ?? '';
422
+ const fullName = givenName ? givenName + ' ' + familyName : '';
423
+ const title: String = fullName ? fullName + ' in Followup Chat' : 'Followup Chat';
424
+ const body: String = message;
425
+ const notificationData: any = {
426
+ url: config.INBOX_MESSEGE_PATH,
427
+ params: { channelId, hideTabBar: true },
428
+ screen: 'DialogMessages',
429
+ };
430
+ console.log('expo to', JSON.stringify(expoTokens));
431
+ if (expoTokens?.length > 0) {
432
+ const to: any = expoTokens?.length > 0 ? expoTokens : [];
438
433
 
439
-
440
- },
441
- });
442
- if (images && images.length > 0 && data?.sendMessage?.id) {
443
- const { id: postId } = data.sendMessage;
444
- setLoading(true);
445
- const uploadResponse = await startUpload({
446
- file: images,
447
- saveUploadedFile: {
448
- variables: {
449
- postId,
450
- },
434
+ sendPushNotification(title, body, notificationData, to);
435
+ }
436
+ },
437
+ });
438
+ if (images && images.length > 0 && data?.sendMessage?.id) {
439
+ const { id: postId } = data.sendMessage;
440
+ setLoading(true);
441
+ const uploadResponse = await startUpload({
442
+ file: images,
443
+ saveUploadedFile: {
444
+ variables: {
445
+ postId,
451
446
  },
452
- createUploadLink: {
453
- variables: {
454
- postId,
455
- },
447
+ },
448
+ createUploadLink: {
449
+ variables: {
450
+ postId,
456
451
  },
457
- });
458
- if (uploadResponse?.error) setLoading(false);
459
- const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];
460
- if (uploadResponse.data) {
461
- setImage('');
462
- setFiles([]);
463
- setImages([]);
464
- setLoading(false);
465
- }
466
- setChannelMessages((messages:any) =>
467
- messages.map((message:any) => {
468
- if (message.id === postId) {
469
- return {
470
- ...message,
471
- files: {
472
- totalCount: uploadedFiles.length,
473
- data: uploadedFiles,
474
- },
475
- };
476
- }
477
- return message;
478
- }),
479
- );
452
+ },
453
+ });
454
+ if (uploadResponse?.error) setLoading(false);
455
+ const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];
456
+ if (uploadResponse.data) {
457
+ setImage('');
458
+ setFiles([]);
459
+ setImages([]);
460
+ setLoading(false);
480
461
  }
462
+ setChannelMessages((messages: any) =>
463
+ messages.map((message: any) => {
464
+ if (message.id === postId) {
465
+ return {
466
+ ...message,
467
+ files: {
468
+ totalCount: uploadedFiles.length,
469
+ data: uploadedFiles,
470
+ },
471
+ };
472
+ }
473
+ return message;
474
+ }),
475
+ );
481
476
  }
477
+ };
482
478
 
483
479
  const messageList = useMemo(() => {
484
480
  let currentDate = '';
@@ -531,7 +527,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
531
527
  );
532
528
  };
533
529
 
534
- const renderMessageText = (props:any) => {
530
+ const renderMessageText = (props: any) => {
535
531
  const { currentMessage } = props;
536
532
  if (currentMessage.type === 'ALERT') {
537
533
  const attachment = currentMessage?.propsConfiguration?.contents?.attachment;
@@ -600,22 +596,16 @@ const ConversationViewComponent = ({ channelId }: any) => {
600
596
  );
601
597
  };
602
598
 
603
-
604
- const setImageViewerObject = (obj:any,v:boolean) => {
599
+ const setImageViewerObject = (obj: any, v: boolean) => {
605
600
  setImageObject(obj);
606
- setImageViewer(v)
607
- }
608
-
609
- const modalContent = React.useMemo(
610
- () => {
611
- if(!imageObject) return <></>
612
- const {image} = imageObject
613
- return (
614
- <Image resizeMode={'cover'} alt={'image'} source={{ uri: image }} size={'full'} />
615
- );
616
- },
617
- [imageObject]
618
- )
601
+ setImageViewer(v);
602
+ };
603
+
604
+ const modalContent = React.useMemo(() => {
605
+ if (!imageObject) return <></>;
606
+ const { image } = imageObject;
607
+ return <Image resizeMode={'cover'} alt={'image'} source={{ uri: image }} size={'full'} />;
608
+ }, [imageObject]);
619
609
 
620
610
  const renderMessage = (props: any) => {
621
611
  // const {
@@ -634,7 +624,7 @@ const ConversationViewComponent = ({ channelId }: any) => {
634
624
  // }
635
625
 
636
626
  // return <SlackMessage {...props} messageTextStyle={messageTextStyle} />;
637
- return <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />;
627
+ return <SlackMessage {...props} isShowImageViewer={isShowImageViewer} setImageViewer={setImageViewerObject} />;
638
628
  };
639
629
 
640
630
  return (
@@ -650,9 +640,10 @@ const ConversationViewComponent = ({ channelId }: any) => {
650
640
  // }
651
641
  // }
652
642
  // }}
653
- onSend={ async (messages) => {
654
- await handleSend(messages[0]?.text ?? ' ');
655
- }}
643
+ // onSend={(messages) => {
644
+ // handleSend(messages[0]?.text ?? ' ');
645
+ // }}
646
+ onSend={(messages) => handleSend(messages[0]?.text ?? ' ')}
656
647
  text={msg ? msg : ' '}
657
648
  onInputTextChanged={(text) => setMsg(text)}
658
649
  renderFooter={() => (loading ? <Spinner /> : imageLoading ? <Spinner /> : '')}
@@ -663,25 +654,32 @@ const ConversationViewComponent = ({ channelId }: any) => {
663
654
  }}
664
655
  isTyping={true}
665
656
  alwaysShowSend={loading ? false : true}
666
- onLoadEarlier={()=>onFetchOld()}
657
+ onLoadEarlier={onFetchOld}
667
658
  infiniteScroll={true}
668
659
  renderSend={renderSend}
669
- // loadEarlier={checkForMessages?.messages?.totalCount > totalCount}
660
+ // loadEarlier={checkForMessages?.messages?.totalCount > totalCount}
670
661
  //loadEarlier={channelMessages.length !== data?.messages?.totalCount}
671
- // loadEarlier={totalCount > channelMessages.length}
662
+ // loadEarlier={totalCount > channelMessages.length}
672
663
  loadEarlier={data?.messages?.totalCount > channelMessages.length}
673
- renderMessageText={(props:any) => renderMessageText(props)}
664
+ renderMessageText={renderMessageText}
674
665
  minInputToolbarHeight={50}
675
666
  renderActions={renderActions}
676
667
  renderAccessory={renderAccessory}
677
- renderMessage={(props:any) => renderMessage(props)}
678
- renderChatFooter={()=>(
679
- <ImageViewerModal isVisible={isShowImageViewer} setVisible={setImageViewer} modalContent={modalContent} />
668
+ renderMessage={renderMessage}
669
+ renderChatFooter={() => (
670
+ <ImageViewerModal
671
+ isVisible={isShowImageViewer}
672
+ setVisible={setImageViewer}
673
+ modalContent={modalContent}
674
+ />
680
675
  )}
681
- lightboxProps={{underlayColor:'transparent',springConfig:{tension: 90000, friction: 90000},disabled:true}}
676
+ lightboxProps={{
677
+ underlayColor: 'transparent',
678
+ springConfig: { tension: 90000, friction: 90000 },
679
+ disabled: true,
680
+ }}
682
681
  />
683
682
  );
684
- }
683
+ };
685
684
 
686
685
  export const ConversationView = React.memo(ConversationViewComponent);
687
-