Compare commits

...
2 Commits
Author SHA1 Message Date
HoneyandClaude Sonnet 4.6 ccdcda74ec fix: apply romaji overrides to album cards on home/albums/artist views
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 23:43:27 +02:00
HoneyandClaude Sonnet 4.6 01407ef3f1 feat: update sort-tag labels to reflect Romaji / English support
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 14:08:50 +02:00
3 changed files with 16 additions and 9 deletions

No files matched your search

+5 -5
View File
@@ -981,12 +981,12 @@
</div> </div>
</div> </div>
<details class="ie-sort-details"> <details class="ie-sort-details">
<summary>Sort-Tags (Japanisch)</summary> <summary>Sort-Tags (Japanisch / Englisch)</summary>
<div class="info-edit-fields" style="margin-top:8px"> <div class="info-edit-fields" style="margin-top:8px">
<label class="info-edit-label">Titel-Sort<input class="info-edit-input" id="ie-titlesort" type="text" placeholder="Romaji / Sort-Titel"></label> <label class="info-edit-label">Titel-Sort<input class="info-edit-input" id="ie-titlesort" type="text" placeholder="Romaji / Englisch"></label>
<label class="info-edit-label">Künstler-Sort<input class="info-edit-input" id="ie-artistsort" type="text" placeholder="Romaji / Sort-Künstler"></label> <label class="info-edit-label">Künstler-Sort<input class="info-edit-input" id="ie-artistsort" type="text" placeholder="Romaji / Englisch"></label>
<label class="info-edit-label">Album-Künstler-Sort<input class="info-edit-input" id="ie-albumartistsort" type="text" placeholder="Romaji / Sort-Album-Künstler"></label> <label class="info-edit-label">Album-Künstler-Sort<input class="info-edit-input" id="ie-albumartistsort" type="text" placeholder="Romaji / Englisch"></label>
<label class="info-edit-label">Album-Sort<input class="info-edit-input" id="ie-albumsort" type="text" placeholder="Romaji / Sort-Album"></label> <label class="info-edit-label">Album-Sort<input class="info-edit-input" id="ie-albumsort" type="text" placeholder="Romaji / Englisch"></label>
</div> </div>
</details> </details>
<div id="info-edit-status" style="font-size:12px;color:var(--text3);padding:0 20px 8px;min-height:18px"></div> <div id="info-edit-status" style="font-size:12px;color:var(--text3);padding:0 20px 8px;min-height:18px"></div>
+9 -2
View File
@@ -136,8 +136,15 @@ export async function removeRomajiOverride(kanji) {
} }
export function dispArtistById(id, name) { export function dispArtistById(id, name) {
if (!S.cfg.showRomaji || !_artistRomajiMap) return name || ''; if (!S.cfg.showRomaji) return name || '';
return _artistRomajiMap.get(String(id)) || name || ''; const ov = getRomajiOverrides();
if (name && ov[name]) return ov[name];
return _artistRomajiMap?.get(String(id)) || name || '';
}
export function dispAlbumName(name) {
if (!S.cfg.showRomaji) return name || '';
const ov = getRomajiOverrides();
return ov[name] || name || '';
} }
// Synchronous lookup — returns index entry for a song ID, or null if not in index. // Synchronous lookup — returns index entry for a song ID, or null if not in index.
+2 -2
View File
@@ -8,7 +8,7 @@ window._imgRetry = function(img, fallback) {
if (n > 3 || !img.src) { img.parentNode.innerHTML = `<div class="no-art">${fallback}</div>`; return; } if (n > 3 || !img.src) { img.parentNode.innerHTML = `<div class="no-art">${fallback}</div>`; return; }
setTimeout(() => { const s = img.src; img.src = ''; img.src = s; }, 1500 * n); setTimeout(() => { const s = img.src; img.src = ''; img.src = s; }, 1500 * n);
}; };
import { coverUrl, dispTitle, dispArtistParts, dispAlbum } from './api.js'; import { coverUrl, dispTitle, dispArtistParts, dispAlbum, dispArtistById, dispAlbumName } from './api.js';
// Circular imports — safe (only used inside event handlers after module init) // Circular imports — safe (only used inside event handlers after module init)
import { playQueue, toggleStar, playPreview, parseArtists } from './player.js'; import { playQueue, toggleStar, playPreview, parseArtists } from './player.js';
import { showCtxMenu, openDlModal } from './ui.js'; import { showCtxMenu, openDlModal } from './ui.js';
@@ -28,7 +28,7 @@ export function makeCard(title, sub, imgUrl, fallback='💿') {
export function makeAlbumCard(a) { export function makeAlbumCard(a) {
const cv = coverUrl(a.coverArt, 512); const cv = coverUrl(a.coverArt, 512);
const c = makeCard(a.name, a.artist||'', cv, '💿'); const c = makeCard(dispAlbumName(a.name), dispArtistById(a.artistId, a.artist||''), cv, '💿');
c.querySelector('.card-art').onclick = (e) => { e.stopPropagation(); quickPlayAlbum(a); }; c.querySelector('.card-art').onclick = (e) => { e.stopPropagation(); quickPlayAlbum(a); };
c.querySelector('.card-info').onclick = () => navigate('album-detail', a); c.querySelector('.card-info').onclick = () => navigate('album-detail', a);
return c; return c;