/* 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) => (
))}
>
);
};
export default About;