({
userCreated: false,
inactiveModeratorsWarning: false,
inactiveModeratorsInvitationOnlyChanged: false,
+ inactiveModeratorsDisablePublicNoteChanged: false,
});
const disableSubmitButton = computed(() => {
diff --git a/packages/frontend/src/pages/admin/moderation.vue b/packages/frontend/src/pages/admin/moderation.vue
index aca808fcbc..48ce08fa93 100644
--- a/packages/frontend/src/pages/admin/moderation.vue
+++ b/packages/frontend/src/pages/admin/moderation.vue
@@ -12,7 +12,15 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.enableRegistration }}
- {{ i18n.ts._serverSettings.thisSettingWillAutomaticallyOffWhenModeratorsInactive }}
+ {{ i18n.ts._serverSettings.thisSettingWillAutomaticallyOffWhenModeratorsInactive }}
+
+
+
+ {{ i18n.ts.disableRegistrationWhenInactive }}
+
+
+
+ {{ i18n.ts.disablePublicNoteWhenInactive }}
@@ -152,6 +160,8 @@ import FormLink from '@/components/form/link.vue';
import MkFolder from '@/components/MkFolder.vue';
const enableRegistration = ref(false);
+const disableRegistrationWhenInactive = ref(false);
+const disablePublicNoteWhenInactive = ref(false);
const emailRequiredForSignup = ref(false);
const sensitiveWords = ref('');
const prohibitedWords = ref('');
@@ -166,6 +176,8 @@ const trustedLinkUrlPatterns = ref('');
async function init() {
const meta = await misskeyApi('admin/meta');
enableRegistration.value = !meta.disableRegistration;
+ disableRegistrationWhenInactive.value = meta.disableRegistrationWhenInactive;
+ disablePublicNoteWhenInactive.value = meta.disablePublicNoteWhenInactive;
emailRequiredForSignup.value = meta.emailRequiredForSignup;
sensitiveWords.value = meta.sensitiveWords.join('\n');
prohibitedWords.value = meta.prohibitedWords.join('\n');
@@ -186,6 +198,22 @@ function onChange_enableRegistration(value: boolean) {
});
}
+function onChange_disableRegistrationWhenInactive(value: boolean) {
+ os.apiWithDialog('admin/update-meta', {
+ disableRegistrationWhenInactive: value,
+ }).then(() => {
+ fetchInstance(true);
+ });
+}
+
+function onChange_disablePublicNoteWhenInactive(value: boolean) {
+ os.apiWithDialog('admin/update-meta', {
+ disablePublicNoteWhenInactive: value,
+ }).then(() => {
+ fetchInstance(true);
+ });
+}
+
function onChange_emailRequiredForSignup(value: boolean) {
os.apiWithDialog('admin/update-meta', {
emailRequiredForSignup: value,