diff --git a/ui/src/common/SongDatagrid.js b/ui/src/common/SongDatagrid.js index 6985121e1..fcc21b96e 100644 --- a/ui/src/common/SongDatagrid.js +++ b/ui/src/common/SongDatagrid.js @@ -52,6 +52,15 @@ const DiscSubtitleRow = ({ const handlePlayDisc = (discNumber) => () => { onClick(discNumber) } + + let subtitle = [] + if (record.discNumber > 0) { + subtitle.push(record.discNumber) + } + if (record.discSubtitle) { + subtitle.push(record.discSubtitle) + } + return ( - {record.discNumber} - {record.discSubtitle && `: ${record.discSubtitle}`} + {subtitle.join(': ')} @@ -148,11 +156,13 @@ const SongDatagridBody = ({ if (!ids) { return new Set() } + let foundSubtitle = false const set = new Set( ids .filter((i) => data[i]) .reduce((acc, id) => { const last = acc && acc[acc.length - 1] + foundSubtitle = foundSubtitle || data[id].discSubtitle if ( acc.length === 0 || (last && data[id].discNumber !== data[last].discNumber) @@ -162,7 +172,7 @@ const SongDatagridBody = ({ return acc }, []) ) - if (!showDiscSubtitles || set.size < 2) { + if (!showDiscSubtitles || (set.size < 2 && !foundSubtitle)) { set.clear() } return set