« get me outta code hell

content: generateTrackInfoPageFeaturedByFlashesList - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTrackInfoPage.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-06-12 13:49:01 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-06-12 17:32:57 -0300
commit261ee0fceb4f2c46bdcb027b473833a560fd6dbe (patch)
treef2431bc7bdf66ecb33a4d02b736b2af637e12d65 /src/content/dependencies/generateTrackInfoPage.js
parentcb8ae05e3ce23add9e3e04f152f994da762536e4 (diff)
content: generateTrackInfoPageFeaturedByFlashesList
Diffstat (limited to 'src/content/dependencies/generateTrackInfoPage.js')
-rw-r--r--src/content/dependencies/generateTrackInfoPage.js60
1 files changed, 10 insertions, 50 deletions
diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js
index eae782bc..d78c2703 100644
--- a/src/content/dependencies/generateTrackInfoPage.js
+++ b/src/content/dependencies/generateTrackInfoPage.js
@@ -1,4 +1,3 @@
-import {sortFlashesChronologically} from '#sort';
 import {empty} from '#sugar';
 
 export default {
@@ -15,25 +14,23 @@ export default {
     'generateTrackAdditionalNamesBox',
     'generateTrackChronologyLinks',
     'generateTrackCoverArtwork',
+    'generateTrackInfoPageFeaturedByFlashesList',
     'generateTrackInfoPageOtherReleasesList',
     'generateTrackList',
     'generateTrackListDividedByGroups',
     'generateTrackReleaseInfo',
     'generateTrackSocialEmbed',
     'linkAlbum',
-    'linkFlash',
     'linkTrack',
     'transformContent',
   ],
 
   extraDependencies: ['html', 'language', 'wikiData'],
 
-  sprawl({wikiInfo}) {
-    return {
-      divideTrackListsByGroups: wikiInfo.divideTrackListsByGroups,
-      enableFlashesAndGames: wikiInfo.enableFlashesAndGames,
-    };
-  },
+  sprawl: ({wikiInfo}) => ({
+    divideTrackListsByGroups:
+      wikiInfo.divideTrackListsByGroups,
+  }),
 
   relations(relation, sprawl, track) {
     const relations = {};
@@ -120,35 +117,8 @@ export default {
 
     // Section: Flashes that feature
 
-    if (sprawl.enableFlashesAndGames) {
-      const sortedFeatures =
-        sortFlashesChronologically(
-          [track, ...track.otherReleases].flatMap(track =>
-            track.featuredInFlashes.map(flash => ({
-              // These aren't going to be exposed directly, they're processed
-              // into the appropriate relations after this sort.
-              flash, track,
-
-              // These properties are only used for the sort.
-              act: flash.act,
-              date: flash.date,
-            }))));
-
-      if (!empty(sortedFeatures)) {
-        const flashesThatFeature = sections.flashesThatFeature = {};
-
-        flashesThatFeature.entries =
-          sortedFeatures.map(({flash, track: directlyFeaturedTrack}) =>
-            (directlyFeaturedTrack === track
-              ? {
-                  flashLink: relation('linkFlash', flash),
-                }
-              : {
-                  flashLink: relation('linkFlash', flash),
-                  trackLink: relation('linkTrack', directlyFeaturedTrack),
-                }));
-      }
-    }
+    relations.flashesThatFeatureList =
+      relation('generateTrackInfoPageFeaturedByFlashesList', track);
 
     // Section: Lyrics
 
@@ -347,7 +317,7 @@ export default {
               }),
           ]),
 
-          sec.flashesThatFeature && [
+          html.tags([
             relations.contentHeading.clone()
               .slots({
                 attributes: {id: 'featured-in'},
@@ -361,18 +331,8 @@ export default {
                   language.$('releaseInfo.flashesThatFeature.sticky'),
               }),
 
-            html.tag('ul', sec.flashesThatFeature.entries.map(({flashLink, trackLink}) =>
-              (trackLink
-                ? html.tag('li', {class: 'rerelease'},
-                    language.$('releaseInfo.flashesThatFeature.item.asDifferentRelease', {
-                      flash: flashLink,
-                      track: trackLink,
-                    }))
-                : html.tag('li',
-                    language.$('releaseInfo.flashesThatFeature.item', {
-                      flash: flashLink,
-                    }))))),
-          ],
+            relations.flashesThatFeatureList,
+          ]),
 
           sec.lyrics && [
             relations.contentHeading.clone()