2025-03-28 01:16:24 +01:00
|
|
|
<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>
|
2025-05-26 11:19:15 +02:00
|
|
|
import type { Account } from "@versia/client/schemas";
|
|
|
|
|
import type { z } from "zod";
|
2025-03-28 01:16:24 +01:00
|
|
|
import * as m from "~/paraglide/messages.js";
|
|
|
|
|
import ProfileBadge from "./profile-badge.vue";
|
|
|
|
|
|
|
|
|
|
const { account } = defineProps<{
|
2025-05-26 11:19:15 +02:00
|
|
|
account: z.infer<typeof Account>;
|
2025-03-28 01:16:24 +01:00
|
|
|
}>();
|
|
|
|
|
|
|
|
|
|
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>
|