snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
35
react/features/chat/components/native/GifMessage.tsx
Normal file
35
react/features/chat/components/native/GifMessage.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
import { GiphyMediaView } from '@giphy/react-native-sdk';
|
||||
import React from 'react';
|
||||
import { Image, ImageStyle, View } from 'react-native';
|
||||
|
||||
import { extractGifMediaId, extractGifURL } from '../../../gifs/function.any';
|
||||
|
||||
import styles from './styles';
|
||||
|
||||
interface IProps {
|
||||
|
||||
/**
|
||||
* The formatted gif message.
|
||||
*/
|
||||
message: string;
|
||||
}
|
||||
|
||||
const GifMessage = ({ message }: IProps) => {
|
||||
const url = extractGifURL(message);
|
||||
const mediaId = extractGifMediaId(url);
|
||||
|
||||
return (<View
|
||||
id = 'gif-message'
|
||||
style = { styles.gifContainer }>
|
||||
{mediaId
|
||||
? <GiphyMediaView
|
||||
media = {{ id: mediaId }}
|
||||
resizeMode = 'contain'
|
||||
style = { styles.gifMedia } />
|
||||
: <Image
|
||||
source = {{ uri: url }}
|
||||
style = { styles.gifImage as ImageStyle } />}
|
||||
</View>);
|
||||
};
|
||||
|
||||
export default GifMessage;
|
||||
Reference in New Issue
Block a user