From 71de050864a42afcaeb409c11b9c792653cf2f1b Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sun, 20 Feb 2022 00:24:56 -0400 Subject: basic page writes --- src/page/album.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'src/page/album.js') diff --git a/src/page/album.js b/src/page/album.js index 6e8d6db..1ebfdec 100644 --- a/src/page/album.js +++ b/src/page/album.js @@ -164,9 +164,11 @@ export function write(album, {wikiData}) { strings('releaseInfo.released', { date: strings.count.date(album.date) }), - +album.coverArtDate !== +album.date && strings('releaseInfo.artReleased', { - date: strings.count.date(album.coverArtDate) - }), + (album.coverArtDate && + +album.coverArtDate !== +album.date && + strings('releaseInfo.artReleased', { + date: strings.count.date(album.coverArtDate) + })), strings('releaseInfo.duration', { duration: strings.count.duration(albumDuration, {approximate: album.tracks.length > 1}) }) @@ -179,7 +181,7 @@ export function write(album, {wikiData}) { }) }) }

`} - ${album.urls.length && `

${ + ${album.urls?.length && `

${ strings('releaseInfo.listenOn', { links: strings.list.or(album.urls.map(url => fancifyURL(url, {album: true}))) }) @@ -263,12 +265,16 @@ export function generateAlbumSidebar(album, currentTrack, { }) { const listTag = getAlbumListTag(album); + /* const trackGroups = album.trackGroups || [{ name: strings('albumSidebar.trackList.fallbackGroupName'), color: album.color, startIndex: 0, tracks: album.tracks }]; + */ + + const { trackGroups } = album; const trackToListItem = track => html.tag('li', {class: track === currentTrack && 'current'}, @@ -276,9 +282,14 @@ export function generateAlbumSidebar(album, currentTrack, { track: link.track(track) })); + const nameOrDefault = (isDefaultTrackGroup, name) => + (isDefaultTrackGroup + ? strings('albumSidebar.trackList.fallbackGroupName') + : name); + const trackListPart = fixWS`

${link.album(album)}

- ${trackGroups.map(({ name, color, startIndex, tracks }) => + ${trackGroups.map(({ name, color, startIndex, tracks, isDefaultTrackGroup }) => html.tag('details', { // Leave side8ar track groups collapsed on al8um homepage, // since there's already a view of all the groups expanded @@ -290,11 +301,11 @@ export function generateAlbumSidebar(album, currentTrack, { {style: getLinkThemeString(color)}, (listTag === 'ol' ? strings('albumSidebar.trackList.group.withRange', { - group: `${name}`, + group: `${nameOrDefault(isDefaultTrackGroup, name)}`, range: `${startIndex + 1}–${startIndex + tracks.length}` }) : strings('albumSidebar.trackList.group', { - group: `${name}` + group: `${nameOrDefault(isDefaultTrackGroup, name)}` })) ), fixWS` @@ -319,7 +330,7 @@ export function generateAlbumSidebar(album, currentTrack, { }) } ${!currentTrack && transformMultiline(group.descriptionShort)} - ${group.urls.length && `

${ + ${group.urls?.length && `

${ strings('releaseInfo.visitOn', { links: strings.list.or(group.urls.map(url => fancifyURL(url))) }) -- cgit 1.3.0-6-gf8a5