diff options
Diffstat (limited to 'src/page')
-rw-r--r-- | src/page/artist.js | 25 | ||||
-rw-r--r-- | src/page/group.js | 9 | ||||
-rw-r--r-- | src/page/track.js | 13 |
3 files changed, 31 insertions, 16 deletions
diff --git a/src/page/artist.js b/src/page/artist.js index c15e0342..17ff5b66 100644 --- a/src/page/artist.js +++ b/src/page/artist.js @@ -16,7 +16,10 @@ import { import { chunkByProperties, getTotalDuration, - sortByDate + sortAlbumsTracksChronologically, + sortByDate, + sortByDirectory, + sortChronologically, } from '../util/wiki-data.js'; // Page exports @@ -30,19 +33,19 @@ export function write(artist, {wikiData}) { const { name, urls, contextNotes } = artist; - const artThingsAll = sortByDate(unique([ + const artThingsAll = sortAlbumsTracksChronologically(unique([ ...artist.albumsAsCoverArtist ?? [], ...artist.albumsAsWallpaperArtist ?? [], ...artist.albumsAsBannerArtist ?? [], ...artist.tracksAsCoverArtist ?? [] - ])); + ]), {getDate: o => o.coverArtDate}); - const artThingsGallery = sortByDate([ + const artThingsGallery = sortAlbumsTracksChronologically([ ...artist.albumsAsCoverArtist ?? [], ...artist.tracksAsCoverArtist ?? [] - ]); + ], {getDate: o => o.coverArtDate}); - const commentaryThings = sortByDate([ + const commentaryThings = sortAlbumsTracksChronologically([ ...artist.albumsAsCommentator ?? [], ...artist.tracksAsCommentator ?? [] ]); @@ -56,24 +59,24 @@ export function write(artist, {wikiData}) { key }); - const artListChunks = chunkByProperties(sortByDate(artThingsAll.flatMap(thing => + const artListChunks = chunkByProperties(artThingsAll.flatMap(thing => (['coverArtistContribs', 'wallpaperArtistContribs', 'bannerArtistContribs'] .map(key => getArtistsAndContrib(thing, key)) .filter(({ contrib }) => contrib) .map(props => ({ album: thing.album || thing, track: thing.album ? thing : null, - date: +(thing.coverArtDate || thing.date), + date: thing.date, ...props }))) - )), ['date', 'album']); + ), ['date', 'album']); const commentaryListChunks = chunkByProperties(commentaryThings.map(thing => ({ album: thing.album || thing, track: thing.album ? thing : null })), ['album']); - const allTracks = sortByDate(unique([ + const allTracks = sortAlbumsTracksChronologically(unique([ ...artist.tracksAsArtist ?? [], ...artist.tracksAsContributor ?? [] ])); @@ -119,7 +122,7 @@ export function write(artist, {wikiData}) { let flashes, flashListChunks; if (wikiInfo.enableFlashesAndGames) { - flashes = sortByDate(artist.flashesAsContributor?.slice() ?? []); + flashes = sortChronologically(artist.flashesAsContributor?.slice() ?? []); flashListChunks = ( chunkByProperties(flashes.map(flash => ({ act: flash.act, diff --git a/src/page/group.js b/src/page/group.js index eb401dd0..4eb8fb3e 100644 --- a/src/page/group.js +++ b/src/page/group.js @@ -8,7 +8,7 @@ import * as html from '../util/html.js'; import { getTotalDuration, - sortByDate + sortChronologically, } from '../util/wiki-data.js'; // Page exports @@ -142,7 +142,12 @@ export function write(group, {wikiData}) { )} <div class="grid-listing"> ${getAlbumGridHTML({ - entries: sortByDate(group.albums.map(item => ({item}))).reverse(), + entries: sortChronologically(group.albums.map(album => ({ + item: album, + directory: album.directory, + name: album.name, + date: album.date, + }))).reverse(), details: true })} </div> diff --git a/src/page/track.js b/src/page/track.js index d51cee21..04e00ee3 100644 --- a/src/page/track.js +++ b/src/page/track.js @@ -19,7 +19,7 @@ import { import { getTrackCover, getAlbumListTag, - sortByDate + sortChronologically, } from '../util/wiki-data.js'; // Page exports @@ -36,8 +36,15 @@ export function write(track, {wikiData}) { let flashesThatFeature; if (wikiInfo.enableFlashesAndGames) { - flashesThatFeature = sortByDate([track, ...otherReleases] - .flatMap(track => track.featuredInFlashes.map(flash => ({flash, as: track})))); + flashesThatFeature = sortChronologically([track, ...otherReleases] + .flatMap(track => track.featuredInFlashes + .map(flash => ({ + flash, + as: track, + directory: flash.directory, + name: flash.name, + date: flash.date + })))); } const unbound_getTrackItem = (track, {getArtistString, link, language}) => ( |