diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-02-26 18:01:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-26 18:01:52 -0400 |
commit | 2b2f252f246053bd52c36948748a3425d1c950a1 (patch) | |
tree | 38c01f7eb55d45e83ed0fe0055480c9af9e76708 /src/util | |
parent | f36f93b702729f14021746d56b192b25ac3ed1b7 (diff) | |
parent | 3b873a6d04f3d317423d1a037536692de808b6fe (diff) |
Merge pull request #151 from hsmusic/data-format-cleanup
Data format cleanup
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/wiki-data.js | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/src/util/wiki-data.js b/src/util/wiki-data.js index c93cb661..0eb86a1e 100644 --- a/src/util/wiki-data.js +++ b/src/util/wiki-data.js @@ -424,26 +424,14 @@ export function getArtistAvatar(artist, {to}) { // Big-ass homepage row functions export function getNewAdditions(numAlbums, {wikiData}) { - const {albumData} = wikiData; - - // Sort al8ums, in descending order of priority, 8y... - // - // * D8te of addition to the wiki (descending). - // * Major releases first. - // * D8te of release (descending). - // - // Major releases go first to 8etter ensure they show up in the list (and - // are usually at the start of the final output for a given d8 of release - // too). - const sortedAlbums = albumData + const sortedAlbums = wikiData.albumData .filter((album) => album.isListedOnHomepage) .sort((a, b) => { if (a.dateAddedToWiki > b.dateAddedToWiki) return -1; if (a.dateAddedToWiki < b.dateAddedToWiki) return 1; - if (a.isMajorRelease && !b.isMajorRelease) return -1; - if (!a.isMajorRelease && b.isMajorRelease) return 1; if (a.date > b.date) return -1; if (a.date < b.date) return 1; + return 0; }); // When multiple al8ums are added to the wiki at a time, we want to show @@ -515,28 +503,13 @@ export function getNewAdditions(numAlbums, {wikiData}) { } } - // Finally, do some quick mapping shenanigans to 8etter display the result - // in a grid. (This should pro8a8ly 8e a separ8te, shared function, 8ut - // whatevs.) - return albums.map((album) => ({large: album.isMajorRelease, item: album})); + return albums.map((album) => ({item: album})); } export function getNewReleases(numReleases, {wikiData}) { - const {albumData} = wikiData; - - const latestFirst = albumData + return wikiData.albumData .filter((album) => album.isListedOnHomepage) - .reverse(); - - const majorReleases = latestFirst.filter((album) => album.isMajorRelease); - majorReleases.splice(1); - - const otherReleases = latestFirst - .filter((album) => !majorReleases.includes(album)) - .slice(0, numReleases - majorReleases.length); - - return [ - ...majorReleases.map((album) => ({large: true, item: album})), - ...otherReleases.map((album) => ({large: false, item: album})), - ]; + .reverse() + .slice(0, numReleases) + .map((album) => ({item: album})); } |