BugQuery.tsx

 1import CircularProgress from '@material-ui/core/CircularProgress';
 2import React from 'react';
 3import { RouteComponentProps } from 'react-router-dom';
 4
 5import Bug from './Bug';
 6import { useGetBugQuery } from './BugQuery.generated';
 7
 8type Props = RouteComponentProps<{
 9  id: string;
10}>;
11
12const BugQuery: React.FC<Props> = ({ match }: Props) => {
13  const { loading, error, data } = useGetBugQuery({
14    variables: { id: match.params.id },
15  });
16  if (loading) return <CircularProgress />;
17  if (error) return <p>Error: {error}</p>;
18  if (!data?.defaultRepository?.bug) return <p>404.</p>;
19  return <Bug bug={data.defaultRepository.bug} />;
20};
21
22export default BugQuery;