summaryrefslogtreecommitdiff
path: root/packages/frontend
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-09-25 10:29:12 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-09-25 10:29:12 +0900
commit5318532a8d1208b4f286856e98ff199bfdeacb9c (patch)
tree9825d491cee6fc46dae57f548ee6a9f5ccff616b /packages/frontend
parentAdd address bind config option (outgoingAddress) is feature of 2023.9 (#11894) (diff)
downloadmisskey-5318532a8d1208b4f286856e98ff199bfdeacb9c.tar.gz
misskey-5318532a8d1208b4f286856e98ff199bfdeacb9c.tar.bz2
misskey-5318532a8d1208b4f286856e98ff199bfdeacb9c.zip
enhance: improve moderation log
Diffstat (limited to 'packages/frontend')
-rw-r--r--packages/frontend/src/pages/admin/modlog.ModLog.vue48
1 files changed, 41 insertions, 7 deletions
diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue
index ce7b89f8f7..f0de026ad8 100644
--- a/packages/frontend/src/pages/admin/modlog.ModLog.vue
+++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue
@@ -5,33 +5,61 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<MkFolder>
- <template #label>{{ i18n.ts._moderationLogTypes[log.type] }}</template>
+ <template #label>
+ <b>{{ i18n.ts._moderationLogTypes[log.type] }}</b>
+ <span v-if="log.type === 'updateUserNote'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'suspend'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'unsuspend'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'resetPassword'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'assignRole'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'unassignRole'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'createRole'">: {{ log.info.role.name }}</span>
+ <span v-else-if="log.type === 'updateRole'">: {{ log.info.before.name }}</span>
+ <span v-else-if="log.type === 'deleteRole'">: {{ log.info.role.name }}</span>
+ <span v-else-if="log.type === 'updateCustomEmoji'">: {{ log.info.before.name }}</span>
+ <span v-else-if="log.type === 'markSensitiveDriveFile'">: @{{ log.info.fileUserUsername }}{{ log.info.fileUserHost ? '@' + log.info.fileUserHost : '' }}</span>
+ <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 === 'createUserAnnouncement'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'updateUserAnnouncement'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'deleteNote'">: @{{ log.info.noteUserUsername }}{{ log.info.noteUserHost ? '@' + log.info.noteUserHost : '' }}</span>
+ <span v-else-if="log.type === 'deleteDriveFile'">: @{{ log.info.fileUserUsername }}{{ log.info.fileUserHost ? '@' + log.info.fileUserHost : '' }}</span>
+ </template>
<template #icon>
<MkAvatar :user="log.user" :class="$style.avatar"/>
</template>
<template #suffix>
- <MkTime :time="log.createdAt" mode="detail"/>
+ <MkTime :time="log.createdAt"/>
</template>
<div :class="$style.root">
- <div>{{ i18n.ts.moderator }}: {{ log.userId }}</div>
+ <div style="display: flex; gap: var(--margin); flex-wrap: wrap;">
+ <div style="flex: 1;">{{ i18n.ts.moderator }}: <MkA :to="`/admin/user/${log.userId}`" class="_link">@{{ log.user?.username }}</MkA></div>
+ <div style="flex: 1;">{{ i18n.ts.dateAndTime }}: <MkTime :time="log.createdAt" mode="detail"/></div>
+ </div>
<template v-if="log.type === 'updateServerSettings'">
<div :class="$style.diff">
- <CodeDiff :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
+ <CodeDiff :context="5" :hideHeader="true" :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
</div>
</template>
<template v-else-if="log.type === 'updateUserNote'">
<div>{{ i18n.ts.user }}: {{ log.info.userId }}</div>
<div :class="$style.diff">
- <CodeDiff :oldString="log.info.before ?? ''" :newString="log.info.after ?? ''" maxHeight="300px"/>
+ <CodeDiff :context="5" :hideHeader="true" :oldString="log.info.before ?? ''" :newString="log.info.after ?? ''" maxHeight="300px"/>
</div>
</template>
<template v-else-if="log.type === 'suspend'">
- <div>{{ i18n.ts.user }}: {{ log.info.targetId }}</div>
+ <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 === 'unsuspend'">
- <div>{{ i18n.ts.user }}: {{ log.info.targetId }}</div>
+ <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 === 'updateRole'">
+ <div :class="$style.diff">
+ <CodeDiff :context="5" :hideHeader="true" :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
+ </div>
</template>
<template v-else-if="log.type === 'assignRole'">
<div>{{ i18n.ts.user }}: {{ log.info.userId }}</div>
@@ -41,6 +69,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<div>{{ i18n.ts.user }}: {{ log.info.userId }}</div>
<div>{{ i18n.ts.role }}: {{ log.info.roleName }} [{{ log.info.roleId }}]</div>
</template>
+ <template v-else-if="log.type === 'updateCustomEmoji'">
+ <div>{{ i18n.ts.emoji }}: {{ log.info.emojiId }}</div>
+ <div :class="$style.diff">
+ <CodeDiff :context="5" :hideHeader="true" :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
+ </div>
+ </template>
</div>
</MkFolder>
</template>