feat: add roles into account header and info (#2265)

zio/stable
Florian Martinez 2023-07-25 16:43:26 +02:00 committed by GitHub
parent 0719ad0afd
commit 22a1388d50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 0 deletions

View File

@ -167,6 +167,7 @@ const personalNoteMaxLength = 2000
<div flex="~ col gap1" pt2> <div flex="~ col gap1" pt2>
<div flex gap2 items-center> <div flex gap2 items-center>
<AccountDisplayName :account="account" font-bold sm:text-2xl text-xl /> <AccountDisplayName :account="account" font-bold sm:text-2xl text-xl />
<AccountRoleIndicator v-for="role in account.roles" :key="role.id" :role="role" />
<AccountLockIndicator v-if="account.locked" show-label /> <AccountLockIndicator v-if="account.locked" show-label />
<AccountBotIndicator v-if="account.bot" show-label /> <AccountBotIndicator v-if="account.bot" show-label />
</div> </div>

View File

@ -23,6 +23,7 @@ const { account, as = 'div' } = defineProps<{
<div flex="~ col" shrink pt-1 h-full overflow-hidden justify-center leading-none select-none> <div flex="~ col" shrink pt-1 h-full overflow-hidden justify-center leading-none select-none>
<div flex="~" gap-2> <div flex="~" gap-2>
<AccountDisplayName :account="account" font-bold line-clamp-1 ws-pre-wrap break-all text-lg /> <AccountDisplayName :account="account" font-bold line-clamp-1 ws-pre-wrap break-all text-lg />
<AccountRoleIndicator v-for="role in account.roles" :key="role.id" :role="role" />
<AccountLockIndicator v-if="account.locked" text-xs /> <AccountLockIndicator v-if="account.locked" text-xs />
<AccountBotIndicator v-if="account.bot" text-xs /> <AccountBotIndicator v-if="account.bot" text-xs />
</div> </div>

View File

@ -0,0 +1,23 @@
<script setup lang="ts">
interface Role {
name: string
color: string
}
defineProps<{
role: Role
}>()
</script>
<template>
<div
flex="~ gap1" items-center
class="border border-base rounded-md px-1"
text-secondary-light
>
<slot name="prepend" />
<div :style="`color: ${role.color}; border-color: ${role.color}`">
{{ role.name }}
</div>
</div>
</template>