From f8557485ac06a7b2527c50dcf638497212678a16 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 16 Feb 2022 23:04:08 -0400 Subject: pre-writes: art tags, artists & aliases --- src/page/artist-alias.js | 4 ++-- src/page/artist.js | 43 ++++++++++++++++++++++++++++++------------- src/page/tag.js | 4 ++-- 3 files changed, 34 insertions(+), 17 deletions(-) (limited to 'src/page') diff --git a/src/page/artist-alias.js b/src/page/artist-alias.js index d03510a8..c7b0feb6 100644 --- a/src/page/artist-alias.js +++ b/src/page/artist-alias.js @@ -8,12 +8,12 @@ export function targets({wikiData}) { export function write(aliasArtist, {wikiData}) { // This function doesn't actually use wikiData, 8ut, um, consistency? - const { alias: targetArtist } = aliasArtist; + const { aliasedArtist } = aliasArtist; const redirect = { type: 'redirect', fromPath: ['artist', aliasArtist.directory], - toPath: ['artist', targetArtist.directory], + toPath: ['artist', aliasedArtist.directory], title: () => aliasArtist.name }; diff --git a/src/page/artist.js b/src/page/artist.js index 5cdb97f1..b89107fc 100644 --- a/src/page/artist.js +++ b/src/page/artist.js @@ -38,9 +38,22 @@ export function write(artist, {wikiData}) { note = '' } = artist; - const artThingsAll = sortByDate(unique([...artist.albums.asCoverArtist, ...artist.albums.asWallpaperArtist, ...artist.albums.asBannerArtist, ...artist.tracks.asCoverArtist])); - const artThingsGallery = sortByDate([...artist.albums.asCoverArtist, ...artist.tracks.asCoverArtist]); - const commentaryThings = sortByDate([...artist.albums.asCommentator, ...artist.tracks.asCommentator]); + const artThingsAll = sortByDate(unique([ + ...artist.albumsAsCoverArtist ?? [], + ...artist.albumsAsWallpaperArtist ?? [], + ...artist.albumsAsBannerArtist ?? [], + ...artist.tracksAsCoverArtist ?? [] + ])); + + const artThingsGallery = sortByDate([ + ...artist.albumsAsCoverArtist ?? [], + ...artist.tracksAsCoverArtist ?? [] + ]); + + const commentaryThings = sortByDate([ + ...artist.albumsAsCommentator ?? [], + ...artist.tracksAsCommentator ?? [] + ]); const hasGallery = artThingsGallery.length > 0; @@ -68,7 +81,11 @@ export function write(artist, {wikiData}) { track: thing.album ? thing : null })), ['album']); - const allTracks = sortByDate(unique([...artist.tracks.asArtist, ...artist.tracks.asContributor])); + const allTracks = sortByDate(unique([ + ...artist.tracksAsArtist ?? [], + ...artist.tracksAsContributor ?? [] + ])); + const unreleasedTracks = allTracks.filter(track => track.album.directory === UNRELEASED_TRACKS_DIRECTORY); const releasedTracks = allTracks.filter(track => track.album.directory !== UNRELEASED_TRACKS_DIRECTORY); @@ -115,7 +132,7 @@ export function write(artist, {wikiData}) { let flashes, flashListChunks; if (wikiInfo.enableFlashesAndGames) { - flashes = sortByDate(artist.flashes.asContributor.slice()); + flashes = sortByDate(artist.flashesAsContributor?.slice() ?? []); flashListChunks = ( chunkByProperties(flashes.map(flash => ({ act: flash.act, @@ -228,21 +245,21 @@ export function write(artist, {wikiData}) { return { albums: { - asCoverArtist: artist.albums.asCoverArtist.map(serializeArtistsAndContrib('coverArtists')), - asWallpaperArtist: artist.albums.asWallpaperArtist.map(serializeArtistsAndContrib('wallpaperArtists')), - asBannerArtist: artist.albums.asBannerArtist.map(serializeArtistsAndContrib('bannerArtists')) + asCoverArtist: artist.albumsAsCoverArtist?.map(serializeArtistsAndContrib('coverArtists')), + asWallpaperArtist: artist.albumsAsWallpaperArtist?.map(serializeArtistsAndContrib('wallpaperArtists')), + asBannerArtist: artist.albumsAsBannerArtist?.map(serializeArtistsAndContrib('bannerArtists')) }, flashes: wikiInfo.enableFlashesAndGames ? { - asContributor: artist.flashes.asContributor - .map(flash => getArtistsAndContrib(flash, 'contributors')) + asContributor: (artist.flashesAsContributor + ?.map(flash => getArtistsAndContrib(flash, 'contributors')) .map(({ contrib, thing: flash }) => ({ link: serializeLink(flash), contribution: contrib.what - })) + }))) } : null, tracks: { - asArtist: artist.tracks.asArtist.map(serializeArtistsAndContrib('artists')), - asContributor: artist.tracks.asContributor.map(serializeArtistsAndContrib('contributors')), + asArtist: artist.tracksAsArtist.map(serializeArtistsAndContrib('artists')), + asContributor: artist.tracksAsContributor.map(serializeArtistsAndContrib('contributors')), chunked: { released: serializeTrackListChunks(releasedTrackListChunks), unreleased: serializeTrackListChunks(unreleasedTrackListChunks) diff --git a/src/page/tag.js b/src/page/tag.js index 60b8d217..6090cb08 100644 --- a/src/page/tag.js +++ b/src/page/tag.js @@ -11,7 +11,7 @@ export function condition({wikiData}) { } export function targets({wikiData}) { - return wikiData.tagData.filter(tag => !tag.isCW); + return wikiData.artTagData.filter(tag => !tag.isCW); } export function write(tag, {wikiData}) { @@ -82,7 +82,7 @@ function generateTagNav(tag, { wikiData }) { const previousNextLinks = generatePreviousNextLinks(tag, { - data: wikiData.tagData.filter(tag => !tag.isCW), + data: wikiData.artTagData.filter(tag => !tag.isCW), linkKey: 'tag' }); -- cgit 1.3.0-6-gf8a5