|
@@ -50,7 +50,7 @@ import {
|
|
|
usePostReactToMessageMutation,
|
|
|
usePostSendMessageMutation
|
|
|
} from '@api/chat';
|
|
|
-import { CustomMessage, Message, Reaction } from '../types';
|
|
|
+import { CustomMessage, Message, Reaction, Attachement } from '../types';
|
|
|
import { API_HOST, WEBSOCKET_URL } from 'src/constants';
|
|
|
import ReactionBar from '../Components/ReactionBar';
|
|
|
import OptionsMenu from '../Components/OptionsMenu';
|
|
@@ -448,7 +448,7 @@ const ChatScreen = ({ route }: { route: any }) => {
|
|
|
<View style={{ width: 200, height: 200, backgroundColor: Colors.DARK_BLUE }}>
|
|
|
<Video
|
|
|
ref={videoRef}
|
|
|
- source={{ uri: currentMessage.video }}
|
|
|
+ source={{ uri: currentMessage.video, headers: { Nmtoken: token } }}
|
|
|
style={{ flex: 1 }}
|
|
|
useNativeControls
|
|
|
resizeMode={ResizeMode.CONTAIN}
|
|
@@ -815,7 +815,15 @@ const ChatScreen = ({ route }: { route: any }) => {
|
|
|
pending: message.status === 1,
|
|
|
sent: message.status === 2,
|
|
|
received: message.status === 3,
|
|
|
- deleted: message.status === 4
|
|
|
+ deleted: message.status === 4,
|
|
|
+ video:
|
|
|
+ message.attachement !== -1 && message.attachement?.filetype.startsWith('video')
|
|
|
+ ? API_HOST + message.attachement?.attachment_link
|
|
|
+ : null,
|
|
|
+ image:
|
|
|
+ message.attachement !== -1 && message.attachement?.filetype.startsWith('image')
|
|
|
+ ? API_HOST + message.attachement?.attachment_small_url
|
|
|
+ : null
|
|
|
};
|
|
|
};
|
|
|
|
|
@@ -829,6 +837,7 @@ const ChatScreen = ({ route }: { route: any }) => {
|
|
|
useCallback(() => {
|
|
|
if (chatData?.messages) {
|
|
|
const mappedMessages = chatData.messages.map(mapApiMessageToGiftedMessage);
|
|
|
+ console.log('mappedMessages', mappedMessages[0]);
|
|
|
|
|
|
if (unreadMessageIndex === null && !isFetching) {
|
|
|
const firstUnreadIndex = mappedMessages.findLastIndex(
|
|
@@ -1389,7 +1398,7 @@ const ChatScreen = ({ route }: { route: any }) => {
|
|
|
const { currentMessage } = props;
|
|
|
return (
|
|
|
<TouchableOpacity
|
|
|
- onPress={() => setSelectedMedia(currentMessage.image)}
|
|
|
+ onPress={() => setSelectedMedia(API_HOST + currentMessage.attachment.attachment_full_url)}
|
|
|
onLongPress={() => handleLongPress(currentMessage, props)}
|
|
|
style={styles.imageContainer}
|
|
|
>
|