import { useEffect } from 'react' import { useRouter } from 'next/router' import Link from 'next/link' import gql from 'graphql-tag' import { useQuery } from '@apollo/react-hooks' const ViewerQuery = gql` query ViewerQuery { viewer { id email } } ` const Index = () => { const router = useRouter() const { data, loading, error } = useQuery(ViewerQuery) const viewer = data?.viewer const shouldRedirect = !(loading || error || viewer) useEffect(() => { if (shouldRedirect) { router.push('/signin') } // eslint-disable-next-line react-hooks/exhaustive-deps }, [shouldRedirect]) if (error) { return
{error.message}
} if (viewer) { return ( ) } returnLoading...
} export default Index