Change: #621 登録時間帯制限で、制限時間中は登録を禁止ではなく承認制にする (#628)

* Change: #621 登録時間帯制限で、制限時間中は登録を禁止ではなく承認制にする

* 管理画面のUIを改善

* Fix test

* Fix lint
This commit is contained in:
KMY(雪あすか) 2024-03-04 12:38:56 +09:00 committed by GitHub
parent 4119b8713e
commit 941705be62
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 52 additions and 33 deletions

View file

@ -217,25 +217,37 @@ const onChangeRegistrationMode = (target: HTMLSelectElement) => {
warning_hint.style.display = target.value === 'open' ? 'inline' : 'none';
});
const toggleEnabled = (input: HTMLInputElement, value: boolean) => {
input.disabled = !value;
if (enabled) {
let element: HTMLElement | null = input;
do {
element.classList.remove('disabled');
element = element.parentElement;
} while (element && !element.classList.contains('fields-group'));
} else {
let element: HTMLElement | null = input;
do {
element.classList.add('disabled');
element = element.parentElement;
} while (element && !element.classList.contains('fields-group'));
}
};
document
.querySelectorAll<HTMLInputElement>(
'input#form_admin_settings_require_invite_text',
)
.forEach((input) => {
input.disabled = !enabled;
if (enabled) {
let element: HTMLElement | null = input;
do {
element.classList.remove('disabled');
element = element.parentElement;
} while (element && !element.classList.contains('fields-group'));
} else {
let element: HTMLElement | null = input;
do {
element.classList.add('disabled');
element = element.parentElement;
} while (element && !element.classList.contains('fields-group'));
}
toggleEnabled(input, enabled);
});
document
.querySelectorAll<HTMLInputElement>(
'#form_admin_settings_registrations_start_hour, #form_admin_settings_registrations_end_hour, #form_admin_settings_registrations_secondary_start_hour, #form_admin_settings_registrations_secondary_end_hour',
)
.forEach((input) => {
toggleEnabled(input, target.value === 'open');
});
};