/* eslint-disable react/display-name */ import { useQuery } from '@apollo/react-hooks'; import * as timeago from 'timeago.js'; import { ErrorMessage } from '../_shared'; import { GET_DATASET_QUERY } from '../../graphql/queries'; const About: React.FC<{ variables: any }> = ({ variables }) => { const { loading, error, data } = useQuery(GET_DATASET_QUERY, { variables, // Setting this value to true will make the component rerender when // the "networkStatus" changes, so we are able to know if it is fetching // more data notifyOnNetworkStatusChange: true, }); if (error) return ; if (loading) return
Loading
; const { result } = data.dataset; const resource = result.resources.find( (item) => item.name === variables.resource ); const stats = [ { name: 'File', stat: resource.title || resource.name }, { name: 'Description', stat: resource.description || 'N/A' }, { name: 'Size', stat: resource.size || 'N/A' }, { name: 'Created', stat: resource.created && timeago.format(resource.created), }, { name: 'Updated', stat: resource.updated && timeago.format(resource.updated), }, { name: 'Download', stat: resource.path, link: true }, ]; return ( <>

{result.title || result.name}

{stats.map((item) => (
{item.name}
{item.link ? ( {resource.format || 'Click'} ) : ( item.stat )}
))}
); }; export default About;