diff --git a/packages/web/lib/networking/queries/useGetArticleQuery.tsx b/packages/web/lib/networking/queries/useGetArticleQuery.tsx index a72eaad0c..3c318ba15 100644 --- a/packages/web/lib/networking/queries/useGetArticleQuery.tsx +++ b/packages/web/lib/networking/queries/useGetArticleQuery.tsx @@ -19,8 +19,8 @@ type ArticleQueryInput = { type ArticleQueryOutput = { articleData?: ArticleData - articleFetchError: unknown isLoading: boolean + articleFetchError: string[] | null } type ArticleData = { @@ -113,8 +113,8 @@ export function useGetArticleQuery({ return { articleData: resultData, - articleFetchError: resultError as unknown, isLoading: !error && !data, + articleFetchError: resultError ? resultError as string[] : null, } } diff --git a/packages/web/pages/[username]/[slug]/index.tsx b/packages/web/pages/[username]/[slug]/index.tsx index 09d0bb303..cc18240c3 100644 --- a/packages/web/pages/[username]/[slug]/index.tsx +++ b/packages/web/pages/[username]/[slug]/index.tsx @@ -42,17 +42,15 @@ export default function Home(): JSX.Element { const scrollRef = useRef(null) const { slug } = router.query const [showHighlightsModal, setShowHighlightsModal] = useState(false) - const { viewerData } = useGetViewerQuery() const readerSettings = useReaderSettings() - const { articleData } = useGetArticleQuery({ + const { articleData, articleFetchError } = useGetArticleQuery({ username: router.query.username as string, slug: router.query.slug as string, includeFriendsHighlights: false, }) const article = articleData?.article.article - const [labels, setLabels] = useState([]) useEffect(() => { if (article?.labels) { @@ -118,6 +116,11 @@ export default function Home(): JSX.Element { } }, [article, viewerData]) + if (articleFetchError && articleFetchError.indexOf('NOT_FOUND') > -1) { + router.push('/404') + return + } + return (