Revert "Backfill watchlist alternative titles lazily"
This reverts commit 8aa490adf8.
This commit is contained in:
+15
-78
@@ -674,8 +674,6 @@ WATCHLIST_HTML = r"""<!doctype html>
|
||||
watchlistPerPage: 30,
|
||||
queuedCount: 0,
|
||||
watchlistCategory: "watching",
|
||||
altTitleTokens: {},
|
||||
altTitlePending: new Set(),
|
||||
thumbnailNonce: Date.now(),
|
||||
thumbnailWarmupTokens: {},
|
||||
thumbnailWarmupPending: new Set(),
|
||||
@@ -865,44 +863,6 @@ WATCHLIST_HTML = r"""<!doctype html>
|
||||
.find((card) => card.dataset.showId === showId) || null;
|
||||
}
|
||||
|
||||
function altTitleToken(item) {
|
||||
return [
|
||||
item.english_title || "",
|
||||
...(item.display_alt_titles || []),
|
||||
].join("|");
|
||||
}
|
||||
|
||||
function applyAltTitles(card, item) {
|
||||
if (!card) return;
|
||||
const altTitlesNode = card.querySelector(".alt-titles");
|
||||
const oldToggle = card.querySelector(".alt-toggle");
|
||||
if (!altTitlesNode || !oldToggle) return;
|
||||
const altTitles = item.display_alt_titles || [];
|
||||
const wasVisible = altTitlesNode.classList.contains("visible");
|
||||
altTitlesNode.classList.remove("visible");
|
||||
altTitlesNode.textContent = "";
|
||||
altTitlesNode.hidden = true;
|
||||
const newToggle = oldToggle.cloneNode(true);
|
||||
oldToggle.replaceWith(newToggle);
|
||||
newToggle.hidden = true;
|
||||
newToggle.textContent = "Alternative titles";
|
||||
newToggle.setAttribute("aria-expanded", "false");
|
||||
if (!altTitles.length) return;
|
||||
altTitlesNode.hidden = false;
|
||||
altTitlesNode.textContent = altTitles.join(" · ");
|
||||
newToggle.hidden = false;
|
||||
if (wasVisible) {
|
||||
altTitlesNode.classList.add("visible");
|
||||
newToggle.textContent = "Hide alternative titles";
|
||||
newToggle.setAttribute("aria-expanded", "true");
|
||||
}
|
||||
newToggle.addEventListener("click", () => {
|
||||
const visible = altTitlesNode.classList.toggle("visible");
|
||||
newToggle.setAttribute("aria-expanded", visible ? "true" : "false");
|
||||
newToggle.textContent = visible ? "Hide alternative titles" : "Alternative titles";
|
||||
});
|
||||
}
|
||||
|
||||
function thumbnailWarmupToken(item) {
|
||||
return [
|
||||
item.thumbnail_ready ? "1" : "0",
|
||||
@@ -949,42 +909,6 @@ WATCHLIST_HTML = r"""<!doctype html>
|
||||
}
|
||||
}
|
||||
|
||||
async function hydrateAltTitlesOnce(items) {
|
||||
const missing = [];
|
||||
for (const item of items) {
|
||||
const token = altTitleToken(item);
|
||||
if ((item.display_alt_titles || []).length) {
|
||||
state.altTitlePending.delete(item.show_id);
|
||||
state.altTitleTokens[item.show_id] = token;
|
||||
continue;
|
||||
}
|
||||
if (state.altTitlePending.has(item.show_id)) continue;
|
||||
if (state.altTitleTokens[item.show_id] === token) continue;
|
||||
state.altTitlePending.add(item.show_id);
|
||||
state.altTitleTokens[item.show_id] = token;
|
||||
missing.push(item.show_id);
|
||||
if (missing.length >= 6) break;
|
||||
}
|
||||
if (!missing.length) return;
|
||||
try {
|
||||
const data = await api("/api/watchlist/ensure-alt-titles", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ show_ids: missing, limit: 6, force: false })
|
||||
});
|
||||
for (const item of data.items || []) {
|
||||
state.altTitleTokens[item.show_id] = altTitleToken(item);
|
||||
const card = findCardByShowId(item.show_id);
|
||||
if (!card) continue;
|
||||
applyAltTitles(card, item);
|
||||
}
|
||||
} catch (_error) {
|
||||
} finally {
|
||||
for (const showId of missing) {
|
||||
state.altTitlePending.delete(showId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function reloadWatchlistThumbnail(showId, title) {
|
||||
const card = findCardByShowId(showId);
|
||||
if (card) setThumbnailReloading(card, true);
|
||||
@@ -1117,7 +1041,21 @@ WATCHLIST_HTML = r"""<!doctype html>
|
||||
titleLink.rel = "noopener noreferrer";
|
||||
titleLink.textContent = item.title;
|
||||
titleNode.replaceChildren(titleLink);
|
||||
applyAltTitles(card, item);
|
||||
const altToggle = card.querySelector(".alt-toggle");
|
||||
const altTitlesNode = card.querySelector(".alt-titles");
|
||||
const altTitles = item.display_alt_titles || [];
|
||||
if (altTitles.length) {
|
||||
altToggle.hidden = false;
|
||||
altTitlesNode.hidden = false;
|
||||
altTitlesNode.textContent = altTitles.join(" · ");
|
||||
altToggle.setAttribute("aria-expanded", "false");
|
||||
altToggle.addEventListener("click", () => {
|
||||
const visible = altTitlesNode.classList.toggle("visible");
|
||||
altToggle.setAttribute("aria-expanded", visible ? "true" : "false");
|
||||
altToggle.textContent = visible ? "Hide alternative titles" : "Alternative titles";
|
||||
});
|
||||
altToggle.textContent = "Alternative titles";
|
||||
}
|
||||
const finishCheck = card.querySelector(".finish-check");
|
||||
if (finishCheck && item.finished_badge) {
|
||||
finishCheck.title = item.finished_badge === "downloaded"
|
||||
@@ -1176,7 +1114,6 @@ WATCHLIST_HTML = r"""<!doctype html>
|
||||
applyThumbnail(card, item, false);
|
||||
}
|
||||
renderPager();
|
||||
window.setTimeout(() => hydrateAltTitlesOnce(items), 120);
|
||||
window.setTimeout(() => hydrateThumbnailsOnce(items), 150);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user