fix when a source fails to load mangas

This commit is contained in:
Aria Moradi
2021-09-18 00:05:00 +04:30
parent 2de37687ae
commit 7217b833d3

View File

@@ -22,9 +22,10 @@ export default function SourceMangas(props: { popular: boolean }) {
const [mangas, setMangas] = useState<IMangaCard[]>([]); const [mangas, setMangas] = useState<IMangaCard[]>([]);
const [hasNextPage, setHasNextPage] = useState<boolean>(false); const [hasNextPage, setHasNextPage] = useState<boolean>(false);
const [lastPageNum, setLastPageNum] = useState<number>(1); const [lastPageNum, setLastPageNum] = useState<number>(1);
const [fetched, setFetched] = useState<boolean>(false);
useEffect(() => { useEffect(() => {
setTitle('Source'); // title is deligated to `MangaGrid` but we set it here once setTitle('Source'); // title is later set after a fetch but we set it here once
}, []); }, []);
useEffect(() => { useEffect(() => {
@@ -49,7 +50,7 @@ export default function SourceMangas(props: { popular: boolean }) {
client.get(`/api/v1/source/${sourceId}`) client.get(`/api/v1/source/${sourceId}`)
.then((response) => response.data) .then((response) => response.data)
.then((data: ISource) => { .then((data: ISource) => {
setTitle(data.name); setTitle(data.displayName);
setIsConfigurable(data.isConfigurable); setIsConfigurable(data.isConfigurable);
}); });
}, []); }, []);
@@ -65,15 +66,20 @@ export default function SourceMangas(props: { popular: boolean }) {
title: it.title, thumbnailUrl: it.thumbnailUrl, id: it.id, title: it.title, thumbnailUrl: it.thumbnailUrl, id: it.id,
}))]); }))]);
setHasNextPage(data.hasNextPage); setHasNextPage(data.hasNextPage);
setFetched(true);
}); });
}, [lastPageNum]); }, [lastPageNum]);
let message;
if (fetched) message = 'No manga was found!';
return ( return (
<MangaGrid <MangaGrid
mangas={mangas} mangas={mangas}
hasNextPage={hasNextPage} hasNextPage={hasNextPage}
lastPageNum={lastPageNum} lastPageNum={lastPageNum}
setLastPageNum={setLastPageNum} setLastPageNum={setLastPageNum}
message={message}
/> />
); );
} }