about summary refs log tree commit diff
path: root/app/javascript/packs/admin.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/packs/admin.jsx')
-rw-r--r--app/javascript/packs/admin.jsx24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/javascript/packs/admin.jsx b/app/javascript/packs/admin.jsx
new file mode 100644
index 000000000..599015000
--- /dev/null
+++ b/app/javascript/packs/admin.jsx
@@ -0,0 +1,24 @@
+import './public-path';
+import ready from '../mastodon/ready';
+
+ready(() => {
+  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);
+    });
+  });
+});