refactor(js): use display_name from API instead of client-side split

Every user-facing tag rendering now reads tag.display_name from the
server JSON. The client-side split-on-colon fallback is removed.
Series-info link switches from ?tag=<name> to ?tag_id=<int>.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-22 16:16:38 -04:00
parent 54c3d96e45
commit c9fce48a39
2 changed files with 5 additions and 11 deletions
+2 -3
View File
@@ -52,9 +52,8 @@ document.addEventListener('DOMContentLoaded', () => {
}
fandomAutocomplete.innerHTML = tags.map((t, i) => {
const displayName = t.name.includes(':') ? t.name.split(':')[1] : t.name;
return `<div class="tag-autocomplete-item" data-index="${i}" data-id="${t.id}" data-name="${displayName}">
<span class="tag-autocomplete-name">🎭 ${displayName}</span>
return `<div class="tag-autocomplete-item" data-index="${i}" data-id="${t.id}" data-name="${t.display_name}">
<span class="tag-autocomplete-name">🎭 ${t.display_name}</span>
</div>`;
}).join('');
+3 -8
View File
@@ -457,8 +457,7 @@ document.addEventListener('DOMContentLoaded', () => {
seriesTags.forEach(tag => {
const opt = document.createElement('option');
opt.value = tag.id;
// Display name without prefix
opt.textContent = tag.name.includes(':') ? tag.name.split(':', 2)[1] : tag.name;
opt.textContent = tag.display_name;
seriesSelect.appendChild(opt);
});
@@ -514,13 +513,9 @@ document.addEventListener('DOMContentLoaded', () => {
if (!seriesInfoEl || !seriesPage) return;
currentSeriesPageId = seriesPage.id;
// Display series name (strip prefix)
const displayName = seriesPage.series_name.includes(':')
? seriesPage.series_name.split(':', 2)[1]
: seriesPage.series_name;
if (seriesNameEl) {
seriesNameEl.textContent = displayName;
seriesNameEl.href = `/gallery?tag=${encodeURIComponent(seriesPage.series_name)}`;
seriesNameEl.textContent = seriesPage.series_name;
seriesNameEl.href = `/gallery?tag_id=${encodeURIComponent(seriesPage.series_tag_id)}`;
}
// Display page number