Rocket.Chat.ReactNative/app/containers/ImageViewer/ImageComponent.ts

25 lines
652 B
TypeScript
Raw Normal View History

import React from 'react';
import { Image } from 'react-native';
import { FastImageProps } from 'react-native-fast-image';
import { types } from './types';
import { LOCAL_DOCUMENT_PATH } from '../../lib/methods/handleMediaDownload';
export function ImageComponent({
type,
uri
}: {
type?: string;
uri: string;
}): React.ComponentType<Partial<Image> | FastImageProps> {
let Component;
if (type === types.REACT_NATIVE_IMAGE || uri.startsWith(LOCAL_DOCUMENT_PATH)) {
const { Image } = require('react-native');
Component = Image;
} else {
const FastImage = require('react-native-fast-image');
Component = FastImage;
}
return Component;
}