diff options
author | (quasar) nebula <towerofnix@gmail.com> | 2021-06-01 15:32:03 -0300 |
---|---|---|
committer | (quasar) nebula <towerofnix@gmail.com> | 2021-06-01 15:32:03 -0300 |
commit | 234747721fec14e69fc75d6c0134ad4a5ae7736e (patch) | |
tree | 2f478d474ee0a0e0d009d7bc39589e89da39c181 /src/util/wiki-data.js | |
parent | 76207fff8bd19d443242ceb841aba09d2fc24190 (diff) |
basic module-ify album pages
Other pages are commented out for now. Also, this doesn't include the source .txt processing functions yet, 8ut that'll pro8a8ly end up in the page/ files too.
Diffstat (limited to 'src/util/wiki-data.js')
-rw-r--r-- | src/util/wiki-data.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/util/wiki-data.js b/src/util/wiki-data.js index e76722bd..13b86090 100644 --- a/src/util/wiki-data.js +++ b/src/util/wiki-data.js @@ -89,6 +89,15 @@ export function sortByArtDate(data) { // Specific data utilities +export function getAlbumCover(album, {to}) { + return to('media.albumCover', album.directory); +} + +export function getAlbumListTag(album) { + // TODO: This is hard-coded! No. 8ad. + return (album.directory === 'unreleased-tracks' ? 'ul' : 'ol'); +} + // This gets all the track o8jects defined in every al8um, and sorts them 8y // date released. Generally, albumData will pro8a8ly already 8e sorted 8efore // you pass it to this function, 8ut individual tracks can have their own @@ -124,3 +133,25 @@ export function getArtistCommentary(artist, {justEverythingMan}) { .replace(/<\/?b>/g, '') .includes('<i>' + artist.name + ':</i>'))); } + +export function getFlashCover(flash, {to}) { + return to('media.flashArt', flash.directory); +} + +export function getFlashLink(flash) { + return `https://homestuck.com/story/${flash.page}`; +} + +export function getTotalDuration(tracks) { + return tracks.reduce((duration, track) => duration + track.duration, 0); +} + +export function getTrackCover(track, {to}) { + // Some al8ums don't have any track art at all, and in those, every track + // just inherits the al8um's own cover art. + if (track.coverArtists === null) { + return getAlbumCover(track.album, {to}); + } else { + return to('media.trackCover', track.album.directory, track.directory); + } +} |