import React, { useState, useMemo } from "react"; import { FlatList, Image, RefreshControl, Text, TouchableOpacity, View, } from "react-native"; import env from "../../env"; import { DetermineFileType } from "../../util/document-upload.utility"; import MediaCacheOverlay from "../media-cache-overlay/media-cache-overlay.component"; export default function JobDocumentsComponent({ job, loading, refetch }) { const [previewVisible, setPreviewVisible] = useState(false); const [imgIndex, setImgIndex] = useState(0); const onRefresh = async () => { return refetch(); }; const fullphotos = useMemo( () => job.documents.map((doc) => { return { source: { uri: `${env.REACT_APP_CLOUDINARY_ENDPOINT}/${DetermineFileType( doc.type )}/upload/${doc.key}`, }, }; }), [job.documents] ); return ( } data={job.documents} numColumns={4} keyExtractor={(item) => item.id} renderItem={(object) => ( { setImgIndex(object.index); setPreviewVisible(true); }} > )} /> {job.documents.length} ); }