import React from 'react' import { useRouter } from 'next/router' import { MdErrorOutline } from 'react-icons/md' import MainWrapper from './mainWrapper' import { getRepoDetails, RepoQueryResponse } from '../../common/github/repoQuery' type Props = { error: Error | null props: RepoQueryResponse | undefined } const MainRenderer = () => { const router = useRouter() const path = router.asPath.split('?')[0] const [, owner, name] = path.split('/') const [{ error, props }, setProps] = React.useState({ error: null, props: undefined }) React.useEffect(() => { if (owner && owner.charAt(0) !== '[') { getRepoDetails(owner, name) .then((props) => setProps({ error: null, props })) .catch((error) => setProps({ error, props: undefined })) } }, [owner, name]) return (
{error ? (
{error.message}
) : !props ? (
) : (
)}
) } export default MainRenderer