embed support

This commit is contained in:
mi
2025-11-18 13:40:52 +10:00
parent d374df6b0b
commit 882eed90f9
5 changed files with 58 additions and 16 deletions

View File

@@ -80,8 +80,8 @@
const comicImageDiv = document.querySelector('.comic-image');
updateComicImage(comicImageDiv, comic, title);
// Update or create/remove the link wrapper (only for single-image comics)
if (!comic.is_multi_image) {
// Update or create/remove the link wrapper (only for single-image comics, not HTML embeds)
if (!comic.is_multi_image && !comic.html_embed) {
updateComicImageLink(comic.number);
}
@@ -181,15 +181,26 @@
// Clear all existing content
comicImageDiv.innerHTML = '';
// Update container class for multi-image
if (comic.is_multi_image) {
// Update container classes
if (comic.html_embed) {
comicImageDiv.classList.add('comic-image-embed');
comicImageDiv.classList.remove('comic-image-multi');
} else if (comic.is_multi_image) {
comicImageDiv.classList.add('comic-image-multi');
comicImageDiv.classList.remove('comic-image-embed');
} else {
comicImageDiv.classList.remove('comic-image-multi');
comicImageDiv.classList.remove('comic-image-embed');
}
// Create new image element(s)
if (comic.is_multi_image) {
// Create new content
if (comic.html_embed) {
// HTML embed (video, widget, etc.)
const embedWrapper = document.createElement('div');
embedWrapper.className = 'comic-embed-wrapper';
embedWrapper.innerHTML = comic.html_embed;
comicImageDiv.appendChild(embedWrapper);
} else if (comic.is_multi_image) {
// Multi-image comic (webtoon style)
comic.filenames.forEach((filename, index) => {
const img = document.createElement('img');
@@ -447,13 +458,14 @@
const formattedDate = dateDisplay ? dateDisplay.textContent : null;
updateNavButtons(currentNumber, formattedDate);
// Check if current comic is multi-image
// Check if current comic is multi-image or HTML embed
const comicImageDiv = document.querySelector('.comic-image');
const isMultiImage = comicImageDiv && comicImageDiv.classList.contains('comic-image-multi');
const isHtmlEmbed = comicImageDiv && comicImageDiv.classList.contains('comic-image-embed');
if (!isMultiImage) {
if (!isMultiImage && !isHtmlEmbed) {
updateComicImageLink(currentNumber);
} else {
} else if (isMultiImage) {
// Initialize lazy loading for multi-image comics on page load
initLazyLoad();
}