From b0ee6c87f95b65225e5e8c0119959833f599b3bb Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 23 May 2026 11:05:18 -0300 Subject: content, data: additional file chronology links --- .../dependencies/generateAdditionalFilesListChunk.js | 8 ++++++++ .../generateContributionTooltipChronologySection.js | 10 +++++++++- src/content/dependencies/linkAnythingMan.js | 2 ++ src/data/things/additional-file/AdditionalFile.js | 14 ++++++-------- src/strings-default.yaml | 3 +++ 5 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/content/dependencies/generateAdditionalFilesListChunk.js b/src/content/dependencies/generateAdditionalFilesListChunk.js index 18d5b894..37f0e3ce 100644 --- a/src/content/dependencies/generateAdditionalFilesListChunk.js +++ b/src/content/dependencies/generateAdditionalFilesListChunk.js @@ -98,6 +98,14 @@ export default { relations.artistCredit.setSlots({ normalStringKey: entryCapsule + '.credit', + + showAnnotation: true, + showExternalLinks: true, + showChronology: true, + + chronologyKind: + // Sorry, lol + slots.string.replace(/s$/, ''), }); if (!html.isBlank(relations.artistCredit)) { diff --git a/src/content/dependencies/generateContributionTooltipChronologySection.js b/src/content/dependencies/generateContributionTooltipChronologySection.js index 0cabc877..58bbddd0 100644 --- a/src/content/dependencies/generateContributionTooltipChronologySection.js +++ b/src/content/dependencies/generateContributionTooltipChronologySection.js @@ -3,7 +3,15 @@ function getName(thing) { return null; } - if (thing.isArtwork || thing.isMusicVideo) { + if (thing.isAdditionalFile) { + return thing.thing.name; + } + + if (thing.isArtwork) { + return thing.thing.name; + } + + if (thing.isMusicVideo) { return thing.thing.name; } diff --git a/src/content/dependencies/linkAnythingMan.js b/src/content/dependencies/linkAnythingMan.js index 6efa5fe1..d37c47e0 100644 --- a/src/content/dependencies/linkAnythingMan.js +++ b/src/content/dependencies/linkAnythingMan.js @@ -11,6 +11,8 @@ export default { ? relation('linkTrack', thing) : thing.isMusicVideo ? relation('linkAnythingMan', thing.thing) + : thing.isAdditionalFile + ? relation('linkAnythingMan', thing.thing) : null), }), diff --git a/src/data/things/additional-file/AdditionalFile.js b/src/data/things/additional-file/AdditionalFile.js index d137c741..7efc68d7 100644 --- a/src/data/things/additional-file/AdditionalFile.js +++ b/src/data/things/additional-file/AdditionalFile.js @@ -6,8 +6,9 @@ import Thing from '#thing'; import {isString, validateArrayItems} from '#validators'; import {parseContributors} from '#yaml'; -import {exposeConstant, exposeUpdateValueOrContinue} +import {exposeConstant, exposeDependency, exposeUpdateValueOrContinue} from '#composite/control-flow'; +import {withPropertyFromObject} from '#composite/data'; import {contributionList, contentString, simpleString, soupyFind, thing} from '#composite/wiki-properties'; @@ -46,13 +47,10 @@ export class AdditionalFile extends Thing { isAdditionalFile: exposeConstant(V(true)), - // The date property is generally expected by contributions. - // Additional files don't actually support dates, but provide a null - // value for convenience. - date: { - flags: {expose: true}, - expose: {compute: () => null}, - }, + date: [ + withPropertyFromObject('thing', V('date')), + exposeDependency('#thing.date'), + ], }); static [Thing.yamlDocumentSpec] = { diff --git a/src/strings-default.yaml b/src/strings-default.yaml index 18f93187..2f50fe9b 100644 --- a/src/strings-default.yaml +++ b/src/strings-default.yaml @@ -836,9 +836,12 @@ misc: bannerArt: "banner art" coverArt: "cover art" flash: "flash" + midiProjectFile: "midi / project file" + miscellaneousAdditionalFile: "additional file" musicVideo: "music video" musicVideoContribution: "video contribution" release: "release" + sheetMusicFile: "sheet music file" track: "track" trackArt: "track art" trackContribution: "track contribution" -- cgit 1.3.0-6-gf8a5