about summary refs log tree commit diff
path: root/app/javascript/core
diff options
context:
space:
mode:
authorkibigo! <marrus-sh@users.noreply.github.com>2017-11-20 22:13:37 -0800
committerkibigo! <marrus-sh@users.noreply.github.com>2017-11-20 22:13:37 -0800
commitbdbbd06dad298dc3e1a5f568f4a3ff3635b48f22 (patch)
tree1a475460389053b41f293d27f7c915f0d545d4ad /app/javascript/core
parent321fa41930f8a11356939a1684ff153f2f46443b (diff)
Finalized theme loading and stuff
Diffstat (limited to 'app/javascript/core')
-rw-r--r--app/javascript/core/about.js1
-rw-r--r--app/javascript/core/embed.js2
-rw-r--r--app/javascript/core/home.js1
-rw-r--r--app/javascript/core/public.js24
-rw-r--r--app/javascript/core/settings.js80
-rw-r--r--app/javascript/core/share.js1
-rw-r--r--app/javascript/core/theme.yml14
7 files changed, 65 insertions, 58 deletions
diff --git a/app/javascript/core/about.js b/app/javascript/core/about.js
deleted file mode 100644
index 6ed0e4ad3..000000000
--- a/app/javascript/core/about.js
+++ /dev/null
@@ -1 +0,0 @@
-//  This file will be loaded on about pages, regardless of theme.
diff --git a/app/javascript/core/embed.js b/app/javascript/core/embed.js
index 8167706a3..6146e6592 100644
--- a/app/javascript/core/embed.js
+++ b/app/javascript/core/embed.js
@@ -13,7 +13,7 @@ window.addEventListener('message', e => {
       id: data.id,
       height: document.getElementsByTagName('html')[0].scrollHeight,
     }, '*');
-  });
+  };
 
   if (['interactive', 'complete'].includes(document.readyState)) {
     setEmbedHeight();
diff --git a/app/javascript/core/home.js b/app/javascript/core/home.js
deleted file mode 100644
index 3c2e01590..000000000
--- a/app/javascript/core/home.js
+++ /dev/null
@@ -1 +0,0 @@
-//  This file will be loaded on home pages, regardless of theme.
diff --git a/app/javascript/core/public.js b/app/javascript/core/public.js
index 1a36b7a5f..47c34a259 100644
--- a/app/javascript/core/public.js
+++ b/app/javascript/core/public.js
@@ -1 +1,25 @@
 //  This file will be loaded on public pages, regardless of theme.
+
+const { delegate } = require('rails-ujs');
+
+delegate(document, '.webapp-btn', 'click', ({ target, button }) => {
+  if (button !== 0) {
+    return true;
+  }
+  window.location.href = target.href;
+  return false;
+});
+
+delegate(document, '.status__content__spoiler-link', 'click', ({ target }) => {
+  const contentEl = target.parentNode.parentNode.querySelector('.e-content');
+
+  if (contentEl.style.display === 'block') {
+    contentEl.style.display = 'none';
+    target.parentNode.style.marginBottom = 0;
+  } else {
+    contentEl.style.display = 'block';
+    target.parentNode.style.marginBottom = null;
+  }
+
+  return false;
+});
diff --git a/app/javascript/core/settings.js b/app/javascript/core/settings.js
index 91332ed5a..7fb1d8e77 100644
--- a/app/javascript/core/settings.js
+++ b/app/javascript/core/settings.js
@@ -1,65 +1,37 @@
 //  This file will be loaded on settings pages, regardless of theme.
 
-function main() {
-  const { length } = require('stringz');
-  const { delegate } = require('rails-ujs');
+const { length } = require('stringz');
+const { delegate } = require('rails-ujs');
 
-  delegate(document, '.webapp-btn', 'click', ({ target, button }) => {
-    if (button !== 0) {
-      return true;
-    }
-    window.location.href = target.href;
-    return false;
-  });
+delegate(document, '.account_display_name', 'input', ({ target }) => {
+  const nameCounter = document.querySelector('.name-counter');
 
-  delegate(document, '.status__content__spoiler-link', 'click', ({ target }) => {
-    const contentEl = target.parentNode.parentNode.querySelector('.e-content');
-
-    if (contentEl.style.display === 'block') {
-      contentEl.style.display = 'none';
-      target.parentNode.style.marginBottom = 0;
-    } else {
-      contentEl.style.display = 'block';
-      target.parentNode.style.marginBottom = null;
-    }
-
-    return false;
-  });
-
-  delegate(document, '.account_display_name', 'input', ({ target }) => {
-    const nameCounter = document.querySelector('.name-counter');
-
-    if (nameCounter) {
-      nameCounter.textContent = 30 - length(target.value);
-    }
-  });
-
-  delegate(document, '.account_note', 'input', ({ target }) => {
-    const noteCounter = document.querySelector('.note-counter');
+  if (nameCounter) {
+    nameCounter.textContent = 30 - length(target.value);
+  }
+});
 
-    if (noteCounter) {
-      const noteWithoutMetadata = processBio(target.value).text;
-      noteCounter.textContent = 500 - length(noteWithoutMetadata);
-    }
-  });
+delegate(document, '.account_note', 'input', ({ target }) => {
+  const noteCounter = document.querySelector('.note-counter');
 
-  delegate(document, '#account_avatar', 'change', ({ target }) => {
-    const avatar = document.querySelector('.card.compact .avatar img');
-    const [file] = target.files || [];
-    const url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc;
+  if (noteCounter) {
+    const noteWithoutMetadata = processBio(target.value).text;
+    noteCounter.textContent = 500 - length(noteWithoutMetadata);
+  }
+});
 
-    avatar.src = url;
-  });
+delegate(document, '#account_avatar', 'change', ({ target }) => {
+  const avatar = document.querySelector('.card.compact .avatar img');
+  const [file] = target.files || [];
+  const url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc;
 
-  delegate(document, '#account_header', 'change', ({ target }) => {
-    const header = document.querySelector('.card.compact');
-    const [file] = target.files || [];
-    const url = file ? URL.createObjectURL(file) : header.dataset.originalSrc;
+  avatar.src = url;
+});
 
-    header.style.backgroundImage = `url(${url})`;
-  });
-}
+delegate(document, '#account_header', 'change', ({ target }) => {
+  const header = document.querySelector('.card.compact');
+  const [file] = target.files || [];
+  const url = file ? URL.createObjectURL(file) : header.dataset.originalSrc;
 
-loadPolyfills().then(main).catch(error => {
-  console.error(error);
+  header.style.backgroundImage = `url(${url})`;
 });
diff --git a/app/javascript/core/share.js b/app/javascript/core/share.js
deleted file mode 100644
index 98a413632..000000000
--- a/app/javascript/core/share.js
+++ /dev/null
@@ -1 +0,0 @@
-//  This file will be loaded on share pages, regardless of theme.
diff --git a/app/javascript/core/theme.yml b/app/javascript/core/theme.yml
new file mode 100644
index 000000000..17e8e66b3
--- /dev/null
+++ b/app/javascript/core/theme.yml
@@ -0,0 +1,14 @@
+#  These packs will be loaded on every appropriate page, regardless of
+#  theme.
+pack:
+  about:
+  admin: admin.js
+  auth:
+  common: common.js
+  embed: embed.js
+  error:
+  home:
+  modal:
+  public: public.js
+  settings: settings.js
+  share: