79 lines
2.4 KiB
Vue
79 lines
2.4 KiB
Vue
<script setup lang="ts">
|
|
import type { mastodon } from 'masto'
|
|
|
|
defineProps<{
|
|
account: mastodon.v1.Account
|
|
isHoverCard?: boolean
|
|
}>()
|
|
|
|
const userSettings = useUserSettings()
|
|
</script>
|
|
|
|
<template>
|
|
<div flex gap-5>
|
|
<NuxtLink
|
|
:to="getAccountRoute(account)"
|
|
replace
|
|
text-secondary
|
|
exact-active-class="text-primary"
|
|
>
|
|
<template #default="{ isExactActive }">
|
|
<CommonLocalizedNumber
|
|
keypath="account.posts_count"
|
|
:count="account.statusesCount"
|
|
font-bold
|
|
:class="isExactActive ? 'text-primary' : 'text-base'"
|
|
/>
|
|
</template>
|
|
</NuxtLink>
|
|
<NuxtLink
|
|
v-if="!(isHoverCard && getPreferences(userSettings, 'hideFollowerCount'))"
|
|
:to="getAccountFollowingRoute(account)"
|
|
replace
|
|
text-secondary exact-active-class="text-primary"
|
|
>
|
|
<template #default="{ isExactActive }">
|
|
<template
|
|
v-if="!getPreferences(userSettings, 'hideFollowerCount')"
|
|
>
|
|
<CommonLocalizedNumber
|
|
v-if="account.followingCount >= 0"
|
|
keypath="account.following_count"
|
|
:count="account.followingCount"
|
|
font-bold
|
|
:class="isExactActive ? 'text-primary' : 'text-base'"
|
|
/>
|
|
<div v-else flex gap-x-1>
|
|
<span font-bold text-base>Hidden</span>
|
|
<span>{{ $t('account.following') }}</span>
|
|
</div>
|
|
</template>
|
|
<span v-else>{{ $t('account.following') }}</span>
|
|
</template>
|
|
</NuxtLink>
|
|
<NuxtLink
|
|
v-if="!(isHoverCard && getPreferences(userSettings, 'hideFollowerCount'))"
|
|
:to="getAccountFollowersRoute(account)"
|
|
replace text-secondary
|
|
exact-active-class="text-primary"
|
|
>
|
|
<template #default="{ isExactActive }">
|
|
<template v-if="!getPreferences(userSettings, 'hideFollowerCount')">
|
|
<CommonLocalizedNumber
|
|
v-if="account.followersCount >= 0"
|
|
keypath="account.followers_count"
|
|
:count="account.followersCount"
|
|
font-bold
|
|
:class="isExactActive ? 'text-primary' : 'text-base'"
|
|
/>
|
|
<div v-else flex gap-x-1>
|
|
<span font-bold text-base>Hidden</span>
|
|
<span>{{ $t('account.followers') }}</span>
|
|
</div>
|
|
</template>
|
|
<span v-else>{{ $t('account.followers') }}</span>
|
|
</template>
|
|
</NuxtLink>
|
|
</div>
|
|
</template>
|