feat: artist in filename, hide album=title subtitle, remove title hover
Naming convention (download + edit-metadata):
Before: {01 - }Title.ext
After: {01 - }Artist1, Artist2 - Title.ext
- ytdlp.js: builds fileBase with artist prefix; findExistingTrack checks
both new and old format so existing files aren't re-downloaded
- metadata.js: findExistingTrack accepts optional safeArtist param
- novasonic-server.js: file rename on title edit now includes artist
(falls back to Navidrome's stored artist if not provided in body)
Song list subtitle: hide album name when album === title (singles where
the album is named after the track appear to duplicate the title)
Player bar: removed .player-title:hover underline/colour effect
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
2dd3d7c7e5
commit
7ba5b8ce9a
5 files changed
+26
-17
No files matched your search
+2
-1
@@ -40,7 +40,8 @@ export function makeSongItem(s, idx, list, { noArtistLink = false, noAlbumLink =
|
||||
: `<span class="song-link" onclick="event.stopPropagation();s_goArtist(event,'${esc(a.name)}','${a.id||''}')">${esc(a.name)}</span>`
|
||||
).join('<span style="color:var(--text3)"> • </span>')
|
||||
: '';
|
||||
const albumHtml = !noAlbumLink && (s.albumId||s.album)
|
||||
// Hide album in subtitle when it's identical to the track title (common for singles)
|
||||
const albumHtml = !noAlbumLink && (s.albumId||s.album) && s.album !== s.title
|
||||
? `<span style="color:var(--text3)"> · </span><span class="song-link" onclick="event.stopPropagation();s_goAlbum(event,'${s.albumId||''}','${esc(s.album||'')}','${esc(s.artist||'')}','${s.artistId||''}')">${esc(s.album||'')}</span>`
|
||||
: '';
|
||||
const playsHtml = S.cfg.showPlayCount
|
||||
|
||||
Reference in new issue
Block a user