2022-11-23 08:42:20 +09:00
|
|
|
<script setup lang="ts">
|
|
|
|
import type { Account } from 'masto'
|
|
|
|
|
|
|
|
defineProps<{
|
|
|
|
account: Account
|
|
|
|
}>()
|
2022-11-29 15:00:06 +09:00
|
|
|
|
|
|
|
const loaded = $ref(false)
|
2022-12-04 23:14:12 +09:00
|
|
|
const error = $ref(false)
|
2022-11-23 08:42:20 +09:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2022-11-27 11:35:26 +09:00
|
|
|
<img
|
2022-11-27 22:12:25 +09:00
|
|
|
:key="account.avatar"
|
2022-12-31 07:41:07 +09:00
|
|
|
width="400"
|
|
|
|
height="400"
|
2022-12-04 23:14:12 +09:00
|
|
|
:src="error ? 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' : account.avatar"
|
2022-12-02 11:18:36 +09:00
|
|
|
:alt="$t('account.avatar_description', [account.username])"
|
2022-11-27 11:35:26 +09:00
|
|
|
loading="lazy"
|
2022-11-29 15:00:06 +09:00
|
|
|
rounded-full
|
2022-12-13 05:25:42 +09:00
|
|
|
:class="loaded ? 'bg-base' : 'bg-gray:10'"
|
2022-11-27 11:35:26 +09:00
|
|
|
v-bind="$attrs"
|
2022-11-29 15:00:06 +09:00
|
|
|
@load="loaded = true"
|
2022-12-04 23:14:12 +09:00
|
|
|
@error="error = true"
|
2022-11-27 11:35:26 +09:00
|
|
|
>
|
2022-11-23 08:42:20 +09:00
|
|
|
</template>
|