« get me outta code hell

content, replacer: linkFlashSide - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/linkFlashSide.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-02-04 13:05:34 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-02-04 13:09:35 -0400
commit98ce55f34340e7efe11ef2bbcdec41775ca21aef (patch)
treee7d6525c3e14aceac42b2170b4cc56021728c105 /src/content/dependencies/linkFlashSide.js
parentbac52b092c3b95b811bfe386751773893713b136 (diff)
content, replacer: linkFlashSide
A little funky, because these don't have their own pages (yet).
Diffstat (limited to 'src/content/dependencies/linkFlashSide.js')
-rw-r--r--src/content/dependencies/linkFlashSide.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/content/dependencies/linkFlashSide.js b/src/content/dependencies/linkFlashSide.js
new file mode 100644
index 00000000..c5085e1a
--- /dev/null
+++ b/src/content/dependencies/linkFlashSide.js
@@ -0,0 +1,37 @@
+export default {
+  contentDependencies: [
+    'generateColorStyleAttribute',
+    'linkStationaryIndex',
+  ],
+
+  query: (flashSide) => ({
+    jumpAct:
+      flashSide.acts[0],
+  }),
+
+  relations: (relation, _query, flashSide) => ({
+    link:
+      relation(
+        'linkStationaryIndex',
+        'localized.flashIndex',
+        'flashIndex.title'),
+
+    colorStyle:
+      relation('generateColorStyleAttribute', flashSide.color ?? null),
+  }),
+
+  data: (query, flashSide) => ({
+    name:
+      flashSide.name,
+
+    jumpActDirectory:
+      query.jumpAct.directory,
+  }),
+
+  generate: (data, relations) =>
+    relations.link.slots({
+      content: data.name,
+      hash: data.jumpActDirectory,
+      attributes: [relations.colorStyle],
+    }),
+};