diff --git a/packages/frontend/src/pages/instance-info.vue b/packages/frontend/src/pages/instance-info.vue
index 9b73df557a..e1a30a21b5 100644
--- a/packages/frontend/src/pages/instance-info.vue
+++ b/packages/frontend/src/pages/instance-info.vue
@@ -47,7 +47,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.deleteAllFiles }}
{{ i18n.ts.severAllFollowRelations }}
- {{ i18n.ts._delivery.stop }}
+ {{ i18n.ts._delivery.stop }}
{{ i18n.ts.blockedByBase }}
{{ i18n.ts.blockThisInstance }}
{{ i18n.ts.silencedByBase }}
@@ -205,6 +205,7 @@ const chartSrc = ref('instance-requests');
const meta = ref(null);
const instance = ref(null);
const suspensionState = ref<'none' | 'manuallySuspended' | 'goneSuspended' | 'autoSuspendedForNotResponding'>('none');
+const isSuspended = ref(false);
const isBlocked = ref(false);
const isSilenced = ref(false);
const isNSFW = ref(false);
@@ -213,11 +214,6 @@ const isMediaSilenced = ref(false);
const faviconUrl = ref(null);
const moderationNote = ref('');
-const isSuspended = computed({
- get: () => suspensionState.value !== 'none',
- set: value => value ? stopDelivery() : resumeDelivery(),
-});
-
const baseDomains = computed(() => {
const domains: string[] = [];
@@ -276,6 +272,7 @@ async function fetch(): Promise {
host: props.host,
});
suspensionState.value = instance.value?.suspensionState ?? 'none';
+ isSuspended.value = instance.value?.suspensionState !== 'none';
isBlocked.value = instance.value?.isBlocked ?? false;
isSilenced.value = instance.value?.isSilenced ?? false;
isNSFW.value = instance.value?.isNSFW ?? false;
@@ -314,21 +311,12 @@ async function toggleMediaSilenced(): Promise {
});
}
-async function stopDelivery(): Promise {
+async function toggleSuspended(): Promise {
if (!instance.value) throw new Error('No instance?');
- suspensionState.value = 'manuallySuspended';
+ suspensionState.value = isSuspended.value ? 'manuallySuspended' : 'none';
await misskeyApi('admin/federation/update-instance', {
host: instance.value.host,
- isSuspended: true,
- });
-}
-
-async function resumeDelivery(): Promise {
- if (!instance.value) throw new Error('No instance?');
- suspensionState.value = 'none';
- await misskeyApi('admin/federation/update-instance', {
- host: instance.value.host,
- isSuspended: false,
+ isSuspended: isSuspended.value,
});
}