aboutsummaryrefslogtreecommitdiff
path: root/app/javascript/packs/admin.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/packs/admin.js')
-rw-r--r--app/javascript/packs/admin.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/javascript/packs/admin.js b/app/javascript/packs/admin.js
index 51f92de8a..8fd1b8a8e 100644
--- a/app/javascript/packs/admin.js
+++ b/app/javascript/packs/admin.js
@@ -1,3 +1,4 @@
+import './public-path';
import { delegate } from '@rails/ujs';
import ready from '../mastodon/ready';
@@ -56,18 +57,46 @@ const onEnableBootstrapTimelineAccountsChange = (target) => {
bootstrapTimelineAccountsField.disabled = !target.checked;
if (target.checked) {
bootstrapTimelineAccountsField.parentElement.classList.remove('disabled');
+ bootstrapTimelineAccountsField.parentElement.parentElement.classList.remove('disabled');
} else {
bootstrapTimelineAccountsField.parentElement.classList.add('disabled');
+ bootstrapTimelineAccountsField.parentElement.parentElement.classList.add('disabled');
}
}
};
delegate(document, '#form_admin_settings_enable_bootstrap_timeline_accounts', 'change', ({ target }) => onEnableBootstrapTimelineAccountsChange(target));
+const onChangeRegistrationMode = (target) => {
+ const enabled = target.value === 'approved';
+
+ [].forEach.call(document.querySelectorAll('#form_admin_settings_require_invite_text'), (input) => {
+ input.disabled = !enabled;
+ if (enabled) {
+ let element = input;
+ do {
+ element.classList.remove('disabled');
+ element = element.parentElement;
+ } while (element && !element.classList.contains('fields-group'));
+ } else {
+ let element = input;
+ do {
+ element.classList.add('disabled');
+ element = element.parentElement;
+ } while (element && !element.classList.contains('fields-group'));
+ }
+ });
+};
+
+delegate(document, '#form_admin_settings_registrations_mode', 'change', ({ target }) => onChangeRegistrationMode(target));
+
ready(() => {
const domainBlockSeverityInput = document.getElementById('domain_block_severity');
if (domainBlockSeverityInput) onDomainBlockSeverityChange(domainBlockSeverityInput);
const enableBootstrapTimelineAccounts = document.getElementById('form_admin_settings_enable_bootstrap_timeline_accounts');
if (enableBootstrapTimelineAccounts) onEnableBootstrapTimelineAccountsChange(enableBootstrapTimelineAccounts);
+
+ const registrationMode = document.getElementById('form_admin_settings_registrations_mode');
+ if (registrationMode) onChangeRegistrationMode(registrationMode);
});