feat: explicit metadata, lyrics embedding, E badge in global search
Backend: - fetchLyrics() queries LRCLIB for plain + synced lyrics - Synced lyrics saved as .lrc file (Navidrome reads these) - Plain lyrics embedded via ffmpeg -metadata lyrics= - ITUNESADVISORY=1 written for explicit tracks - explicit flag passed through album/track download chain - fetchItunesTracks + searchItunesAlbumTracks use country=us&explicit=Yes Frontend: - explicit:true sent in download payload from iTunes track data - "E" badge shown on explicit tracks in global search track list Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
3c5048f017
commit
93b859bf0e
4 files changed
+41
-10
No files matched your search
+1
-1
@@ -128,7 +128,7 @@ export function makeGlobalTrackItem(t, idx, list) {
|
||||
el.innerHTML = `
|
||||
<div class="gtrack-art">${art ? `<img src="${art}" loading="lazy">` : '<div style="width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:22px">🎵</div>'}</div>
|
||||
<div class="gtrack-info">
|
||||
<div class="gtrack-title">${esc(t.trackName||t.collectionName||'—')}</div>
|
||||
<div class="gtrack-title">${esc(t.trackName||t.collectionName||'—')}${t.trackExplicitness==='explicit'?'<span class="explicit-badge">E</span>':''}</div>
|
||||
<div class="gtrack-sub">${esc(t.artistName||'—')} · ${esc(t.collectionName||'')} ${t.releaseDate?'· '+new Date(t.releaseDate).getFullYear():''}</div>
|
||||
</div>
|
||||
<div class="gtrack-actions">
|
||||
|
||||
Reference in new issue
Block a user