enhance(client): add users tab to instance-info
This commit is contained in:
parent
0f1c0a42a2
commit
2b1e03cc64
1 changed files with 25 additions and 0 deletions
|
@ -95,6 +95,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else-if="tab === 'users'" class="_formRoot">
|
||||||
|
<MkPagination v-slot="{items}" :pagination="usersPagination" style="display: grid; grid-template-columns: repeat(auto-fill,minmax(270px,1fr)); grid-gap: 12px;">
|
||||||
|
<MkA v-for="user in items" :key="user.id" v-tooltip.mfm="`Last posted: ${new Date(user.updatedAt).toLocaleString()}`" class="user" :to="`/user-info/${user.id}`">
|
||||||
|
<MkUserCardMini :user="user"/>
|
||||||
|
</MkA>
|
||||||
|
</MkPagination>
|
||||||
|
</div>
|
||||||
<div v-else-if="tab === 'raw'" class="_formRoot">
|
<div v-else-if="tab === 'raw'" class="_formRoot">
|
||||||
<MkObjectView tall :value="instance">
|
<MkObjectView tall :value="instance">
|
||||||
</MkObjectView>
|
</MkObjectView>
|
||||||
|
@ -121,6 +128,8 @@ import bytes from '@/filters/bytes';
|
||||||
import { iAmModerator } from '@/account';
|
import { iAmModerator } from '@/account';
|
||||||
import { definePageMetadata } from '@/scripts/page-metadata';
|
import { definePageMetadata } from '@/scripts/page-metadata';
|
||||||
import { i18n } from '@/i18n';
|
import { i18n } from '@/i18n';
|
||||||
|
import MkUserCardMini from '@/components/user-card-mini.vue';
|
||||||
|
import MkPagination from '@/components/ui/pagination.vue';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
host: string;
|
host: string;
|
||||||
|
@ -133,6 +142,18 @@ let instance = $ref<misskey.entities.Instance | null>(null);
|
||||||
let suspended = $ref(false);
|
let suspended = $ref(false);
|
||||||
let isBlocked = $ref(false);
|
let isBlocked = $ref(false);
|
||||||
|
|
||||||
|
const usersPagination = {
|
||||||
|
endpoint: 'admin/show-users' as const,
|
||||||
|
limit: 10,
|
||||||
|
params: {
|
||||||
|
sort: '+updatedAt',
|
||||||
|
state: 'all',
|
||||||
|
origin: 'remote',
|
||||||
|
hostname: props.host,
|
||||||
|
},
|
||||||
|
offsetMode: true,
|
||||||
|
};
|
||||||
|
|
||||||
async function fetch() {
|
async function fetch() {
|
||||||
instance = await os.api('federation/show-instance', {
|
instance = await os.api('federation/show-instance', {
|
||||||
host: props.host,
|
host: props.host,
|
||||||
|
@ -182,6 +203,10 @@ const headerTabs = $computed(() => [{
|
||||||
key: 'chart',
|
key: 'chart',
|
||||||
title: i18n.ts.charts,
|
title: i18n.ts.charts,
|
||||||
icon: 'fas fa-chart-simple',
|
icon: 'fas fa-chart-simple',
|
||||||
|
}, {
|
||||||
|
key: 'users',
|
||||||
|
title: i18n.ts.users,
|
||||||
|
icon: 'fas fa-users',
|
||||||
}, {
|
}, {
|
||||||
key: 'raw',
|
key: 'raw',
|
||||||
title: 'Raw data',
|
title: 'Raw data',
|
||||||
|
|
Loading…
Reference in a new issue