« get me outta code hell

content: listGroupsByName, listing feature flags - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/listing-spec.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-07-07 12:28:40 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-07-07 12:39:14 -0300
commitfbbafa606f12b0ecf3ac89918b424f0ec4a8de4e (patch)
tree58b1b4c4adc9ac5e9bbe7d2b85becd61c5dd4d41 /src/listing-spec.js
parent556eda40caf7f3921507d90afc81073bb74fbd43 (diff)
content: listGroupsByName, listing feature flags
Diffstat (limited to 'src/listing-spec.js')
-rw-r--r--src/listing-spec.js52
1 files changed, 11 insertions, 41 deletions
diff --git a/src/listing-spec.js b/src/listing-spec.js
index 17cde53..88b0d9b 100644
--- a/src/listing-spec.js
+++ b/src/listing-spec.js
@@ -89,28 +89,14 @@ listingSpec.push({
 listingSpec.push({
   directory: 'groups/by-name',
   stringsKey: 'listGroups.byName',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableGroupUI,
-
-  data: ({wikiData: {groupData}}) =>
-    sortAlphabetically(groupData.slice()),
-
-  row: (group, {language, link}) =>
-    language.$('listingPage.listGroups.byCategory.group', {
-      group: link.groupInfo(group),
-      gallery: link.groupGallery(group, {
-        text: language.$('listingPage.listGroups.byCategory.group.gallery'),
-      }),
-    }),
+  contentFunction: 'listGroupsByName',
+  featureFlag: 'enableGroupUI',
 });
 
 listingSpec.push({
   directory: 'groups/by-category',
   stringsKey: 'listGroups.byCategory',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableGroupUI,
+  featureFlag: 'enableGroupUI',
 
   data: ({wikiData: {groupCategoryData}}) =>
     groupCategoryData
@@ -150,9 +136,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'groups/by-albums',
   stringsKey: 'listGroups.byAlbums',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableGroupUI,
+  featureFlag: 'enableGroupUI',
 
   data: ({wikiData: {groupData}}) =>
     groupData
@@ -172,9 +156,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'groups/by-tracks',
   stringsKey: 'listGroups.byTracks',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableGroupUI,
+  featureFlag: 'enableGroupUI',
 
   data: ({wikiData: {groupData}}) =>
     groupData
@@ -196,9 +178,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'groups/by-duration',
   stringsKey: 'listGroups.byDuration',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableGroupUI,
+  featureFlag: 'enableGroupUI',
 
   data: ({wikiData: {groupData}}) =>
     groupData
@@ -221,9 +201,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'groups/by-latest-album',
   stringsKey: 'listGroups.byLatest',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableGroupUI,
+  featureFlag: 'enableGroupUI',
 
   data: ({wikiData: {groupData}}) =>
     sortChronologically(
@@ -403,9 +381,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'tracks/in-flashes/by-album',
   stringsKey: 'listTracks.inFlashes.byAlbum',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableFlashesAndGames,
+  featureFlag: 'enableFlashesAndGames',
 
   data: ({wikiData: {trackData}}) =>
     chunkByProperties(
@@ -437,9 +413,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'tracks/in-flashes/by-flash',
   stringsKey: 'listTracks.inFlashes.byFlash',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableFlashesAndGames,
+  featureFlag: 'enableFlashesAndGames',
 
   data: ({wikiData: {flashData}}) =>
     sortFlashesChronologically(flashData.slice())
@@ -538,9 +512,7 @@ listingSpec.push(listTracksWithProperty('midiProjectFiles', {
 listingSpec.push({
   directory: 'tags/by-name',
   stringsKey: 'listTags.byName',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableArtTagUI,
+  featureFlag: 'enableArtTagUI',
 
   data: ({wikiData: {artTagData}}) =>
     sortAlphabetically(
@@ -565,9 +537,7 @@ listingSpec.push({
 listingSpec.push({
   directory: 'tags/by-uses',
   stringsKey: 'listTags.byUses',
-
-  condition: ({wikiData: {wikiInfo}}) =>
-    wikiInfo.enableArtTagUI,
+  featureFlag: 'enableArtTagUI',
 
   data: ({wikiData: {artTagData}}) =>
     artTagData