« get me outta code hell

client, content, css: simple group contributions table filter - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-06-10 07:02:20 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-06-10 07:20:35 -0300
commit9c946df709fbeca15bc6e76435cbe30269a2bd3a (patch)
tree2e2b465fc089aa56d40dc608d0004a409f1b541e /src/content/dependencies
parent7710949c13b149d40195b4203b8a8234039ef5d6 (diff)
client, content, css: simple group contributions table filter
Diffstat (limited to 'src/content/dependencies')
-rw-r--r--src/content/dependencies/generateArtistGroupContributionsInfo.js11
-rw-r--r--src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js2
-rw-r--r--src/content/dependencies/generateArtistInfoPageArtworksChunk.js2
-rw-r--r--src/content/dependencies/generateArtistInfoPageChunk.js13
-rw-r--r--src/content/dependencies/generateArtistInfoPageFlashesChunk.js2
-rw-r--r--src/content/dependencies/generateArtistInfoPageMusicVideosChunk.js2
-rw-r--r--src/content/dependencies/generateArtistInfoPageTracksChunk.js2
7 files changed, 26 insertions, 8 deletions
diff --git a/src/content/dependencies/generateArtistGroupContributionsInfo.js b/src/content/dependencies/generateArtistGroupContributionsInfo.js
index 3c6187f9..f9a06d4a 100644
--- a/src/content/dependencies/generateArtistGroupContributionsInfo.js
+++ b/src/content/dependencies/generateArtistGroupContributionsInfo.js
@@ -66,6 +66,10 @@ export default {
   }),
 
   data: (query) => ({
+    groupDirectories:
+      query.groups
+        .map(group => group.directory),
+
     hasCountColumn:
       true,
 
@@ -117,13 +121,16 @@ export default {
 
             stitchArrays({
               link: relations.groupLinks,
+              directory: data.groupDirectories,
               changesCategory: data.groupsChangeCategory,
               count: data.groupCounts,
               duration: data.groupDurations,
-            }).map(({link, changesCategory, count, duration}) =>
+            }).map(({link, directory, changesCategory, count, duration}) =>
                 html.tag('tr', changesCategory && {class: 'split'}, [
                   html.tag('td', {class: 'group'},
-                    link),
+                    link.slots({
+                      attributes: {'data-directory': directory},
+                    })),
 
                   data.hasCountColumn &&
                     html.tag('td', {class: 'count'},
diff --git a/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js b/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js
index 53bc103f..2159c5e9 100644
--- a/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js
+++ b/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js
@@ -1,7 +1,7 @@
 export default {
   relations: (relation, artist, album, contribs) => ({
     template:
-      relation('generateArtistInfoPageChunk'),
+      relation('generateArtistInfoPageChunk', album),
 
     albumLink:
       relation('linkAlbum', album),
diff --git a/src/content/dependencies/generateArtistInfoPageArtworksChunk.js b/src/content/dependencies/generateArtistInfoPageArtworksChunk.js
index f98b1e85..2519a0c7 100644
--- a/src/content/dependencies/generateArtistInfoPageArtworksChunk.js
+++ b/src/content/dependencies/generateArtistInfoPageArtworksChunk.js
@@ -1,7 +1,7 @@
 export default {
   relations: (relation, album, contribs) => ({
     template:
-      relation('generateArtistInfoPageChunk'),
+      relation('generateArtistInfoPageChunk', album),
 
     albumLink:
       relation('linkAlbum', album),
diff --git a/src/content/dependencies/generateArtistInfoPageChunk.js b/src/content/dependencies/generateArtistInfoPageChunk.js
index e19030c9..aadafb08 100644
--- a/src/content/dependencies/generateArtistInfoPageChunk.js
+++ b/src/content/dependencies/generateArtistInfoPageChunk.js
@@ -1,6 +1,13 @@
 import {empty} from '#sugar';
 
 export default {
+  data: (thing) => ({
+    groupDirectories:
+      (thing && thing.groups
+        ? thing.groups.map(group => group.directory)
+        : null),
+  }),
+
   slots: {
     mode: {
       validate: v => v.is('flash', 'album'),
@@ -26,7 +33,7 @@ export default {
     durationApproximate: {type: 'boolean'},
   },
 
-  generate(slots, {html, language}) {
+  generate(data, slots, {html, language}) {
     let earliestItemDate = null;
     let latestItemDate = null;
     let onlyItemDate = null;
@@ -96,6 +103,10 @@ export default {
     return html.tags([
       html.tag('dt',
         slots.id && {id: slots.id},
+
+        data.groupDirectories &&
+          {'data-groups': data.groupDirectories.join(' ')},
+
         accentedLink),
 
       html.tag('dd', slots.list),
diff --git a/src/content/dependencies/generateArtistInfoPageFlashesChunk.js b/src/content/dependencies/generateArtistInfoPageFlashesChunk.js
index 733c8fa4..7e98ee06 100644
--- a/src/content/dependencies/generateArtistInfoPageFlashesChunk.js
+++ b/src/content/dependencies/generateArtistInfoPageFlashesChunk.js
@@ -1,7 +1,7 @@
 export default {
   relations: (relation, flashAct, contribs) => ({
     template:
-      relation('generateArtistInfoPageChunk'),
+      relation('generateArtistInfoPageChunk', flashAct),
 
     flashActLink:
       relation('linkFlashAct', flashAct),
diff --git a/src/content/dependencies/generateArtistInfoPageMusicVideosChunk.js b/src/content/dependencies/generateArtistInfoPageMusicVideosChunk.js
index 9ac7debf..2733dbcf 100644
--- a/src/content/dependencies/generateArtistInfoPageMusicVideosChunk.js
+++ b/src/content/dependencies/generateArtistInfoPageMusicVideosChunk.js
@@ -1,7 +1,7 @@
 export default {
   relations: (relation, artist, album, contribs) => ({
     template:
-      relation('generateArtistInfoPageChunk'),
+      relation('generateArtistInfoPageChunk', album),
 
     albumLink:
       relation('linkAlbum', album),
diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunk.js b/src/content/dependencies/generateArtistInfoPageTracksChunk.js
index 607f1f53..f2cc7456 100644
--- a/src/content/dependencies/generateArtistInfoPageTracksChunk.js
+++ b/src/content/dependencies/generateArtistInfoPageTracksChunk.js
@@ -63,7 +63,7 @@ export default {
 
   relations: (relation, query, artist, album, trackContribLists) => ({
     template:
-      relation('generateArtistInfoPageChunk'),
+      relation('generateArtistInfoPageChunk', album),
 
     albumLink:
       relation('linkAlbum', album),