summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/admin/modlog.ModLog.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/pages/admin/modlog.ModLog.vue')
-rw-r--r--packages/frontend/src/pages/admin/modlog.ModLog.vue70
1 files changed, 70 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue
index 306a873173..9ce6499e2d 100644
--- a/packages/frontend/src/pages/admin/modlog.ModLog.vue
+++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue
@@ -18,6 +18,10 @@ SPDX-License-Identifier: AGPL-3.0-only
'createAvatarDecoration',
'createSystemWebhook',
'createAbuseReportNotificationRecipient',
+ 'createAccount',
+ 'importCustomEmojis',
+ 'createPromo',
+ 'addRelay',
].includes(log.type),
[$style.logYellow]: [
'markSensitiveDriveFile',
@@ -30,6 +34,11 @@ SPDX-License-Identifier: AGPL-3.0-only
'acceptRemoteInstanceReports',
'rejectQuotesUser',
'acceptQuotesUser',
+ 'nsfwUser',
+ 'unNsfwUser',
+ 'silenceUser',
+ 'unSilenceUser',
+ 'updateCustomEmojis',
].includes(log.type),
[$style.logRed]: [
'suspend',
@@ -49,6 +58,12 @@ SPDX-License-Identifier: AGPL-3.0-only
'deletePage',
'deleteFlash',
'deleteGalleryPost',
+ 'clearUserFiles',
+ 'clearRemoteFiles',
+ 'clearOwnerlessFiles',
+ 'clearInstanceFiles',
+ 'severFollowRelations',
+ 'removeRelay',
].includes(log.type)
}"
>{{ i18n.ts._moderationLogTypes[log.type] }}</b>
@@ -100,6 +115,19 @@ SPDX-License-Identifier: AGPL-3.0-only
<span v-else-if="log.type === 'deletePage'">: @{{ log.info.pageUserUsername }}</span>
<span v-else-if="log.type === 'deleteFlash'">: @{{ log.info.flashUserUsername }}</span>
<span v-else-if="log.type === 'deleteGalleryPost'">: @{{ log.info.postUserUsername }}</span>
+ <span v-else-if="log.type === 'clearUserFiles'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'nsfwUser'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'unNsfwUser'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'silenceUser'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'unSilenceUser'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'createAccount'">: @{{ log.info.userUsername }}</span>
+ <span v-else-if="log.type === 'clearOwnerlessFiles'">: {{ log.info.count }}</span>
+ <span v-else-if="log.type === 'importCustomEmojis'">: {{ log.info.fileName }}</span>
+ <span v-else-if="log.type === 'clearInstanceFiles'">: {{ log.info.host }}</span>
+ <span v-else-if="log.type === 'severFollowRelations'">: {{ log.info.host }}</span>
+ <span v-else-if="log.type === 'createPromo'">: @{{ log.info.noteUserUsername }}{{ log.info.noteUserHost ? '@' + log.info.noteUserHost : '' }}</span>
+ <span v-else-if="log.type === 'addRelay'">: {{ log.info.inbox }}</span>
+ <span v-else-if="log.type === 'removeRelay'">: {{ log.info.inbox }}</span>
</template>
<template v-if="log.user" #icon>
<MkAvatar :user="log.user" :class="$style.avatar"/>
@@ -205,6 +233,47 @@ SPDX-License-Identifier: AGPL-3.0-only
<CodeDiff :context="5" :hideHeader="true" :oldString="log.info.before ?? ''" :newString="log.info.after ?? ''" maxHeight="300px"/>
</div>
</template>
+ <template v-else-if="log.type === 'clearUserFiles'">
+ <div>{{ i18n.ts.user }}: <MkA :to="`/admin/user/${log.info.userId}`" class="_link">@{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</MkA></div>
+ <div>{{ i18n.ts.filesRemoved }}: {{ log.info.count }}</div>
+ </template>
+ <template v-else-if="log.type === 'nsfwUser'">
+ <div>{{ i18n.ts.user }}: <MkA :to="`/admin/user/${log.info.userId}`" class="_link">@{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</MkA></div>
+ </template>
+ <template v-else-if="log.type === 'unNsfwUser'">
+ <div>{{ i18n.ts.user }}: <MkA :to="`/admin/user/${log.info.userId}`" class="_link">@{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</MkA></div>
+ </template>
+ <template v-else-if="log.type === 'silenceUser'">
+ <div>{{ i18n.ts.user }}: <MkA :to="`/admin/user/${log.info.userId}`" class="_link">@{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</MkA></div>
+ </template>
+ <template v-else-if="log.type === 'unSilenceUser'">
+ <div>{{ i18n.ts.user }}: <MkA :to="`/admin/user/${log.info.userId}`" class="_link">@{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</MkA></div>
+ </template>
+ <template v-else-if="log.type === 'createAccount'">
+ <div>{{ i18n.ts.user }}: <MkA :to="`/admin/user/${log.info.userId}`" class="_link">@{{ log.info.userUsername }}</MkA></div>
+ </template>
+ <template v-else-if="log.type === 'clearOwnerlessFiles'">
+ <div>{{ i18n.ts.filesRemoved }}: {{ log.info.count }}</div>
+ </template>
+ <template v-else-if="log.type === 'importCustomEmojis'">
+ <div>{{ i18n.ts.fileImported }}: {{ log.info.fileName }}</div>
+ </template>
+ <template v-else-if="log.type === 'clearInstanceFiles'">
+ <div>{{ i18n.ts.host }}: <MkA :to="`/instance-info/${log.info.host}`" class="_link">{{ log.info.host }}</MkA></div>
+ <div>{{ i18n.ts.filesRemoved }}: {{ log.info.count }}</div>
+ </template>
+ <template v-else-if="log.type === 'severFollowRelations'">
+ <div>{{ i18n.ts.host }}: <MkA :to="`/instance-info/${log.info.host}`" class="_link">{{ log.info.host }}</MkA></div>
+ </template>
+ <template v-else-if="log.type === 'createPromo'">
+ <SkFetchNote :noteId="log.info.noteId"/>
+ </template>
+ <template v-else-if="log.type === 'addRelay'">
+ <div>{{ i18n.ts.inboxUrl }}: {{ log.info.inbox }}</div>
+ </template>
+ <template v-else-if="log.type === 'removeRelay'">
+ <div>{{ i18n.ts.inboxUrl }}: {{ log.info.inbox }}</div>
+ </template>
<details>
<summary>raw</summary>
@@ -220,6 +289,7 @@ import { CodeDiff } from 'v-code-diff';
import JSON5 from 'json5';
import { i18n } from '@/i18n.js';
import MkFolder from '@/components/MkFolder.vue';
+import SkFetchNote from '@/components/SkFetchNote.vue';
const props = defineProps<{
log: Misskey.entities.ModerationLog;