1import * as React from 'react';
2import { useParams } from 'react-router-dom';
3
4import CircularProgress from '@material-ui/core/CircularProgress';
5
6import { useGetUserByIdQuery } from '../../components/Identity/UserIdentity.generated';
7
8import Identity from './Identity';
9
10const UserQuery: React.FC = () => {
11 const params = useParams<'id'>();
12 if (params.id === undefined) throw new Error();
13
14 const { loading, error, data } = useGetUserByIdQuery({
15 variables: { userId: params.id },
16 });
17 if (loading) return <CircularProgress />;
18 if (error) return <p>Error: {error}</p>;
19 if (!data?.repository?.identity) return <p>404.</p>;
20 return <Identity identity={data.repository.identity} />;
21};
22
23export default UserQuery;