All files / apps/host/src/components/ChatBox ImagePreview.tsx

100% Statements 5/5
100% Branches 2/2
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                        1x 3x 3x   2x                      
import React from 'react';
import { Image, TouchableOpacity, View } from 'react-native';
 
import { CloseIcon } from '@repo/ui/icons/Close';
 
import { useStyles } from './styles';
 
interface ImagePreviewProps {
  uri: string | null;
  onRemove: () => void;
}
 
export const ImagePreview: React.FC<ImagePreviewProps> = ({ uri, onRemove }) => {
  const styles = useStyles();
  if (!uri) return null;
 
  return (
    <View style={styles.previewContainer}>
      <View style={styles.previewWrapper}>
        <Image source={{ uri }} style={styles.imagePreview} />
        <TouchableOpacity style={styles.removeImageBtn} onPress={onRemove}>
          <CloseIcon width={16} height={16} color="#fff" />
        </TouchableOpacity>
      </View>
    </View>
  );
};