diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2022-05-12 21:55:03 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2022-05-12 21:55:41 -0300 |
commit | 589273c5e1d63e5f68ecedd68c9d4b49c36b25f4 (patch) | |
tree | f63558c64813531496d5306a754b7773e6a2bd95 /src/misc-templates.js | |
parent | 9dbc0792c8988e97b1b93b83b27b1aa62dfc1875 (diff) |
additional files
These are basically supported for tracks but I've only implemented them for albums for the moment (read: I'm lazy!).
Diffstat (limited to 'src/misc-templates.js')
-rw-r--r-- | src/misc-templates.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/misc-templates.js b/src/misc-templates.js index 5aec92ee..ec583989 100644 --- a/src/misc-templates.js +++ b/src/misc-templates.js @@ -28,6 +28,40 @@ const MASTODON_DOMAINS = [ 'types.pl', ]; +// "Additional Files" listing + +export function generateAdditionalFilesShortcut(additionalFiles, {language}) { + if (!additionalFiles?.length) return ''; + + return language.$('releaseInfo.additionalFiles.shortcut', { + anchorLink: `<a href="#additional-files">${language.$('releaseInfo.additionalFiles.shortcut.anchorLink')}</a>`, + titles: language.formatUnitList(additionalFiles.map(g => g.title)) + }); +} + +export function generateAdditionalFilesList(additionalFiles, {language, linkFile}) { + if (!additionalFiles?.length) return ''; + + const fileCount = additionalFiles.flatMap(g => g.files).length; + + return fixWS` + <p id="additional-files">${language.$('releaseInfo.additionalFiles.heading', {fileCount})}</p> + <dl> + ${additionalFiles.map(({ title, description, files }) => fixWS` + <dt>${(description + ? language.$('releaseInfo.additionalFiles.entry.withDescription', {title, description}) + : language.$('releaseInfo.additionalFiles.entry', {title}))}</dt> + <dd><ul> + ${files.map(file => `<li>${language.$('releaseInfo.additionalFiles.file', { + file: linkFile(file), + size: '<i>pre-computed size</i>' + })}</li>`).join('\n')} + </ul></dd> + `).join('\n')} + </dl> + `; +} + // Artist strings export function getArtistString(artists, { |