fixes on watch page
This commit is contained in:
@@ -80,13 +80,16 @@ async function loadMetadata() {
|
|||||||
document.getElementById('detail-season').innerText = season && seasonYear ? `${season} ${seasonYear}` : (season || seasonYear || '--');
|
document.getElementById('detail-season').innerText = season && seasonYear ? `${season} ${seasonYear}` : (season || seasonYear || '--');
|
||||||
document.getElementById('detail-cover-image').src = coverImage || '/default-cover.jpg';
|
document.getElementById('detail-cover-image').src = coverImage || '/default-cover.jpg';
|
||||||
|
|
||||||
if (Array.isArray(characters) && characters.length > 0) {
|
if (extName) {
|
||||||
populateCharacters(characters, isAnilistFormat);
|
await loadExtensionEpisodes();
|
||||||
|
} else {
|
||||||
|
if (data.nextAiringEpisode?.episode) {
|
||||||
|
totalEpisodes = data.nextAiringEpisode.episode - 1;
|
||||||
|
} else if (data.episodes) {
|
||||||
|
totalEpisodes = data.episodes;
|
||||||
|
} else {
|
||||||
|
totalEpisodes = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!extName) {
|
|
||||||
totalEpisodes = episodesCount;
|
|
||||||
if (totalEpisodes > 0) {
|
|
||||||
const simpleEpisodes = [];
|
const simpleEpisodes = [];
|
||||||
for (let i = 1; i <= totalEpisodes; i++) {
|
for (let i = 1; i <= totalEpisodes; i++) {
|
||||||
simpleEpisodes.push({
|
simpleEpisodes.push({
|
||||||
@@ -98,10 +101,6 @@ async function loadMetadata() {
|
|||||||
}
|
}
|
||||||
populateEpisodeCarousel(simpleEpisodes);
|
populateEpisodeCarousel(simpleEpisodes);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
|
|
||||||
await loadExtensionEpisodes();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentEpisode >= totalEpisodes && totalEpisodes > 0) {
|
if (currentEpisode >= totalEpisodes && totalEpisodes > 0) {
|
||||||
document.getElementById('next-btn').disabled = true;
|
document.getElementById('next-btn').disabled = true;
|
||||||
@@ -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) {
|
function populateEpisodeCarousel(episodesData) {
|
||||||
const carousel = document.getElementById('episode-carousel');
|
const carousel = document.getElementById('episode-carousel');
|
||||||
carousel.innerHTML = '';
|
carousel.innerHTML = '';
|
||||||
|
|||||||
@@ -98,22 +98,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<section class="anime-extra-content">
|
|
||||||
<div class="content-container">
|
|
||||||
<div class="characters-section">
|
|
||||||
<div class="characters-header">
|
|
||||||
<h2>Cast & Characters</h2>
|
|
||||||
<button id="expand-characters-btn" class="expand-btn" data-expanded="false">
|
|
||||||
<span>Show All</span>
|
|
||||||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 15l-6 6-6-6"/></svg>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div id="characters-list" class="characters-carousel">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../src/scripts/anime/player.js"></script>
|
<script src="../src/scripts/anime/player.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user