src/components/attach-file/file-media.tsx (40 lines of code) (raw):

import React from 'react'; import {Dimensions, ScaledSize} from 'react-native'; import Video from 'react-native-video'; import {ImageDimensions} from 'types/CustomFields'; const FileMedia = ({ file, size, }: { file: { url: string; dimensions?: { width: number; height: number; }; }; size?: ImageDimensions; }) => { let dimensions; if (size) { dimensions = size; } else { const win: ScaledSize = Dimensions.get('window'); dimensions = { minHeight: Math.min(file?.dimensions?.height || 300, win.height / 1.5), minWidth: Math.min(file?.dimensions?.width || 300, win.width), }; } return ( <Video style={dimensions} controls={true} fullscreen={false} paused={false} rate={0.0} resizeMode="contain" source={{uri: file?.url}} /> ); }; export default React.memo(FileMedia);