fixes for extension sources & tweaks
This commit is contained in:
@@ -134,12 +134,25 @@ async function loadAnime() {
|
||||
}
|
||||
}
|
||||
|
||||
if (data.nextAiringEpisode?.episode) {
|
||||
totalEpisodes = data.nextAiringEpisode.episode - 1;
|
||||
} else if (data.episodes) {
|
||||
totalEpisodes = data.episodes;
|
||||
let extensionEpisodes = [];
|
||||
|
||||
if (extensionName) {
|
||||
extensionEpisodes = await loadExtensionEpisodes(animeId, extensionName);
|
||||
|
||||
if (extensionEpisodes.length > 0) {
|
||||
totalEpisodes = extensionEpisodes.length;
|
||||
} else {
|
||||
totalEpisodes = 1;
|
||||
}
|
||||
} else {
|
||||
totalEpisodes = 12;
|
||||
// MODO NORMAL (AniList)
|
||||
if (data.nextAiringEpisode?.episode) {
|
||||
totalEpisodes = data.nextAiringEpisode.episode - 1;
|
||||
} else if (data.episodes) {
|
||||
totalEpisodes = data.episodes;
|
||||
} else {
|
||||
totalEpisodes = 12;
|
||||
}
|
||||
}
|
||||
|
||||
totalEpisodes = Math.min(Math.max(totalEpisodes, 1), 5000);
|
||||
@@ -153,6 +166,27 @@ async function loadAnime() {
|
||||
}
|
||||
}
|
||||
|
||||
async function loadExtensionEpisodes(animeId, extName) {
|
||||
try {
|
||||
const url = `/api/anime/${animeId}/episodes?ext=${extName}`;
|
||||
const res = await fetch(url);
|
||||
const data = await res.json();
|
||||
|
||||
if (!Array.isArray(data)) return [];
|
||||
|
||||
return data.map(ep => ({
|
||||
id: ep.id,
|
||||
number: ep.number,
|
||||
title: ep.title || `Episode ${ep.number}`,
|
||||
url: ep.url
|
||||
}));
|
||||
} catch (err) {
|
||||
console.error("Failed to fetch extension episodes:", err);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function handleDescription(text) {
|
||||
const tmp = document.createElement("DIV");
|
||||
tmp.innerHTML = text;
|
||||
|
||||
Reference in New Issue
Block a user