<script setup lang="ts"> import type { GroupedNotifications } from '~/types' const { items } = defineProps<{ items: GroupedNotifications }>() const { formatHumanReadableNumber, forSR } = useHumanReadableNumber() const count = $computed(() => items.items.length) const addSR = $computed(() => forSR(count)) const isExpanded = ref(false) </script> <template> <article flex flex-col relative> <div flex items-center top-0 left-2 pt-2 px-3> <div i-ri:user-follow-fill mr-3 color-primary aria-hidden="true" /> <template v-if="count > 1"> <template v-if="addSR"> <span aria-hidden="true" > {{ $t('notification.followed_you_count', count, { named: { followers: formatHumanReadableNumber(count) } }) }} </span> <span sr-only> {{ $t('notification.followed_you_count', count, { named: { followers: count } }) }} </span> </template> <span v-else> {{ $t('notification.followed_you_count', count, { named: { followers: count } }) }} </span> </template> <template v-else> <ContentRich text-primary mr-1 font-bold line-clamp-1 ws-pre-wrap break-all :content="getDisplayName(items.items[0]?.account, { rich: true })" :emojis="items.items[0]?.account.emojis" /> <span mr-1 ws-nowrap> {{ $t('notification.followed_you') }} </span> </template> </div> <div pb-2> <div v-if="isExpanded"> <AccountCard v-for="item in items.items" :key="item.id" :account="item.account" p3 /> </div> <div v-else flex="~ wrap gap-1.75" p4> <AccountHoverWrapper v-for="item in items.items" :key="item.id" :account="item.account" > <NuxtLink :to="getAccountRoute(item.account)"> <AccountAvatar :account="item.account" w-12 h-12 /> </NuxtLink> </AccountHoverWrapper> </div> </div> </article> </template>