mirror of
https://github.com/elk-zone/elk.git
synced 2024-12-13 14:49:47 +03:00
727d05915f
* fix: rtl arrows on settings page * fix: border on settings page for RTL languages * fix: RTL fixes for logo, search box and logout icon * fix: RTL layout bugs in conversations * chore: remove rtl setting icon * improve arabic locale * add new entries to arabic locale * chore: include number format * fix: RTL layout on several pages * fix: RTL layout of account header and sign in modal * fix: always display account handle in LTR * fix: move character counter in publish widget to left side for RTL * fix: remove border-ss-none unocss rule * fix: many RTL fixes * fix: RTL fixes for many pages * fix: use viewer's direction in all content * chore: use new arabic plural rules * chore: flip arrow on main content header * chore: fix StatusPoll and show_new_items for zh-TW * chore: StatusPoll tooltip on bottom * chore: add `en` variants to i18n conf * chore: update entry to use new plural rule * fix: automatic content direction for status * fix: direction for account handle * fix: direction of polls Co-authored-by: userquin <userquin@gmail.com> Co-authored-by: Jean-Paul Khawam <jeanpaulkhawam@protonmail.com> Co-authored-by: Daniel Roe <daniel@roe.dev>
66 lines
3.2 KiB
Vue
66 lines
3.2 KiB
Vue
<script setup lang="ts">
|
|
import type { Account } from 'masto'
|
|
|
|
const props = defineProps<{
|
|
account: Account
|
|
}>()
|
|
const { formatHumanReadableNumber, formatNumber, forSR } = useHumanReadableNumber()
|
|
|
|
const statusesCount = $computed(() => formatHumanReadableNumber(props.account.statusesCount))
|
|
const statusesCountSR = $computed(() => forSR(props.account.statusesCount))
|
|
const followingCount = $computed(() => formatHumanReadableNumber(props.account.followingCount))
|
|
const followingCountSR = $computed(() => forSR(props.account.followingCount))
|
|
const followersCount = $computed(() => formatHumanReadableNumber(props.account.followersCount))
|
|
const followersCountSR = $computed(() => forSR(props.account.followersCount))
|
|
</script>
|
|
|
|
<template>
|
|
<div flex gap-5>
|
|
<NuxtLink
|
|
:to="getAccountRoute(account)"
|
|
text-secondary
|
|
exact-active-class="text-primary"
|
|
:class="statusesCountSR ? 'flex gap-x-1' : null"
|
|
>
|
|
<template #default="{ isExactActive }">
|
|
<i18n-t keypath="account.posts_count" :plural="account.statusesCount">
|
|
<CommonTooltip v-if="statusesCountSR" :content="formatNumber(account.statusesCount)" placement="bottom">
|
|
<span aria-hidden="true" font-bold :class="isExactActive ? 'text-primary' : 'text-base'">{{ statusesCount }}</span>
|
|
<span sr-only font-bold>{{ formatNumber(account.statusesCount) }}</span>
|
|
</CommonTooltip>
|
|
<span v-else font-bold :class="isExactActive ? 'text-primary' : 'text-base'">{{ statusesCount }}</span>
|
|
</i18n-t>
|
|
</template>
|
|
</NuxtLink>
|
|
<NuxtLink
|
|
:to="getAccountFollowingRoute(account)"
|
|
text-secondary exact-active-class="text-primary"
|
|
:class="followingCountSR ? 'flex gap-x-1' : null"
|
|
>
|
|
<template #default="{ isExactActive }">
|
|
<i18n-t keypath="account.following_count" :plural="account.followingCount">
|
|
<CommonTooltip v-if="followingCountSR" :content="formatNumber(account.followingCount)" placement="bottom">
|
|
<span aria-hidden="true" font-bold :class="isExactActive ? 'text-primary' : 'text-base'">{{ followingCount }}</span>
|
|
<span sr-only font-bold>{{ formatNumber(account.followingCount) }}</span>
|
|
</CommonTooltip>
|
|
<span v-else font-bold :class="isExactActive ? 'text-primary' : 'text-base'">{{ followingCount }}</span>
|
|
</i18n-t>
|
|
</template>
|
|
</NuxtLink>
|
|
<NuxtLink
|
|
:to="getAccountFollowersRoute(account)"
|
|
text-secondary exact-active-class="text-primary"
|
|
:class="followersCountSR ? 'flex gap-x-1' : null"
|
|
>
|
|
<template #default="{ isExactActive }">
|
|
<i18n-t keypath="account.followers_count" :plural="account.followersCount">
|
|
<CommonTooltip v-if="followersCountSR" :content="formatNumber(account.followersCount)" placement="bottom">
|
|
<span aria-hidden="true" font-bold :class="isExactActive ? 'text-primary' : 'text-base'">{{ followersCount }}</span>
|
|
<span sr-only font-bold>{{ formatNumber(account.followersCount) }}</span>
|
|
</CommonTooltip>
|
|
<span v-else font-bold :class="isExactActive ? 'text-primary' : 'text-base'">{{ followersCount }}</span>
|
|
</i18n-t>
|
|
</template>
|
|
</NuxtLink>
|
|
</div>
|
|
</template>
|