fixes on watch page

This commit is contained in:
2025-12-02 19:46:37 +01:00
parent 47169a5f66
commit fb3d1a447e
2 changed files with 19 additions and 87 deletions

View File

@@ -80,27 +80,26 @@ async function loadMetadata() {
document.getElementById('detail-season').innerText = season && seasonYear ? `${season} ${seasonYear}` : (season || seasonYear || '--');
document.getElementById('detail-cover-image').src = coverImage || '/default-cover.jpg';
if (Array.isArray(characters) && characters.length > 0) {
populateCharacters(characters, isAnilistFormat);
}
if (!extName) {
totalEpisodes = episodesCount;
if (totalEpisodes > 0) {
const simpleEpisodes = [];
for (let i = 1; i <= totalEpisodes; i++) {
simpleEpisodes.push({
number: i,
title: null,
thumbnail: null,
isDub: false
});
}
populateEpisodeCarousel(simpleEpisodes);
}
} else {
if (extName) {
await loadExtensionEpisodes();
} else {
if (data.nextAiringEpisode?.episode) {
totalEpisodes = data.nextAiringEpisode.episode - 1;
} else if (data.episodes) {
totalEpisodes = data.episodes;
} else {
totalEpisodes = 12;
}
const simpleEpisodes = [];
for (let i = 1; i <= totalEpisodes; i++) {
simpleEpisodes.push({
number: i,
title: null,
thumbnail: null,
isDub: false
});
}
populateEpisodeCarousel(simpleEpisodes);
}
if (currentEpisode >= totalEpisodes && totalEpisodes > 0) {
@@ -136,57 +135,6 @@ async function loadExtensionEpisodes() {
}
}
function populateCharacters(characters, isAnilistFormat) {
const list = document.getElementById('characters-list');
list.classList.remove('characters-list');
list.classList.add('characters-carousel');
list.innerHTML = '';
characters.forEach(item => {
let character, voiceActor;
if (isAnilistFormat) {
character = item.node;
voiceActor = item.voiceActors?.find(va => va.language === 'Japanese' || va.language === 'English');
} else {
character = item;
voiceActor = null;
}
if (!character) return;
const card = document.createElement('div');
card.classList.add('character-card');
const img = document.createElement('img');
img.classList.add('character-card-img');
img.src = character.image?.large || character.image?.medium || character.image || '';
img.alt = character.name?.full || 'Character';
const details = document.createElement('div');
details.classList.add('character-details');
const name = document.createElement('p');
name.classList.add('character-name');
name.innerText = character.name?.full || character.name || '--';
const actor = document.createElement('p');
actor.classList.add('actor-name');
if (voiceActor?.name?.full) {
actor.innerText = `${voiceActor.name.full} (${voiceActor.language})`;
} else {
actor.innerText = 'Voice Actor: N/A';
}
details.appendChild(name);
details.appendChild(actor);
card.appendChild(img);
card.appendChild(details);
list.appendChild(card);
});
}
function populateEpisodeCarousel(episodesData) {
const carousel = document.getElementById('episode-carousel');
carousel.innerHTML = '';