kopia lustrzana https://github.com/elk-zone/elk
				
				
				
			
		
			
				
	
	
		
			54 wiersze
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			54 wiersze
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
| <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>
 | |
|     <div flex ml-4 items-center>
 | |
|       <div i-ri:user-follow-fill mr-3 color-primary aria-hidden="true" />
 | |
|       <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>
 | |
|     </div>
 | |
|     <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" p4>
 | |
|       <AccountHoverWrapper
 | |
|         v-for="item in items.items"
 | |
|         :key="item.id"
 | |
|         :account="item.account"
 | |
|       >
 | |
|         <NuxtLink :to="getAccountRoute(item.account)">
 | |
|           <AccountAvatar :account="item.account" w-8 h-8 />
 | |
|         </NuxtLink>
 | |
|       </AccountHoverWrapper>
 | |
|     </div>
 | |
|   </article>
 | |
| </template>
 |