diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-07-16 11:59:14 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-07-16 11:59:14 -0300 |
commit | d278cc4537b247dbfb3ccf806b5065e1642c8cb4 (patch) | |
tree | 37145c1ed7a60152e11dcd81f59b6bfc9e72ca91 /src/content/dependencies/generateAlbumGalleryStatsLine.js | |
parent | f238efbf84d262274c28c04c0881a5464caf6a03 (diff) |
content: generateAlbumGalleryCoverArtistsLine
Diffstat (limited to 'src/content/dependencies/generateAlbumGalleryStatsLine.js')
-rw-r--r-- | src/content/dependencies/generateAlbumGalleryStatsLine.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/content/dependencies/generateAlbumGalleryStatsLine.js b/src/content/dependencies/generateAlbumGalleryStatsLine.js new file mode 100644 index 0000000..df36084 --- /dev/null +++ b/src/content/dependencies/generateAlbumGalleryStatsLine.js @@ -0,0 +1,38 @@ +import {getTotalDuration} from '../../util/wiki-data.js'; + +export default { + extraDependencies: ['html', 'language'], + + data(album) { + return { + name: album.name, + date: album.date, + duration: getTotalDuration(album.tracks), + numTracks: album.tracks.length, + }; + }, + + generate(data, {html, language}) { + const parts = ['albumGalleryPage.statsLine']; + const options = {}; + + options.tracks = + html.tag('b', + language.countTracks(data.numTracks, {unit: true})); + + options.duration = + html.tag('b', + language.formatDuration(data.duration, {unit: true})); + + if (data.date) { + parts.push('withDate'); + options.date = + html.tag('b', + language.formatDate(data.date)); + } + + return ( + html.tag('p', {class: 'quick-info'}, + language.formatString(parts.join('.'), options))); + }, +}; |