]> cat aescling's git repositories - mastodon.git/commitdiff
Add support for multiple source files per pack
authorClaire <claire.github-309c@sitedethib.com>
Fri, 11 Feb 2022 22:52:42 +0000 (23:52 +0100)
committerClaire <claire.github-309c@sitedethib.com>
Fri, 11 Feb 2022 23:10:28 +0000 (00:10 +0100)
app/controllers/concerns/theming_concern.rb
config/webpack/shared.js

index 425554072c21cb8bb92f298a529e8c0548aee215..f993a81d720fcb9ab16bf639f558d552853004b5 100644 (file)
@@ -20,7 +20,7 @@ module ThemingConcern
   end
 
   def valid_pack_data?(data, pack_name)
-    data['pack'].is_a?(Hash) && [String, Hash].any? { |c| data['pack'][pack_name].is_a?(c) }
+    data['pack'].is_a?(Hash) && data['pack'][pack_name].present?
   end
 
   def nil_pack(data)
index de347fa888b1ae241c46d1a12f527c63c745445b..c2a108a89480737aa262720c44efc2932c9862de 100644 (file)
@@ -16,10 +16,16 @@ function reducePacks (data, into = {}) {
     const pack = data.pack[entry];
     if (!pack) continue;
 
-    const packFile = typeof pack === 'string' ? pack : pack.filename;
-
-    if (packFile) {
-      into[data.name ? `flavours/${data.name}/${entry}` : `core/${entry}`] = resolve(data.pack_directory, packFile);
+    let packFiles = [];
+    if (typeof pack === 'string')
+      packFiles = [pack];
+    else if (Array.isArray(pack))
+      packFiles = pack;
+    else
+      packFiles = [pack.filename];
+
+    if (packFiles) {
+      into[data.name ? `flavours/${data.name}/${entry}` : `core/${entry}`] = packFiles.map(packFile => resolve(data.pack_directory, packFile));
     }
   }