import React from 'react';
import { View, Text, Pressable } from 'react-native';
import { Cross, Close } from '@pingtou/rn-vant-icons';
import Image from '../Image';
import Loading from '../Loading';
import { createItemStyles } from './style';
import { useThemeFactory } from '../Theme';
import type { UploaderPrviewItemProps } from './types';
const ImageItem = (props: UploaderPrviewItemProps): JSX.Element => {
const { onPreview, statusTextRender, status, url } = props;
const { styles, theme } = useThemeFactory(createItemStyles);
const renderPreview = () => (
{props.previewCoverRender?.()}
);
const renderMask = () => {
if (status === 'failed' || status === 'pending') {
const MaskIcon =
status === 'failed' ? (
) : (
);
return (
{MaskIcon}
{statusTextRender && {statusTextRender(status)}}
);
}
return null;
};
const renderDeleteIcon = () => {
if (props.deletable) {
if (props.deleteRender) {
return props.deleteRender(props.onDelete);
}
return (
);
}
return null;
};
return (
{renderPreview()}
{renderMask()}
{renderDeleteIcon()}
);
};
export default ImageItem;