refactor: extract account avatar

This commit is contained in:
三咲智子 2022-11-25 19:04:35 +08:00
parent 910c585a55
commit b58d204199
No known key found for this signature in database
GPG key ID: 69992F2250DFD93E
3 changed files with 25 additions and 14 deletions

View file

@ -12,16 +12,12 @@ defineOptions({
</script> </script>
<template> <template>
<div relative flex-shrink-0> <div v-if="hover" relative flex-shrink-0>
<div group> <div group>
<AccountHoverCard v-if="hover" top="-3.2" left="-4.4" absolute :account="account" op0 pointer-events-none group-hover="pointer-events-auto op100 scale-100" delay-250 transition transform scale-20 class="ease-[cubic-bezier(0.4, 0.0, 0.2, 1)]" /> <AccountHoverCard top="-3.2" left="-4.4" absolute :account="account" op0 pointer-events-none group-hover="pointer-events-auto op100 scale-100" delay-250 transition transform scale-20 class="ease-[cubic-bezier(0.4, 0.0, 0.2, 1)]" />
<img <AccountAvatarImage :account="account" v-bind="$attrs" />
:src="account.avatar"
:alt="account.username"
loading="lazy"
rounded-full bg-gray:10
v-bind="$attrs"
>
</div> </div>
</div> </div>
<AccountAvatarImage v-else :account="account" v-bind="$attrs" />
</template> </template>

View file

@ -0,0 +1,17 @@
<script setup lang="ts">
import type { Account } from 'masto'
defineProps<{
account: Account
}>()
</script>
<template>
<img
:src="account.avatar"
:alt="account.username"
loading="lazy"
rounded-full bg-gray:10
v-bind="$attrs"
>
</template>

View file

@ -53,11 +53,9 @@ function getFieldNameIcon(fieldName: string) {
<div p4 mt--17 flex flex-col gap-6> <div p4 mt--17 flex flex-col gap-6>
<div flex justify-between> <div flex justify-between>
<div flex="~ col gap-2 1" min-w-0> <div flex="~ col gap-2 1" min-w-0>
<div> <NuxtLink w-fit :to="getAccountPath(account)">
<NuxtLink :to="getAccountPath(account)">
<AccountAvatar :account="account" w-30 h-30 /> <AccountAvatar :account="account" w-30 h-30 />
</NuxtLink> </NuxtLink>
</div>
<div flex flex-col> <div flex flex-col>
<ContentRichSetup font-bold text-2xl break-words :content="getDisplayName(account)" :emojis="account.emojis" /> <ContentRichSetup font-bold text-2xl break-words :content="getDisplayName(account)" :emojis="account.emojis" />
<p op50> <p op50>