@messenger-box/platform-mobile 0.0.1-alpha.177 → 0.0.1-alpha.178

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.178](https://github.com/cdmbase/messenger-box/compare/v0.0.1-alpha.177...v0.0.1-alpha.178) (2022-06-09)
7
+
8
+ **Note:** Version bump only for package @messenger-box/platform-mobile
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.0.1-alpha.177](https://github.com/cdmbase/messenger-box/compare/v0.0.1-alpha.176...v0.0.1-alpha.177) (2022-06-08)
7
15
 
8
16
  **Note:** Version bump only for package @messenger-box/platform-mobile
package/lib/index.js CHANGED
@@ -621,7 +621,7 @@ function ConversationView({ channelId }) {
621
621
  const [edit, edit$] = platform_client_1.useEditMessageMutation({
622
622
  context: {},
623
623
  });
624
- const { startUploads } = platform_client_1.useUploadFiles();
624
+ const { startUpload } = platform_client_1.useUploadFiles();
625
625
  const messages$ = platform_client_1.useGetMessagesQuery({
626
626
  variables: {
627
627
  // skip: count,
@@ -672,17 +672,25 @@ function ConversationView({ channelId }) {
672
672
  },
673
673
  });
674
674
  if (files.length) {
675
- const uploadedFiles = await startUploads({
676
- files,
677
- refName: 'postId',
678
- ref: data.sendMessage.id,
675
+ const { data: uploadedFiles } = await startUpload({
676
+ file: files,
677
+ saveUploadedFile: {
678
+ variables: {
679
+ postId: data.sendMessage.id
680
+ },
681
+ },
682
+ createUploadLink: {
683
+ variables: {
684
+ postId: data.sendMessage.id
685
+ }
686
+ },
679
687
  });
680
688
  await edit({
681
689
  variables: {
682
690
  channelId,
683
691
  content: text,
684
692
  messageId: data.sendMessage.id,
685
- files: uploadedFiles.map(i => i.data.id),
693
+ files: uploadedFiles.map(i => i.id),
686
694
  }
687
695
  });
688
696
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/index.ts","webpack:///./src/module.ts","webpack:///./src/navigation/InboxNavigation.tsx","webpack:///./src/navigation/index.ts","webpack:///./src/screens/inbox/DialogMessages.tsx","webpack:///./src/screens/inbox/DialogsList.tsx","webpack:///./src/screens/inbox/components/DialogsHeader.tsx","webpack:///./src/screens/inbox/components/DialogsListItem.tsx","webpack:///./src/screens/inbox/components/MessageInput.tsx","webpack:///./src/screens/inbox/components/MessageItem.tsx","webpack:///./src/screens/inbox/containers/ConversationView.tsx","webpack:///./src/screens/inbox/containers/Dialogs.tsx","webpack:///external \"@common-stack/client-react\"","webpack:///external \"@expo/vector-icons\"","webpack:///external \"@messenger-box/platform-client\"","webpack:///external \"@react-navigation/native\"","webpack:///external \"@react-navigation/native-stack\"","webpack:///external \"date-fns\"","webpack:///external \"expo-image-picker\"","webpack:///external \"lodash\"","webpack:///external \"native-base\"","webpack:///external \"react\"","webpack:///external \"react-native-gesture-handler\"","webpack:///external \"react-native-safe-area-context\"","webpack:///external \"react-redux\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","import PlatformModule from './module';\n\nimport { Feature } from '@common-stack/client-react';\n\nexport default new Feature(PlatformModule);\nexport * from './navigation';\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 { createNativeStackNavigator } from \"@react-navigation/native-stack\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport { DialogMessages } from \"../screens/inbox/DialogMessages\";\nimport { DialogsList } from \"../screens/inbox/DialogsList\";\n\nconst InboxStack = createNativeStackNavigator();\n\nexport function InboxNavigation() {\n return (\n <InboxStack.Navigator \n initialRouteName=\"Inbox.DialogsList\"\n >\n <InboxStack.Screen \n component={DialogsList}\n name=\"Inbox.DialogsList\"\n options={{ header: () => null }}\n />\n <InboxStack.Screen \n name=\"Inbox.DialogMessages\"\n component={DialogMessages}\n options={{ header: () => null }}\n />\n </InboxStack.Navigator>\n );\n}","export * from './InboxNavigation';\n","import * as React from 'react';\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { DialogsHeader } from './components/DialogsHeader';\nimport { ConversationView } from './containers/ConversationView';\n\nexport function DialogMessages() {\n const { params } = useRoute<any>();\n const navigation = useNavigation();\n\n return (\n <SafeAreaView style={{ flex: 1, flexGrow: 1 }}>\n <DialogsHeader \n title={params.title}\n onBack={navigation.goBack}\n />\n <ConversationView channelId={params?.channel.id} />\n </SafeAreaView>\n );\n}","import * as React from 'react';\nimport { AntDesign } from '@expo/vector-icons';\nimport { useNavigation } from '@react-navigation/native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { DialogsHeader } from './components/DialogsHeader';\nimport { Dialogs } from './containers/Dialogs';\n\nexport function DialogsList() {\n const { goBack } = useNavigation();\n\n const onShowFilters = () => console.log('Show filters...');\n\n return (\n <SafeAreaView>\n <DialogsHeader \n onBack={goBack}\n title=\"All messages\"\n extra={<AntDesign onPress={onShowFilters} name=\"filter\" size={18} />}\n />\n\n <Dialogs />\n </SafeAreaView>\n );\n}","import * as React from 'react';\nimport { Row, Text, View } from 'native-base';\nimport { AntDesign } from '@expo/vector-icons';\nimport { StyleProp, ViewStyle } from 'react-native';\n\nexport function DialogsHeader({ onBack, extra, style, title }: { onBack?: () => void, extra?: any, style?: StyleProp<ViewStyle>, title: string }) {\n return (\n <Row paddingX={4} paddingY={2} style={style} alignItems=\"center\" justifyContent=\"space-between\">\n <View flex={1}>\n {onBack ? <AntDesign onPress={onBack} name=\"left\" size={18} /> : null}\n </View>\n <View style={{ flexDirection: 'row', flex: 1, flexGrow: 1 }} flex={1}>\n <Text noOfLines={1} flexShrink={1} textAlign=\"center\" flexGrow={1} fontSize={20} fontWeight=\"semibold\">{title || \" \"}</Text>\n </View>\n <View flex={1} alignItems=\"flex-end\" justifyContent=\"center\" textAlign=\"right\">\n {extra}\n </View>\n </Row>\n );\n}\n\n","import { first } from 'lodash';\nimport React, { useEffect, useMemo } from 'react'\nimport { Text, View, Image } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\nimport { IChannel, IUserAccount, useGetMessagesQuery } from '@messenger-box/platform-client';\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 refreshKey?: number;\n currentUserId: string;\n channel: IDialogListChannel;\n onOpen: (channel: IChannel, options?: 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 DialogsListItem: React.FC<IDialogListItemProps> = function DialogsListItem({ refreshKey, channel, currentUserId, onOpen }) {\n const message$ = useGetMessagesQuery({\n fetchPolicy: 'network-only',\n variables: { limit: 1, channelId: channel.id },\n });\n\n // Workaround for messages refresh: update latest messages view after list refresh\n useEffect(() => {\n message$.refetch();\n }, [refreshKey]);\n\n const users = useMemo(() => channel.users.filter(({ alias }) => !alias?.includes(currentUserId)), [currentUserId]);\n \n const message = useMemo(() => first(message$.data?.messages.data), [message$.data?.messages]);\n const title = useMemo(() => users.map(({ givenName, familyName }) => `${givenName} ${familyName}`).join(','), [users]);\n \n const text = message?.message;\n const date = createdAtText(message?.createdAt);\n \n const onOpenChannel = () => onOpen(channel, { title, users });\n\n return (\n <TouchableOpacity onPress={onOpenChannel}>\n <View paddingX={5} paddingY={2} flexDirection=\"row\" alignItems=\"center\">\n <View>\n <Image width={16} borderRadius=\"full\" height={16} marginRight={3} source={{ uri: \"https://picsum.photos/220\" }} />\n </View>\n <View flexGrow={1}>\n <View flexDirection=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n {/* TODO: change to valid status */}\n <Text fontSize=\"xs\" color=\"red.500\">Request withdrawal</Text>\n <Text color=\"gray.500\">{date}</Text>\n </View>\n <Text marginBottom={1} color=\"gray.600\" fontSize=\"lg\" fontWeight=\"semibold\">{title}</Text>\n <Text marginBottom={1} color=\"gray.600\">{text}</Text>\n {/* TODO: change to valid reservation date */}\n <Text>Sep 12-16, 2019. Private room fully furnis...</Text>\n </View>\n </View>\n </TouchableOpacity>\n );\n}","import { TextField, View, Image } from 'native-base';\nimport { FontAwesome } from '@expo/vector-icons';\nimport * as ImagePicker from 'expo-image-picker';\nimport React, { forwardRef, useImperativeHandle, useState } from 'react';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nexport const MessageInput = forwardRef(function MessageInput({ onSend }: any, ref) {\n const [text, setText] = useState('');\n const [files, setFiles] = useState<string[]>([]);\n\n const reset = () => {\n setText('');\n setFiles([]);\n };\n\n useImperativeHandle(ref, () => ({ reset, text, files }));\n\n const onSendMessage = () => {\n onSend(text, files);\n };\n const onRemoveImage = (url: string) => setFiles(files => files.filter(file => file !== url));\n const onSelectImages = async () => {\n // No permissions request is necessary for launching the image library\n await ImagePicker.requestMediaLibraryPermissionsAsync();\n let result = await ImagePicker.launchImageLibraryAsync({\n // base64: true,\n // aspect: [4, 3],\n mediaTypes: ImagePicker.MediaTypeOptions.Images,\n });\n\n if (!result.cancelled) {\n setFiles(files.concat((result as any).uri)); // @igor need ot check this\n }\n };\n\n return (\n <View paddingX={3} marginTop={3} flexDirection=\"column\" alignContent=\"center\">\n <View>\n <TextField placeholder='Message...' borderColor=\"gray.400\" value={text} onChange={(e) => setText(e.nativeEvent.text)} fontSize={14} />\n </View>\n {files.length ? <View mb={4} flexDirection=\"row\">\n {files.map((file, index) => (\n <TouchableOpacity onPress={() => onRemoveImage(file)} key={index}>\n <Image mr={2} height={10} width={10} source={{ uri: file }} />\n </TouchableOpacity>\n ))}\n </View> : null}\n <View flexDirection=\"row\" paddingX=\"3\" alignContent=\"center\" justifyContent=\"space-between\">\n <FontAwesome onPress={onSelectImages} size={20} style={{ marginRight: 5 }} name=\"file-image-o\" />\n <FontAwesome onPress={onSendMessage} size={20} name=\"send\" />\n </View>\n </View>\n );\n});\n","import React, { useMemo } from 'react';\nimport { Text, View, Image } from \"native-base\";\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { IFileInfo, IPost } from '@messenger-box/platform-client';\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 function MessageItem({ message, userId }: { message: IPost, userId: string }) {\n const isOwnMessage = useMemo(() => message.editedBy?.alias?.includes(userId) || false, [message.author, userId]);\n const author = useMemo(() => message.author ? `${message.author?.givenName} ${message.author?.familyName}` : null, [message.author]);\n\n return (\n <View mb={4} flexDirection=\"row\" alignItems=\"center\" paddingX={3}>\n {isOwnMessage ? <View flexGrow={1} /> : null}\n <View borderRadius=\"md\" backgroundColor=\"gray.200\" paddingX={3} paddingY=\"1.5\" flexGrow={3}>\n <View flexDirection=\"row\" alignContent=\"flex-start\" mb={1}>\n <Text flexGrow={1} fontWeight=\"semibold\">{author}</Text>\n <Text fontSize=\"xs\" color=\"gray.500\">{createdAtText(message.createdAt)}</Text>\n </View>\n <Text flexGrow={1}>{message.message}</Text>\n <MessageItem.FilesView files={message.files?.data as IFileInfo[]} />\n </View>\n {!isOwnMessage ? <View flexGrow={1} /> : null}\n </View>\n );\n}\n\nMessageItem.FilesView = function MessageItemFiles({ files = [] }: { files: IFileInfo[] }) {\n if(!files.length) {\n return null;\n }\n\n return (\n <View mt={2} flexDirection=\"row\">\n {files.map(file => <Image mr={2} height=\"16\" width=\"16\" source={{ uri: \"https://preview.keenthemes.com/metronic-v4/theme/assets/pages/media/profile/profile_user.jpg\", scale: 0.2 }} />)}\n </View>\n );\n}\n","import { FlatList } from 'react-native-gesture-handler';\n\nimport { IPost, useEditMessageMutation, useGetMessagesQuery, useSendMessagesMutation, useUploadFiles, onChatMessageAddedDocument } from '@messenger-box/platform-client';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { MessageItem } from '../components/MessageItem';\nimport { MessageInput } from '../components/MessageInput';\n\nconst MESSAGES_LIMIT = 5;\n\nexport function ConversationView({ channelId }: any) {\n const input$ = useRef<any>();\n const [offset, setOffset] = useState(0);\n const [messages, setMessages] = useState<IPost[]>([]);\n const userId = useSelector((state: any) => state.user.auth0UserId);\n\n const [send, send$] = useSendMessagesMutation({\n context: {},\n });\n \n const [edit, edit$] = useEditMessageMutation({\n context: {},\n });\n\n const { startUploads } = useUploadFiles();\n\n const messages$ = useGetMessagesQuery({\n variables: {\n // skip: count,\n channelId,\n limit: MESSAGES_LIMIT,\n },\n skip: !channelId,\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n messages$.refetch({ skip: offset })\n }, [offset]);\n\n useEffect(() => {\n messages$.subscribeToMore({ \n variables: { channelId },\n document: onChatMessageAddedDocument,\n updateQuery: (prev, { subscriptionData }) => {\n const list = (subscriptionData.data.messages.data || []) as IPost[];\n const added = list.filter(data => !data.author.alias.includes(userId));\n\n messages.concat(...added);\n return prev;\n }\n });\n }, [channelId, userId]);\n\n useEffect(() => {\n if(messages$.data?.messages.data?.length) {\n setMessages(messages => [...messages, ...(messages$.data?.messages.data || [] as any)]);\n }\n }, [messages$.data]);\n \n const onLoadMore = () => setOffset(offset + MESSAGES_LIMIT);\n const onSendMessage = async (text: string, files: File[]) => {\n input$.current?.reset();\n const { data } = await send({\n variables: {\n channelId,\n content: text,\n // files: [], // files: uploadedFiles.map(i => i.data.id)\n },\n update: (cache, { data, errors }) => {\n if (!data || errors) {\n return;\n }\n\n if(data.sendMessage) {\n setMessages([ data.sendMessage as IPost, ...messages ]);\n }\n },\n });\n\n if(files.length) {\n const uploadedFiles = await startUploads({\n files,\n refName: 'postId',\n ref: data!.sendMessage!.id,\n });\n\n await edit({\n variables: {\n channelId,\n content: text,\n messageId: data!.sendMessage!.id,\n files: uploadedFiles.map(i => i!.data!.id),\n }\n })\n }\n };\n\n return (\n <>\n <FlatList\n inverted\n data={messages}\n onEndReached={onLoadMore}\n style={{ flex: 1, flexGrow: 1 }}\n renderItem={({ item }) => <MessageItem userId={userId} message={item} />}\n />\n\n <MessageInput onSend={onSendMessage} ref={input$} />\n </>\n );\n}\n","import { FlatList, ScrollView, Text, View } from 'native-base';\nimport { IChannel, useGetAllChannelQuery, useGetAllUsersQuery } from '@messenger-box/platform-client';\nimport { useSelector } from 'react-redux';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { keyBy } from 'lodash';\nimport { useNavigation } from '@react-navigation/native';\n\nimport { DialogsListItem } from '../components/DialogsListItem';\n\nexport function Dialogs() {\n const users$ = useGetAllUsersQuery();\n const navigation: any = useNavigation();\n const channels$ = useGetAllChannelQuery();\n const [rk, setRk] = useState(Math.random()); \n const userId = useSelector((state: any) => state.user.auth0UserId);\n\n /**\n * TODO: add ability to check channel members\n * HostChannels: channel.members[0].user !== userId\n * GuestChannels: channel.members[0].user == userId\n */\n const filter = useCallback(\n (channel) =>\n channel.type === 'DIRECT' \n && channel?.displayName !== 'surveybot'\n && channel?.displayName !== 'admin (you)',\n [userId],\n );\n\n const users = useMemo(() => keyBy(users$.data?.getUsers, 'id'), [users$.data?.getUsers]);\n\n // Filter all channles\n const list = useMemo(() => \n channels$.data?.channels?.filter(filter) || [], [filter, channels$.data?.channels]);\n\n // Assign users to channel item\n const channels = useMemo(\n () => list.map((channel) => ({ ...channel, users: channel?.members?.map((record) => users[record?.user!]) }))\n , [list, users$.data?.getUsers, userId]);\n\n const onRefresh = async () => {\n await users$.refetch();\n await channels$.refetch();\n return setRk(Math.random());\n };\n\n const isRefreshing = channels$.loading || users$.loading;\n\n const onOpen = (channel: IChannel, options: { title: string }) => \n navigation.navigate(\"Inbox.DialogMessages\" as any, { ...options, channel, hideTabBar: true });\n\n return (\n <FlatList\n data={channels}\n onRefresh={onRefresh}\n refreshing={isRefreshing}\n contentContainerStyle={{ minHeight: '100%' }}\n ItemSeparatorComponent={() => <View height=\"0.5\" backgroundColor=\"gray.200\" marginY=\"0.5\" />}\n renderItem={({ item: channel }) => <DialogsListItem refreshKey={rk} onOpen={onOpen} currentUserId={userId} channel={channel} />} \n />\n );\n}\n","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(\"@react-navigation/native-stack\");","module.exports = require(\"date-fns\");","module.exports = require(\"expo-image-picker\");","module.exports = require(\"lodash\");","module.exports = require(\"native-base\");","module.exports = require(\"react\");","module.exports = require(\"react-native-gesture-handler\");","module.exports = require(\"react-native-safe-area-context\");","module.exports = require(\"react-redux\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/index.ts","webpack:///./src/module.ts","webpack:///./src/navigation/InboxNavigation.tsx","webpack:///./src/navigation/index.ts","webpack:///./src/screens/inbox/DialogMessages.tsx","webpack:///./src/screens/inbox/DialogsList.tsx","webpack:///./src/screens/inbox/components/DialogsHeader.tsx","webpack:///./src/screens/inbox/components/DialogsListItem.tsx","webpack:///./src/screens/inbox/components/MessageInput.tsx","webpack:///./src/screens/inbox/components/MessageItem.tsx","webpack:///./src/screens/inbox/containers/ConversationView.tsx","webpack:///./src/screens/inbox/containers/Dialogs.tsx","webpack:///external \"@common-stack/client-react\"","webpack:///external \"@expo/vector-icons\"","webpack:///external \"@messenger-box/platform-client\"","webpack:///external \"@react-navigation/native\"","webpack:///external \"@react-navigation/native-stack\"","webpack:///external \"date-fns\"","webpack:///external \"expo-image-picker\"","webpack:///external \"lodash\"","webpack:///external \"native-base\"","webpack:///external \"react\"","webpack:///external \"react-native-gesture-handler\"","webpack:///external \"react-native-safe-area-context\"","webpack:///external \"react-redux\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","import PlatformModule from './module';\n\nimport { Feature } from '@common-stack/client-react';\n\nexport default new Feature(PlatformModule);\nexport * from './navigation';\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 { createNativeStackNavigator } from \"@react-navigation/native-stack\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport { DialogMessages } from \"../screens/inbox/DialogMessages\";\nimport { DialogsList } from \"../screens/inbox/DialogsList\";\n\nconst InboxStack = createNativeStackNavigator();\n\nexport function InboxNavigation() {\n return (\n <InboxStack.Navigator \n initialRouteName=\"Inbox.DialogsList\"\n >\n <InboxStack.Screen \n component={DialogsList}\n name=\"Inbox.DialogsList\"\n options={{ header: () => null }}\n />\n <InboxStack.Screen \n name=\"Inbox.DialogMessages\"\n component={DialogMessages}\n options={{ header: () => null }}\n />\n </InboxStack.Navigator>\n );\n}","export * from './InboxNavigation';\n","import * as React from 'react';\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { DialogsHeader } from './components/DialogsHeader';\nimport { ConversationView } from './containers/ConversationView';\n\nexport function DialogMessages() {\n const { params } = useRoute<any>();\n const navigation = useNavigation();\n\n return (\n <SafeAreaView style={{ flex: 1, flexGrow: 1 }}>\n <DialogsHeader \n title={params.title}\n onBack={navigation.goBack}\n />\n <ConversationView channelId={params?.channel.id} />\n </SafeAreaView>\n );\n}","import * as React from 'react';\nimport { AntDesign } from '@expo/vector-icons';\nimport { useNavigation } from '@react-navigation/native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { DialogsHeader } from './components/DialogsHeader';\nimport { Dialogs } from './containers/Dialogs';\n\nexport function DialogsList() {\n const { goBack } = useNavigation();\n\n const onShowFilters = () => console.log('Show filters...');\n\n return (\n <SafeAreaView>\n <DialogsHeader \n onBack={goBack}\n title=\"All messages\"\n extra={<AntDesign onPress={onShowFilters} name=\"filter\" size={18} />}\n />\n\n <Dialogs />\n </SafeAreaView>\n );\n}","import * as React from 'react';\nimport { Row, Text, View } from 'native-base';\nimport { AntDesign } from '@expo/vector-icons';\nimport { StyleProp, ViewStyle } from 'react-native';\n\nexport function DialogsHeader({ onBack, extra, style, title }: { onBack?: () => void, extra?: any, style?: StyleProp<ViewStyle>, title: string }) {\n return (\n <Row paddingX={4} paddingY={2} style={style} alignItems=\"center\" justifyContent=\"space-between\">\n <View flex={1}>\n {onBack ? <AntDesign onPress={onBack} name=\"left\" size={18} /> : null}\n </View>\n <View style={{ flexDirection: 'row', flex: 1, flexGrow: 1 }} flex={1}>\n <Text noOfLines={1} flexShrink={1} textAlign=\"center\" flexGrow={1} fontSize={20} fontWeight=\"semibold\">{title || \" \"}</Text>\n </View>\n <View flex={1} alignItems=\"flex-end\" justifyContent=\"center\" textAlign=\"right\">\n {extra}\n </View>\n </Row>\n );\n}\n\n","import { first } from 'lodash';\nimport React, { useEffect, useMemo } from 'react'\nimport { Text, View, Image } from 'native-base';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\nimport { IChannel, IUserAccount, useGetMessagesQuery } from '@messenger-box/platform-client';\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 refreshKey?: number;\n currentUserId: string;\n channel: IDialogListChannel;\n onOpen: (channel: IChannel, options?: 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 DialogsListItem: React.FC<IDialogListItemProps> = function DialogsListItem({ refreshKey, channel, currentUserId, onOpen }) {\n const message$ = useGetMessagesQuery({\n fetchPolicy: 'network-only',\n variables: { limit: 1, channelId: channel.id },\n });\n\n // Workaround for messages refresh: update latest messages view after list refresh\n useEffect(() => {\n message$.refetch();\n }, [refreshKey]);\n\n const users = useMemo(() => channel.users.filter(({ alias }) => !alias?.includes(currentUserId)), [currentUserId]);\n \n const message = useMemo(() => first(message$.data?.messages.data), [message$.data?.messages]);\n const title = useMemo(() => users.map(({ givenName, familyName }) => `${givenName} ${familyName}`).join(','), [users]);\n \n const text = message?.message;\n const date = createdAtText(message?.createdAt);\n \n const onOpenChannel = () => onOpen(channel, { title, users });\n\n return (\n <TouchableOpacity onPress={onOpenChannel}>\n <View paddingX={5} paddingY={2} flexDirection=\"row\" alignItems=\"center\">\n <View>\n <Image width={16} borderRadius=\"full\" height={16} marginRight={3} source={{ uri: \"https://picsum.photos/220\" }} />\n </View>\n <View flexGrow={1}>\n <View flexDirection=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n {/* TODO: change to valid status */}\n <Text fontSize=\"xs\" color=\"red.500\">Request withdrawal</Text>\n <Text color=\"gray.500\">{date}</Text>\n </View>\n <Text marginBottom={1} color=\"gray.600\" fontSize=\"lg\" fontWeight=\"semibold\">{title}</Text>\n <Text marginBottom={1} color=\"gray.600\">{text}</Text>\n {/* TODO: change to valid reservation date */}\n <Text>Sep 12-16, 2019. Private room fully furnis...</Text>\n </View>\n </View>\n </TouchableOpacity>\n );\n}","import { TextField, View, Image } from 'native-base';\nimport { FontAwesome } from '@expo/vector-icons';\nimport * as ImagePicker from 'expo-image-picker';\nimport React, { forwardRef, useImperativeHandle, useState } from 'react';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nexport const MessageInput = forwardRef(function MessageInput({ onSend }: any, ref) {\n const [text, setText] = useState('');\n const [files, setFiles] = useState<string[]>([]);\n\n const reset = () => {\n setText('');\n setFiles([]);\n };\n\n useImperativeHandle(ref, () => ({ reset, text, files }));\n\n const onSendMessage = () => {\n onSend(text, files);\n };\n const onRemoveImage = (url: string) => setFiles(files => files.filter(file => file !== url));\n const onSelectImages = async () => {\n // No permissions request is necessary for launching the image library\n await ImagePicker.requestMediaLibraryPermissionsAsync();\n let result = await ImagePicker.launchImageLibraryAsync({\n // base64: true,\n // aspect: [4, 3],\n mediaTypes: ImagePicker.MediaTypeOptions.Images,\n });\n\n if (!result.cancelled) {\n setFiles(files.concat((result as any).uri)); // @igor need ot check this\n }\n };\n\n return (\n <View paddingX={3} marginTop={3} flexDirection=\"column\" alignContent=\"center\">\n <View>\n <TextField placeholder='Message...' borderColor=\"gray.400\" value={text} onChange={(e) => setText(e.nativeEvent.text)} fontSize={14} />\n </View>\n {files.length ? <View mb={4} flexDirection=\"row\">\n {files.map((file, index) => (\n <TouchableOpacity onPress={() => onRemoveImage(file)} key={index}>\n <Image mr={2} height={10} width={10} source={{ uri: file }} />\n </TouchableOpacity>\n ))}\n </View> : null}\n <View flexDirection=\"row\" paddingX=\"3\" alignContent=\"center\" justifyContent=\"space-between\">\n <FontAwesome onPress={onSelectImages} size={20} style={{ marginRight: 5 }} name=\"file-image-o\" />\n <FontAwesome onPress={onSendMessage} size={20} name=\"send\" />\n </View>\n </View>\n );\n});\n","import React, { useMemo } from 'react';\nimport { Text, View, Image } from \"native-base\";\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { IFileInfo, IPost } from '@messenger-box/platform-client';\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 function MessageItem({ message, userId }: { message: IPost, userId: string }) {\n const isOwnMessage = useMemo(() => message.editedBy?.alias?.includes(userId) || false, [message.author, userId]);\n const author = useMemo(() => message.author ? `${message.author?.givenName} ${message.author?.familyName}` : null, [message.author]);\n\n return (\n <View mb={4} flexDirection=\"row\" alignItems=\"center\" paddingX={3}>\n {isOwnMessage ? <View flexGrow={1} /> : null}\n <View borderRadius=\"md\" backgroundColor=\"gray.200\" paddingX={3} paddingY=\"1.5\" flexGrow={3}>\n <View flexDirection=\"row\" alignContent=\"flex-start\" mb={1}>\n <Text flexGrow={1} fontWeight=\"semibold\">{author}</Text>\n <Text fontSize=\"xs\" color=\"gray.500\">{createdAtText(message.createdAt)}</Text>\n </View>\n <Text flexGrow={1}>{message.message}</Text>\n <MessageItem.FilesView files={message.files?.data as IFileInfo[]} />\n </View>\n {!isOwnMessage ? <View flexGrow={1} /> : null}\n </View>\n );\n}\n\nMessageItem.FilesView = function MessageItemFiles({ files = [] }: { files: IFileInfo[] }) {\n if(!files.length) {\n return null;\n }\n\n return (\n <View mt={2} flexDirection=\"row\">\n {files.map(file => <Image mr={2} height=\"16\" width=\"16\" source={{ uri: \"https://preview.keenthemes.com/metronic-v4/theme/assets/pages/media/profile/profile_user.jpg\", scale: 0.2 }} />)}\n </View>\n );\n}\n","import { FlatList } from 'react-native-gesture-handler';\n\nimport { IPost, useEditMessageMutation, useGetMessagesQuery, useSendMessagesMutation, useUploadFiles, onChatMessageAddedDocument } from '@messenger-box/platform-client';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { MessageItem } from '../components/MessageItem';\nimport { MessageInput } from '../components/MessageInput';\nimport { IFileInfo } from '@messenger-box/core';\n\nconst MESSAGES_LIMIT = 5;\n\nexport function ConversationView({ channelId }: any) {\n const input$ = useRef<any>();\n const [offset, setOffset] = useState(0);\n const [messages, setMessages] = useState<IPost[]>([]);\n const userId = useSelector((state: any) => state.user.auth0UserId);\n\n const [send, send$] = useSendMessagesMutation({\n context: {},\n });\n\n const [edit, edit$] = useEditMessageMutation({\n context: {},\n });\n\n const { startUpload } = useUploadFiles();\n\n const messages$ = useGetMessagesQuery({\n variables: {\n // skip: count,\n channelId,\n limit: MESSAGES_LIMIT,\n },\n skip: !channelId,\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n messages$.refetch({ skip: offset })\n }, [offset]);\n\n useEffect(() => {\n messages$.subscribeToMore({\n variables: { channelId },\n document: onChatMessageAddedDocument,\n updateQuery: (prev, { subscriptionData }) => {\n const list = (subscriptionData.data.messages.data || []) as IPost[];\n const added = list.filter(data => !data.author.alias.includes(userId));\n\n messages.concat(...added);\n return prev;\n }\n });\n }, [channelId, userId]);\n\n useEffect(() => {\n if(messages$.data?.messages.data?.length) {\n setMessages(messages => [...messages, ...(messages$.data?.messages.data || [] as any)]);\n }\n }, [messages$.data]);\n\n const onLoadMore = () => setOffset(offset + MESSAGES_LIMIT);\n const onSendMessage = async (text: string, files: File[]) => {\n input$.current?.reset();\n const { data } = await send({\n variables: {\n channelId,\n content: text,\n // files: [], // files: uploadedFiles.map(i => i.data.id)\n },\n update: (cache, { data, errors }) => {\n if (!data || errors) {\n return;\n }\n\n if(data.sendMessage) {\n setMessages([ data.sendMessage as IPost, ...messages ]);\n }\n },\n });\n\n if(files.length) {\n const {data: uploadedFiles} = await startUpload({\n file:files,\n saveUploadedFile:{\n variables:{\n postId:data!.sendMessage!.id\n },\n },\n createUploadLink:{\n variables:{\n postId:data!.sendMessage!.id\n }\n },\n });\n\n await edit({\n variables: {\n channelId,\n content: text,\n messageId: data!.sendMessage!.id,\n files: (uploadedFiles as unknown as IFileInfo[]).map(i => i.id),\n }\n })\n }\n };\n\n return (\n <>\n <FlatList\n inverted\n data={messages}\n onEndReached={onLoadMore}\n style={{ flex: 1, flexGrow: 1 }}\n renderItem={({ item }) => <MessageItem userId={userId} message={item} />}\n />\n\n <MessageInput onSend={onSendMessage} ref={input$} />\n </>\n );\n}\n","import { FlatList, ScrollView, Text, View } from 'native-base';\nimport { IChannel, useGetAllChannelQuery, useGetAllUsersQuery } from '@messenger-box/platform-client';\nimport { useSelector } from 'react-redux';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { keyBy } from 'lodash';\nimport { useNavigation } from '@react-navigation/native';\n\nimport { DialogsListItem } from '../components/DialogsListItem';\n\nexport function Dialogs() {\n const users$ = useGetAllUsersQuery();\n const navigation: any = useNavigation();\n const channels$ = useGetAllChannelQuery();\n const [rk, setRk] = useState(Math.random()); \n const userId = useSelector((state: any) => state.user.auth0UserId);\n\n /**\n * TODO: add ability to check channel members\n * HostChannels: channel.members[0].user !== userId\n * GuestChannels: channel.members[0].user == userId\n */\n const filter = useCallback(\n (channel) =>\n channel.type === 'DIRECT' \n && channel?.displayName !== 'surveybot'\n && channel?.displayName !== 'admin (you)',\n [userId],\n );\n\n const users = useMemo(() => keyBy(users$.data?.getUsers, 'id'), [users$.data?.getUsers]);\n\n // Filter all channles\n const list = useMemo(() => \n channels$.data?.channels?.filter(filter) || [], [filter, channels$.data?.channels]);\n\n // Assign users to channel item\n const channels = useMemo(\n () => list.map((channel) => ({ ...channel, users: channel?.members?.map((record) => users[record?.user!]) }))\n , [list, users$.data?.getUsers, userId]);\n\n const onRefresh = async () => {\n await users$.refetch();\n await channels$.refetch();\n return setRk(Math.random());\n };\n\n const isRefreshing = channels$.loading || users$.loading;\n\n const onOpen = (channel: IChannel, options: { title: string }) => \n navigation.navigate(\"Inbox.DialogMessages\" as any, { ...options, channel, hideTabBar: true });\n\n return (\n <FlatList\n data={channels}\n onRefresh={onRefresh}\n refreshing={isRefreshing}\n contentContainerStyle={{ minHeight: '100%' }}\n ItemSeparatorComponent={() => <View height=\"0.5\" backgroundColor=\"gray.200\" marginY=\"0.5\" />}\n renderItem={({ item: channel }) => <DialogsListItem refreshKey={rk} onOpen={onOpen} currentUserId={userId} channel={channel} />} \n />\n );\n}\n","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(\"@react-navigation/native-stack\");","module.exports = require(\"date-fns\");","module.exports = require(\"expo-image-picker\");","module.exports = require(\"lodash\");","module.exports = require(\"native-base\");","module.exports = require(\"react\");","module.exports = require(\"react-native-gesture-handler\");","module.exports = require(\"react-native-safe-area-context\");","module.exports = require(\"react-redux\");"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/platform-mobile",
3
- "version": "0.0.1-alpha.177",
3
+ "version": "0.0.1-alpha.178",
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.174",
23
- "@messenger-box/platform-client": "0.0.1-alpha.174"
22
+ "@messenger-box/core": "0.0.1-alpha.178",
23
+ "@messenger-box/platform-client": "0.0.1-alpha.178"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/bootstrap": "4.5.0",
@@ -39,5 +39,5 @@
39
39
  "typescript": {
40
40
  "definition": "lib/index.d.ts"
41
41
  },
42
- "gitHead": "dcbdfeed7b8772c1c4d2b2aaa060259878aa02f4"
42
+ "gitHead": "5f2bbd9c3a88ddbb9969b0c69b4e9dc31c128f36"
43
43
  }
@@ -5,6 +5,7 @@ import React, { useEffect, useRef, useState } from 'react';
5
5
  import { useSelector } from 'react-redux';
6
6
  import { MessageItem } from '../components/MessageItem';
7
7
  import { MessageInput } from '../components/MessageInput';
8
+ import { IFileInfo } from '@messenger-box/core';
8
9
 
9
10
  const MESSAGES_LIMIT = 5;
10
11
 
@@ -17,12 +18,12 @@ export function ConversationView({ channelId }: any) {
17
18
  const [send, send$] = useSendMessagesMutation({
18
19
  context: {},
19
20
  });
20
-
21
+
21
22
  const [edit, edit$] = useEditMessageMutation({
22
23
  context: {},
23
24
  });
24
25
 
25
- const { startUploads } = useUploadFiles();
26
+ const { startUpload } = useUploadFiles();
26
27
 
27
28
  const messages$ = useGetMessagesQuery({
28
29
  variables: {
@@ -39,7 +40,7 @@ export function ConversationView({ channelId }: any) {
39
40
  }, [offset]);
40
41
 
41
42
  useEffect(() => {
42
- messages$.subscribeToMore({
43
+ messages$.subscribeToMore({
43
44
  variables: { channelId },
44
45
  document: onChatMessageAddedDocument,
45
46
  updateQuery: (prev, { subscriptionData }) => {
@@ -57,7 +58,7 @@ export function ConversationView({ channelId }: any) {
57
58
  setMessages(messages => [...messages, ...(messages$.data?.messages.data || [] as any)]);
58
59
  }
59
60
  }, [messages$.data]);
60
-
61
+
61
62
  const onLoadMore = () => setOffset(offset + MESSAGES_LIMIT);
62
63
  const onSendMessage = async (text: string, files: File[]) => {
63
64
  input$.current?.reset();
@@ -79,10 +80,18 @@ export function ConversationView({ channelId }: any) {
79
80
  });
80
81
 
81
82
  if(files.length) {
82
- const uploadedFiles = await startUploads({
83
- files,
84
- refName: 'postId',
85
- ref: data!.sendMessage!.id,
83
+ const {data: uploadedFiles} = await startUpload({
84
+ file:files,
85
+ saveUploadedFile:{
86
+ variables:{
87
+ postId:data!.sendMessage!.id
88
+ },
89
+ },
90
+ createUploadLink:{
91
+ variables:{
92
+ postId:data!.sendMessage!.id
93
+ }
94
+ },
86
95
  });
87
96
 
88
97
  await edit({
@@ -90,7 +99,7 @@ export function ConversationView({ channelId }: any) {
90
99
  channelId,
91
100
  content: text,
92
101
  messageId: data!.sendMessage!.id,
93
- files: uploadedFiles.map(i => i!.data!.id),
102
+ files: (uploadedFiles as unknown as IFileInfo[]).map(i => i.id),
94
103
  }
95
104
  })
96
105
  }