From e4853864ec3cd322d6740b40d0f1a4f9e6665ffa Mon Sep 17 00:00:00 2001 From: Aria Moradi Date: Sun, 5 Sep 2021 01:11:25 +0430 Subject: [PATCH] migrate genre type --- src/components/anime/AnimeDetails.tsx | 2 +- src/components/manga/MangaDetails.tsx | 2 +- src/screens/anime/Anime.tsx | 4 ++-- src/screens/anime/AnimeSearchSingle.tsx | 2 +- src/screens/anime/Player.tsx | 2 +- src/screens/anime/SourceAnimes.tsx | 2 +- src/typings.d.ts | 22 ++++++++++++++++++++++ 7 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/components/anime/AnimeDetails.tsx b/src/components/anime/AnimeDetails.tsx index a3c1f25a..66a296a9 100644 --- a/src/components/anime/AnimeDetails.tsx +++ b/src/components/anime/AnimeDetails.tsx @@ -117,7 +117,7 @@ const useStyles = (inLibrary: string) => makeStyles((theme: Theme) => ({ })); interface IProps{ - manga: IManga + manga: IAnime } function getSourceName(source: ISource) { diff --git a/src/components/manga/MangaDetails.tsx b/src/components/manga/MangaDetails.tsx index 8b358a05..5d0e0584 100644 --- a/src/components/manga/MangaDetails.tsx +++ b/src/components/manga/MangaDetails.tsx @@ -247,7 +247,7 @@ export default function MangaDetails(props: IProps) {

{manga.description}

- {manga.genre?.split(', ').map((g) =>
{g}
)} + {manga.genre.map((g) =>
{g}
)}
diff --git a/src/screens/anime/Anime.tsx b/src/screens/anime/Anime.tsx index 44e6461d..cc89696d 100644 --- a/src/screens/anime/Anime.tsx +++ b/src/screens/anime/Anime.tsx @@ -49,7 +49,7 @@ export default function Anime() { const { id } = useParams<{ id: string }>(); - const [manga, setManga] = useState(); + const [manga, setManga] = useState(); const [episodes, setEpisodes] = useState([]); const [fetchedEpisodes, setFetchedEpisodes] = useState(false); const [noEpisodesFound, setNoEpisodesFound] = useState(false); @@ -63,7 +63,7 @@ export default function Anime() { if (manga === undefined || !manga.freshData) { client.get(`/api/v1/anime/anime/${id}/?onlineFetch=${manga !== undefined}`) .then((response) => response.data) - .then((data: IManga) => { + .then((data: IAnime) => { setManga(data); setTitle(data.title); }); diff --git a/src/screens/anime/AnimeSearchSingle.tsx b/src/screens/anime/AnimeSearchSingle.tsx index 489f5e1c..a5e16cf5 100644 --- a/src/screens/anime/AnimeSearchSingle.tsx +++ b/src/screens/anime/AnimeSearchSingle.tsx @@ -63,7 +63,7 @@ export default function AnimeSearchSingle() { if (searchTerm.length > 0) { client.get(`/api/v1/anime/source/${sourceId}/search/${searchTerm}/${lastPageNum}`) .then((response) => response.data) - .then((data: { mangaList: IManga[], hasNextPage: boolean }) => { + .then((data: { mangaList: IAnime[], hasNextPage: boolean }) => { setMessage(''); if (data.mangaList.length > 0) { setMangas([ diff --git a/src/screens/anime/Player.tsx b/src/screens/anime/Player.tsx index f3ab94d2..09598117 100644 --- a/src/screens/anime/Player.tsx +++ b/src/screens/anime/Player.tsx @@ -45,7 +45,7 @@ export default function Player() { setTitle('Reader'); client.get(`/api/v1/anime/anime/${animeId}/`) .then((response) => response.data) - .then((data: IManga) => { + .then((data: IAnime) => { setTitle(data.title); }); }, [episodeIndex]); diff --git a/src/screens/anime/SourceAnimes.tsx b/src/screens/anime/SourceAnimes.tsx index f94d9299..f7808ee5 100644 --- a/src/screens/anime/SourceAnimes.tsx +++ b/src/screens/anime/SourceAnimes.tsx @@ -30,7 +30,7 @@ export default function SourceAnimes(props: { popular: boolean }) { const sourceType = props.popular ? 'popular' : 'latest'; client.get(`/api/v1/anime/source/${sourceId}/${sourceType}/${lastPageNum}`) .then((response) => response.data) - .then((data: { mangaList: IManga[], hasNextPage: boolean }) => { + .then((data: { mangaList: IAnime[], hasNextPage: boolean }) => { setMangas([ ...mangas, ...data.mangaList.map((it) => ({ diff --git a/src/typings.d.ts b/src/typings.d.ts index 4e5b826a..fe54e47f 100644 --- a/src/typings.d.ts +++ b/src/typings.d.ts @@ -44,6 +44,28 @@ interface IManga { title: string thumbnailUrl: string + artist: string + author: string + description: string + genre: string[] + status: string + + inLibrary: boolean + source: ISource + + realUrl: string + + freshData: boolean +} + +interface IAnime { + id: number + sourceId: string + + url: string + title: string + thumbnailUrl: string + artist: string author: string description: string