diff --git a/frontend/src/api/api.ts b/frontend/src/api/api.ts index d24b69e..0e73fda 100644 --- a/frontend/src/api/api.ts +++ b/frontend/src/api/api.ts @@ -44,4 +44,4 @@ async function downloadMedia(mediaId: number, mediaSlug: string, mediaType: stri export const downloadFilm = (mediaId: number, mediaSlug: string) => downloadMedia(mediaId, mediaSlug, 'MOVIE'); export const downloadTvSeries = (mediaId: number, mediaSlug: string, downloadId: number) => downloadMedia(mediaId, mediaSlug, 'TV', downloadId); export const downloadAnimeFilm = (mediaId: number, mediaSlug: string) => downloadMedia(mediaId, mediaSlug, 'OVA'); -export const downloadAnimeSeries = (mediaId: number, mediaSlug: string, downloadId: number) => downloadMedia(mediaId, mediaSlug, 'OVA', downloadId); +export const downloadAnimeSeries = (mediaId: number, mediaSlug: string, downloadId: number) => downloadMedia(mediaId, mediaSlug, 'TV_ANIME', downloadId); diff --git a/frontend/src/api/utils.ts b/frontend/src/api/utils.ts index d2e9eb9..9133e82 100644 --- a/frontend/src/api/utils.ts +++ b/frontend/src/api/utils.ts @@ -16,10 +16,10 @@ export const handleMovieDownload = async (item: MediaItem) => { handleDownloadError(res); }; -export const handleTVAnimeDownload = async (animeEpisodes: Episode[], item: MediaItem) => { +export const handleTVAnimeDownload = async (episodeCount: number, item: MediaItem) => { alertDownload(); - for (const episode of animeEpisodes) { - const res = (await downloadAnimeSeries(item.id, item.slug, episode.episode_id)).data; + for (let i = 0; i < episodeCount; i++) { + const res = (await downloadAnimeSeries(item.id, item.slug, i)).data; handleDownloadError(res); } }; diff --git a/frontend/src/views/Details.vue b/frontend/src/views/Details.vue index 620e869..352b99c 100644 --- a/frontend/src/views/Details.vue +++ b/frontend/src/views/Details.vue @@ -4,12 +4,14 @@ import type {Episode, MediaItem, SeasonResponse} from "@/api/interfaces"; import { onMounted, ref } from "vue"; import { getEpisodesInfo } from "@/api/api"; import { alertDownload, handleMovieDownload, handleOVADownload, handleTVAnimeDownload, handleTVDownload } from "@/api/utils"; +import {i} from "vite/dist/node/types.d-aGj9QkWt"; const route = useRoute() const item: MediaItem = JSON.parse(route.params.item) const imageUrl: string = route.params.imageUrl const animeEpisodes = ref([]) +const totalEpisodes = ref(0) const tvShowEpisodes = ref([]) const loading = ref(false) const selectingEpisodes = ref(false) @@ -32,6 +34,7 @@ onMounted(async () => { if (item.type === 'TV_ANIME') { const episodesData:Episode = JSON.parse(value.trim()); animeEpisodes.value.push(episodesData); + totalEpisodes.value = episodesData.episode_total; } else { const episodesData:SeasonResponse = JSON.parse(value.trim()); for (const seasonKey in episodesData.episodes) { @@ -54,6 +57,7 @@ const toggleEpisodeSelection = () => { } const downloadItems = async () => { + console.log(item) try { switch (item.type) { case 'TV': @@ -62,7 +66,7 @@ const downloadItems = async () => { await handleMovieDownload(item); break; case 'TV_ANIME': - await handleTVAnimeDownload(animeEpisodes.value, item); + await handleTVAnimeDownload(totalEpisodes.value, item); break; case 'OVA': case 'SPECIAL': @@ -91,7 +95,7 @@ const downloadItems = async () => {

{{ item.plot }}

{{ tvShowEpisodes[0][0].plot }}

-

Numero episodi: {{ animeEpisodes[0].episode_total }}

+

Numero episodi: {{ totalEpisodes }}

Numero stagioni: {{ tvShowEpisodes.length }}