diff --git a/app/javascript/flavours/glitch/packs/admin.js b/app/javascript/flavours/glitch/packs/admin.js
index 31718998d3..b26df932ca 100644
--- a/app/javascript/flavours/glitch/packs/admin.js
+++ b/app/javascript/flavours/glitch/packs/admin.js
@@ -1,10 +1,33 @@
import 'packs/public-path';
import loadPolyfills from 'flavours/glitch/util/load_polyfills';
import ready from 'flavours/glitch/util/ready';
+import loadKeyboardExtensions from 'flavours/glitch/util/load_keyboard_extensions';
-function setupSidebar() {
+function main() {
const { delegate } = require('@rails/ujs');
+ 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('flavours/glitch/containers/admin_component').then(({ default: AdminComponent }) => {
+ return import('flavours/glitch/components/admin/' + componentName).then(({ default: Component }) => {
+ ReactDOM.render((
+
+
+
+ ), element);
+ });
+ }).catch(error => {
+ console.error(error);
+ });
+ });
+ });
+
delegate(document, '.sidebar__toggle__icon', 'click', () => {
const target = document.querySelector('.sidebar ul');
@@ -17,29 +40,9 @@ function setupSidebar() {
}
loadPolyfills()
- .then(setupSidebar)
+ .then(main)
+ .then(loadKeyboardExtensions)
.catch(error => {
console.error(error);
+
});
-
-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('flavours/glitch/containers/admin_component').then(({ default: AdminComponent }) => {
- return import('flavours/glitch/components/admin/' + componentName).then(({ default: Component }) => {
- ReactDOM.render((
-
-
-
- ), element);
- });
- }).catch(error => {
- console.error(error);
- });
- });
-});