From d400798f5fd98d56230fe4779b0231538a0ed326 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 30 Apr 2021 16:31:34 -0300 Subject: more compact layout for album/track pages! (ty...) TY for input, Niklink and megatti! --- upd8.js | 151 ++++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 80 insertions(+), 71 deletions(-) diff --git a/upd8.js b/upd8.js index 6b153b0..bc6ec90 100755 --- a/upd8.js +++ b/upd8.js @@ -3142,7 +3142,6 @@ function writeAlbumPage(album) { }, sidebarLeft: generateSidebarForAlbum(album, null, {strings, to}), - sidebarRight: generateSidebarRightForAlbum(album, null, {strings, to}), nav: { links: [ @@ -3413,7 +3412,6 @@ function writeTrackPage(track) { }, sidebarLeft: generateSidebarForAlbum(album, track, {strings, to}), - sidebarRight: generateSidebarRightForAlbum(album, track, {strings, to}), nav: { links: [ @@ -5311,79 +5309,90 @@ function generateSidebarForAlbum(album, currentTrack, {strings, to}) { }) }`; - return { - content: fixWS` -

${album.name}

- ${album.trackGroups ? fixWS` -
- ${album.trackGroups.map(({ name, color, startIndex, tracks }) => fixWS` -
${ - (listTag === 'ol' - ? strings('albumSidebar.trackList.group.withRange', { - group: strings.link.track(tracks[0], {to, text: name}), - range: `${startIndex + 1}–${startIndex + tracks.length}` - }) - : strings('albumSidebar.trackList.group', { - group: strings.link.track(tracks[0], {to, text: name}) - })) - }
- ${(!currentTrack || tracks.includes(currentTrack)) && fixWS` -
<${listTag === 'ol' ? `ol start="${startIndex + 1}"` : listTag}> - ${tracks.map(trackToListItem).join('\n')} -
- `} - `).join('\n')} -
- ` : fixWS` - <${listTag}> - ${album.tracks.map(trackToListItem).join('\n')} - - `} - ` - }; -} - -function generateSidebarRightForAlbum(album, currentTrack, {strings, to}) { - if (!wikiInfo.features.groupUI) { - return null; - } + const trackListPart = fixWS` +

${album.name}

+ ${album.trackGroups ? fixWS` +
+ ${album.trackGroups.map(({ name, color, startIndex, tracks }) => fixWS` +
${ + (listTag === 'ol' + ? strings('albumSidebar.trackList.group.withRange', { + group: strings.link.track(tracks[0], {to, text: name}), + range: `${startIndex + 1}–${startIndex + tracks.length}` + }) + : strings('albumSidebar.trackList.group', { + group: strings.link.track(tracks[0], {to, text: name}) + })) + }
+ ${(!currentTrack || tracks.includes(currentTrack)) && fixWS` +
<${listTag === 'ol' ? `ol start="${startIndex + 1}"` : listTag}> + ${tracks.map(trackToListItem).join('\n')} +
+ `} + `).join('\n')} +
+ ` : fixWS` + <${listTag}> + ${album.tracks.map(trackToListItem).join('\n')} + + `} + `; const { groups } = album; - if (groups.length) { + + const groupParts = groups.map(group => { + const index = group.albums.indexOf(album); + const next = group.albums[index + 1]; + const previous = group.albums[index - 1]; + return {group, next, previous}; + }).map(({group, next, previous}) => fixWS` +

${ + strings('albumSidebar.groupBox.title', { + group: `${group.name}` + }) + }

+ ${!currentTrack && transformMultiline(group.descriptionShort, {strings, to})} + ${group.urls.length && `

${ + strings('releaseInfo.visitOn', { + links: strings.list.or(group.urls.map(url => fancifyURL(url, {strings}))) + }) + }

`} + ${!currentTrack && fixWS` + ${next && ``} + ${previous && ``} + `} + `); + + if (groupParts.length) { + if (currentTrack) { + const combinedGroupPart = groupParts.join('\n
\n'); + return { + multiple: [ + trackListPart, + combinedGroupPart + ] + }; + } else { + return { + multiple: [ + ...groupParts, + trackListPart + ] + }; + } + } else { return { - collapse: false, - multiple: groups.map(group => { - const index = group.albums.indexOf(album); - const next = group.albums[index + 1]; - const previous = group.albums[index - 1]; - return {group, next, previous}; - }).map(({group, next, previous}) => fixWS` -

${ - strings('albumSidebar.groupBox.title', { - group: `${group.name}` - }) - }

- ${!currentTrack && transformMultiline(group.descriptionShort, {strings, to})} - ${group.urls.length && `

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

`} - ${!currentTrack && fixWS` - ${next && ``} - ${previous && ``} - `} - `) + content: trackListPart }; - }; + } } function generateSidebarForGroup(currentGroup, {strings, to, isGallery}) { -- cgit 1.3.0-6-gf8a5