diff options
| author | Marie <github@yuugi.dev> | 2024-10-06 19:39:38 +0000 |
|---|---|---|
| committer | Marie <github@yuugi.dev> | 2024-10-06 19:39:38 +0000 |
| commit | 28bfd875372bb7769e1e303b4153ca2fdd0f2b8d (patch) | |
| tree | a9ddb132cd78c1f99a491bb458f51fae5bceba2f /packages/frontend/src | |
| parent | merge: Change the recent external url warning popup to the one from Cherrypic... (diff) | |
| parent | Merge branch 'develop' into hazelnoot/579-reject-reports (diff) | |
| download | sharkey-28bfd875372bb7769e1e303b4153ca2fdd0f2b8d.tar.gz sharkey-28bfd875372bb7769e1e303b4153ca2fdd0f2b8d.tar.bz2 sharkey-28bfd875372bb7769e1e303b4153ca2fdd0f2b8d.zip | |
merge: Add option to reject reports from an instance (Resolves #579, #715, #716) (!662)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/662
Closes #579, #715, and #716
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
Diffstat (limited to 'packages/frontend/src')
| -rw-r--r-- | packages/frontend/src/pages/admin/modlog.ModLog.vue | 8 | ||||
| -rw-r--r-- | packages/frontend/src/pages/instance-info.vue | 13 |
2 files changed, 20 insertions, 1 deletions
diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue index f6f276de53..9fe804b2bd 100644 --- a/packages/frontend/src/pages/admin/modlog.ModLog.vue +++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue @@ -23,6 +23,10 @@ SPDX-License-Identifier: AGPL-3.0-only 'markSensitiveDriveFile', 'resetPassword', 'suspendRemoteInstance', + 'setRemoteInstanceNSFW', + 'unsetRemoteInstanceNSFW', + 'rejectRemoteInstanceReports', + 'acceptRemoteInstanceReports', ].includes(log.type), [$style.logRed]: [ 'suspend', @@ -61,6 +65,10 @@ SPDX-License-Identifier: AGPL-3.0-only <span v-else-if="log.type === 'unmarkSensitiveDriveFile'">: @{{ log.info.fileUserUsername }}{{ log.info.fileUserHost ? '@' + log.info.fileUserHost : '' }}</span> <span v-else-if="log.type === 'suspendRemoteInstance'">: {{ log.info.host }}</span> <span v-else-if="log.type === 'unsuspendRemoteInstance'">: {{ log.info.host }}</span> + <span v-else-if="log.type === 'setRemoteInstanceNSFW'">: {{ log.info.host }}</span> + <span v-else-if="log.type === 'unsetRemoteInstanceNSFW'">: {{ log.info.host }}</span> + <span v-else-if="log.type === 'rejectRemoteInstanceReports'">: {{ log.info.host }}</span> + <span v-else-if="log.type === 'acceptRemoteInstanceReports'">: {{ log.info.host }}</span> <span v-else-if="log.type === 'createGlobalAnnouncement'">: {{ log.info.announcement.title }}</span> <span v-else-if="log.type === 'updateGlobalAnnouncement'">: {{ log.info.before.title }}</span> <span v-else-if="log.type === 'deleteGlobalAnnouncement'">: {{ log.info.announcement.title }}</span> diff --git a/packages/frontend/src/pages/instance-info.vue b/packages/frontend/src/pages/instance-info.vue index 821cd599eb..5401ea51e0 100644 --- a/packages/frontend/src/pages/instance-info.vue +++ b/packages/frontend/src/pages/instance-info.vue @@ -49,7 +49,8 @@ SPDX-License-Identifier: AGPL-3.0-only <MkSwitch v-model="isBlocked" :disabled="!meta || !instance || isBaseBlocked" @update:modelValue="toggleBlock">{{ i18n.ts.blockThisInstance }}</MkSwitch> <MkInfo v-if="isBaseSilenced" warn>{{ i18n.ts.silencedByBase }}</MkInfo> <MkSwitch v-model="isSilenced" :disabled="!meta || !instance || isBaseSilenced" @update:modelValue="toggleSilenced">{{ i18n.ts.silenceThisInstance }}</MkSwitch> - <MkSwitch v-model="isNSFW" :disabled="!instance" @update:modelValue="toggleNSFW">Mark as NSFW</MkSwitch> + <MkSwitch v-model="isNSFW" :disabled="!instance" @update:modelValue="toggleNSFW">{{ i18n.ts.markInstanceAsNSFW }}</MkSwitch> + <MkSwitch v-model="rejectReports" :disabled="!instance" @update:modelValue="toggleRejectReports">{{ i18n.ts.rejectReports }}</MkSwitch> <MkInfo v-if="isBaseMediaSilenced" warn>{{ i18n.ts.mediaSilencedByBase }}</MkInfo> <MkSwitch v-model="isMediaSilenced" :disabled="!meta || !instance || isBaseMediaSilenced" @update:modelValue="toggleMediaSilenced">{{ i18n.ts.mediaSilenceThisInstance }}</MkSwitch> <MkButton @click="refreshMetadata"><i class="ti ti-refresh"></i> Refresh metadata</MkButton> @@ -174,6 +175,7 @@ const suspensionState = ref<'none' | 'manuallySuspended' | 'goneSuspended' | 'au const isBlocked = ref(false); const isSilenced = ref(false); const isNSFW = ref(false); +const rejectReports = ref(false); const isMediaSilenced = ref(false); const faviconUrl = ref<string | null>(null); const moderationNote = ref(''); @@ -219,6 +221,7 @@ async function fetch(): Promise<void> { isBlocked.value = instance.value?.isBlocked ?? false; isSilenced.value = instance.value?.isSilenced ?? false; isNSFW.value = instance.value?.isNSFW ?? false; + rejectReports.value = instance.value?.rejectReports ?? false; isMediaSilenced.value = instance.value?.isMediaSilenced ?? false; faviconUrl.value = getProxiedImageUrlNullable(instance.value?.faviconUrl, 'preview') ?? getProxiedImageUrlNullable(instance.value?.iconUrl, 'preview'); moderationNote.value = instance.value?.moderationNote ?? ''; @@ -279,6 +282,14 @@ async function toggleNSFW(): Promise<void> { }); } +async function toggleRejectReports(): Promise<void> { + if (!instance.value) throw new Error('No instance?'); + await misskeyApi('admin/federation/update-instance', { + host: instance.value.host, + rejectReports: rejectReports.value, + }); +} + function refreshMetadata(): void { if (!instance.value) throw new Error('No instance?'); misskeyApi('admin/federation/refresh-remote-instance-metadata', { |