about summary refs log tree commit diff
path: root/app/javascript/packs/admin.js
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2021-10-14 20:44:59 +0200
committerGitHub <noreply@github.com>2021-10-14 20:44:59 +0200
commit07341e7aa60fe7c7d4f298136af99276820940e7 (patch)
tree0244c21262573d6a94868f8ce7dfa934fabccf1e /app/javascript/packs/admin.js
parent959f7fc580050b37741c92b645b842e45017a010 (diff)
Add graphs and retention metrics to admin dashboard (#16829)
Diffstat (limited to 'app/javascript/packs/admin.js')
-rw-r--r--app/javascript/packs/admin.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/javascript/packs/admin.js b/app/javascript/packs/admin.js
index 8fd1b8a8e..f32679619 100644
--- a/app/javascript/packs/admin.js
+++ b/app/javascript/packs/admin.js
@@ -99,4 +99,24 @@ ready(() => {
 
   const registrationMode = document.getElementById('form_admin_settings_registrations_mode');
   if (registrationMode) onChangeRegistrationMode(registrationMode);
+
+  const React    = require('react');
+  const ReactDOM = require('react-dom');
+
+  [].forEach.call(document.querySelectorAll('[data-admin-component]'), element => {
+    const componentName  = element.getAttribute('data-admin-component');
+    const { locale, ...componentProps } = JSON.parse(element.getAttribute('data-props'));
+
+    import('../mastodon/containers/admin_component').then(({ default: AdminComponent }) => {
+      return import('../mastodon/components/admin/' + componentName).then(({ default: Component }) => {
+        ReactDOM.render((
+          <AdminComponent locale={locale}>
+            <Component {...componentProps} />
+          </AdminComponent>
+        ), element);
+      });
+    }).catch(error => {
+      console.error(error);
+    });
+  });
 });