mirror of
https://github.com/versia-pub/frontend.git
synced 2025-12-06 08:28:20 +01:00
48 lines
1.3 KiB
Vue
48 lines
1.3 KiB
Vue
<template>
|
|
<div
|
|
class="flex flex-row flex-wrap gap-2 -mx-2"
|
|
v-if="isDeveloper || account.bot || roles.length > 0"
|
|
>
|
|
<ProfileBadge
|
|
v-if="isDeveloper"
|
|
:name="m.nice_bad_grizzly_coax()"
|
|
:description="m.honest_jolly_shell_blend()"
|
|
:verified="true"
|
|
/>
|
|
<ProfileBadge
|
|
v-if="account.bot"
|
|
:name="m.merry_red_shrimp_bump()"
|
|
:description="m.sweet_mad_jannes_create()"
|
|
/>
|
|
<ProfileBadge
|
|
v-for="role in roles"
|
|
:key="role.id"
|
|
:name="role.name"
|
|
:description="role.description"
|
|
:icon="role.icon"
|
|
/>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import type { Account } from "@versia/client/types";
|
|
import * as m from "~/paraglide/messages.js";
|
|
import ProfileBadge from "./profile-badge.vue";
|
|
|
|
const { account } = defineProps<{
|
|
account: Account;
|
|
}>();
|
|
|
|
const config = useConfig();
|
|
const roles = account.roles.filter((r) => r.visible);
|
|
// Get user handle in username@instance format
|
|
const handle = account.acct.includes("@")
|
|
? account.acct
|
|
: `${account.acct}@${
|
|
identity.value?.instance.domain ?? window.location.host
|
|
}`;
|
|
const isDeveloper = config.DEVELOPER_HANDLES.includes(handle);
|
|
</script>
|
|
|
|
<style></style>
|