yandere_fe/src/components/user_avatar/user_avatar.vue

61 lines
1.4 KiB
Vue
Raw Normal View History

<template>
2019-02-05 07:17:50 -08:00
<StillImage
v-if="user"
class="Avatar"
:alt="user.screen_name"
:title="user.screen_name"
:src="imgSrc(user.profile_image_url_original)"
2019-02-05 07:17:50 -08:00
:class="{ 'avatar-compact': compact, 'better-shadow': betterShadow }"
2019-07-05 00:17:44 -07:00
:image-load-error="imageLoadError"
2019-02-05 07:17:50 -08:00
/>
<div
v-else
class="Avatar -placeholder"
:class="{ 'avatar-compact': compact }"
/>
</template>
<script src="./user_avatar.js"></script>
2019-02-02 11:33:13 -08:00
<style lang="scss">
@import '../../_variables.scss';
.Avatar {
--_avatarShadowBox: var(--avatarStatusShadow);
--_avatarShadowFilter: var(--avatarStatusShadowFilter);
--_avatarShadowInset: var(--avatarStatusShadowInset);
--still-image-label-visibility: hidden;
2019-02-02 11:33:13 -08:00
width: 48px;
height: 48px;
box-shadow: var(--_avatarShadowBox);
2019-02-02 11:33:13 -08:00
border-radius: $fallback--avatarRadius;
border-radius: var(--avatarRadius, $fallback--avatarRadius);
img {
width: 100%;
height: 100%;
}
2019-02-02 11:33:13 -08:00
&.better-shadow {
box-shadow: var(--_avatarShadowInset);
filter: var(--_avatarShadowFilter);
2019-02-02 11:33:13 -08:00
}
&.animated::before {
display: none;
}
&.avatar-compact {
width: 32px;
height: 32px;
border-radius: $fallback--avatarAltRadius;
border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
2019-02-02 11:33:13 -08:00
}
&.-placeholder {
background-color: $fallback--fg;
background-color: var(--fg, $fallback--fg);
}
2019-02-02 11:33:13 -08:00
}
</style>