diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-27 14:36:33 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-27 14:36:33 +0900 |
| commit | 9384f5399da39e53855beb8e7f8ded1aa56bf72e (patch) | |
| tree | ce5959571a981b9c4047da3c7b3fd080aa44222c /packages/frontend/src/pages/admin/overview.moderators.vue | |
| parent | wip: retention for dashboard (diff) | |
| download | misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.gz misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.bz2 misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.zip | |
rename: client -> frontend
Diffstat (limited to 'packages/frontend/src/pages/admin/overview.moderators.vue')
| -rw-r--r-- | packages/frontend/src/pages/admin/overview.moderators.vue | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/admin/overview.moderators.vue b/packages/frontend/src/pages/admin/overview.moderators.vue new file mode 100644 index 0000000000..a1f63c8711 --- /dev/null +++ b/packages/frontend/src/pages/admin/overview.moderators.vue @@ -0,0 +1,55 @@ +<template> +<div> + <transition :name="$store.state.animation ? 'zoom' : ''" mode="out-in"> + <MkLoading v-if="fetching"/> + <div v-else :class="$style.root" class="_panel"> + <MkA v-for="user in moderators" :key="user.id" class="user" :to="`/user-info/${user.id}`"> + <MkAvatar :user="user" class="avatar" :show-indicator="true" :disable-link="true"/> + </MkA> + </div> + </transition> +</div> +</template> + +<script lang="ts" setup> +import { onMounted, onUnmounted, ref } from 'vue'; +import * as os from '@/os'; +import number from '@/filters/number'; +import { i18n } from '@/i18n'; + +let moderators: any = $ref(null); +let fetching = $ref(true); + +onMounted(async () => { + moderators = await os.api('admin/show-users', { + sort: '+lastActiveDate', + state: 'adminOrModerator', + limit: 30, + }); + + fetching = false; +}); +</script> + +<style lang="scss" module> +.root { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(30px, 40px)); + grid-gap: 12px; + place-content: center; + padding: 12px; + + &:global { + > .user { + width: 100%; + height: 100%; + aspect-ratio: 1; + + > .avatar { + width: 100%; + height: 100%; + } + } + } +} +</style> |