@@ -52,6 +52,15 @@ const DiscSubtitleRow = ({
|
|||||||
const handlePlayDisc = (discNumber) => () => {
|
const handlePlayDisc = (discNumber) => () => {
|
||||||
onClick(discNumber)
|
onClick(discNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let subtitle = []
|
||||||
|
if (record.discNumber > 0) {
|
||||||
|
subtitle.push(record.discNumber)
|
||||||
|
}
|
||||||
|
if (record.discSubtitle) {
|
||||||
|
subtitle.push(record.discSubtitle)
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TableRow
|
<TableRow
|
||||||
hover
|
hover
|
||||||
@@ -61,8 +70,7 @@ const DiscSubtitleRow = ({
|
|||||||
<TableCell colSpan={colSpan}>
|
<TableCell colSpan={colSpan}>
|
||||||
<Typography variant="h6" className={classes.subtitle}>
|
<Typography variant="h6" className={classes.subtitle}>
|
||||||
<AlbumIcon className={classes.discIcon} fontSize={'small'} />
|
<AlbumIcon className={classes.discIcon} fontSize={'small'} />
|
||||||
{record.discNumber}
|
{subtitle.join(': ')}
|
||||||
{record.discSubtitle && `: ${record.discSubtitle}`}
|
|
||||||
</Typography>
|
</Typography>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
@@ -148,11 +156,13 @@ const SongDatagridBody = ({
|
|||||||
if (!ids) {
|
if (!ids) {
|
||||||
return new Set()
|
return new Set()
|
||||||
}
|
}
|
||||||
|
let foundSubtitle = false
|
||||||
const set = new Set(
|
const set = new Set(
|
||||||
ids
|
ids
|
||||||
.filter((i) => data[i])
|
.filter((i) => data[i])
|
||||||
.reduce((acc, id) => {
|
.reduce((acc, id) => {
|
||||||
const last = acc && acc[acc.length - 1]
|
const last = acc && acc[acc.length - 1]
|
||||||
|
foundSubtitle = foundSubtitle || data[id].discSubtitle
|
||||||
if (
|
if (
|
||||||
acc.length === 0 ||
|
acc.length === 0 ||
|
||||||
(last && data[id].discNumber !== data[last].discNumber)
|
(last && data[id].discNumber !== data[last].discNumber)
|
||||||
@@ -162,7 +172,7 @@ const SongDatagridBody = ({
|
|||||||
return acc
|
return acc
|
||||||
}, [])
|
}, [])
|
||||||
)
|
)
|
||||||
if (!showDiscSubtitles || set.size < 2) {
|
if (!showDiscSubtitles || (set.size < 2 && !foundSubtitle)) {
|
||||||
set.clear()
|
set.clear()
|
||||||
}
|
}
|
||||||
return set
|
return set
|
||||||
|
|||||||
Reference in New Issue
Block a user