27 lines
710 B
Vue
27 lines
710 B
Vue
<!--
|
|
SPDX-FileCopyrightText: syuilo and misskey-project
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
-->
|
|
|
|
<template>
|
|
<MkSpacer :contentMax="700">
|
|
<div class="_gaps_s">
|
|
<MkRolePreview v-for="role in roles" :key="role.id" :role="role" :forModeration="false"/>
|
|
</div>
|
|
</MkSpacer>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { ref } from 'vue';
|
|
import * as Misskey from 'misskey-js';
|
|
import MkRolePreview from '@/components/MkRolePreview.vue';
|
|
import { misskeyApi } from '@/scripts/misskey-api.js';
|
|
|
|
const roles = ref<Misskey.entities.Role[] | null>(null);
|
|
|
|
misskeyApi('roles/list').then(res => {
|
|
roles.value = res.filter(x => x.target === 'manual').sort((a, b) => b.displayOrder - a.displayOrder);
|
|
});
|
|
</script>
|
|
|