From d278cc4537b247dbfb3ccf806b5065e1642c8cb4 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sun, 16 Jul 2023 11:59:14 -0300 Subject: content: generateAlbumGalleryCoverArtistsLine --- .../dependencies/generateAlbumGalleryStatsLine.js | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/content/dependencies/generateAlbumGalleryStatsLine.js (limited to 'src/content/dependencies/generateAlbumGalleryStatsLine.js') diff --git a/src/content/dependencies/generateAlbumGalleryStatsLine.js b/src/content/dependencies/generateAlbumGalleryStatsLine.js new file mode 100644 index 00000000..df36084c --- /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))); + }, +}; -- cgit 1.3.0-6-gf8a5