summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/admin-user.vue
diff options
context:
space:
mode:
authorNafu Satsuki <satsuki@nafusoft.dev>2023-11-18 05:20:11 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-11-18 21:07:47 +0900
commit2b6f789a5bc741d9092d29ea17d03be794ef5d51 (patch)
tree1521e71e2da7018c6d51ff90b6132ebb18b01048 /packages/frontend/src/pages/admin-user.vue
parentlint fix (diff)
downloadmisskey-2b6f789a5bc741d9092d29ea17d03be794ef5d51.tar.gz
misskey-2b6f789a5bc741d9092d29ea17d03be794ef5d51.tar.bz2
misskey-2b6f789a5bc741d9092d29ea17d03be794ef5d51.zip
feat(moderation): モデレーターがユーザーのアイコンもしくはバナー画像を未設定状態にできる機能を追加 (MisskeyIO#222)
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/pages/admin-user.vue')
-rw-r--r--packages/frontend/src/pages/admin-user.vue42
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/admin-user.vue b/packages/frontend/src/pages/admin-user.vue
index 5d671acf31..9f4975e888 100644
--- a/packages/frontend/src/pages/admin-user.vue
+++ b/packages/frontend/src/pages/admin-user.vue
@@ -122,6 +122,10 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
</MkFolder>
+ <div>
+ <MkButton v-if="iAmModerator" inline danger style="margin-right: 8px;" @click="deleteUserAvatar"><i class="ti ti-user-circle"></i> {{ i18n.ts.deleteUserAvatar }}</MkButton>
+ <MkButton v-if="iAmModerator" inline danger @click="deleteUserBanner"><i class="ti ti-photo"></i> {{ i18n.ts.deleteUserBanner }}</MkButton>
+ </div>
<MkButton v-if="$i.isAdmin" inline danger @click="deleteAccount">{{ i18n.ts.deleteAccount }}</MkButton>
</div>
</FormSection>
@@ -320,6 +324,44 @@ async function toggleSuspend(v) {
}
}
+async function deleteUserAvatar() {
+ const confirm = await os.confirm({
+ type: 'warning',
+ text: i18n.ts.deleteUserAvatarConfirm,
+ });
+ if (confirm.canceled) return;
+ const process = async () => {
+ await os.api('admin/delete-user-avatar', { userId: user.id });
+ os.success();
+ };
+ await process().catch(err => {
+ os.alert({
+ type: 'error',
+ text: err.toString(),
+ });
+ });
+ refreshUser();
+}
+
+async function deleteUserBanner() {
+ const confirm = await os.confirm({
+ type: 'warning',
+ text: i18n.ts.deleteUserBannerConfirm,
+ });
+ if (confirm.canceled) return;
+ const process = async () => {
+ await os.api('admin/delete-user-banner', { userId: user.id });
+ os.success();
+ };
+ await process().catch(err => {
+ os.alert({
+ type: 'error',
+ text: err.toString(),
+ });
+ });
+ refreshUser();
+}
+
async function deleteAllFiles() {
const confirm = await os.confirm({
type: 'warning',