diff options
Diffstat (limited to 'src/components/user_card')
| -rw-r--r-- | src/components/user_card/user_card.js | 5 | ||||
| -rw-r--r-- | src/components/user_card/user_card.scss | 12 | ||||
| -rw-r--r-- | src/components/user_card/user_card.vue | 14 |
3 files changed, 20 insertions, 11 deletions
diff --git a/src/components/user_card/user_card.js b/src/components/user_card/user_card.js index 9a8dcb23..b0fa11b3 100644 --- a/src/components/user_card/user_card.js +++ b/src/components/user_card/user_card.js @@ -37,9 +37,8 @@ export default { 'hideBio', 'rounded', 'bordered', - 'allowZoomingAvatar', - 'onClose', - 'onAvatarClick' + 'avatarAction', // default - open profile, 'zoom' - zoom, function - call function + 'onClose' ], data () { return { diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 65299e60..a0bbc6a6 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -133,23 +133,27 @@ min-width: 0; } + > a { + vertical-align: middle; + display: flex; + } + .Avatar { --_avatarShadowBox: var(--avatarShadow); --_avatarShadowFilter: var(--avatarShadowFilter); --_avatarShadowInset: var(--avatarShadowInset); - flex: 1 0 100%; width: 56px; height: 56px; object-fit: cover; } } - &-avatar-link { + &-avatar { position: relative; cursor: pointer; - &-overlay { + &.-overlay { position: absolute; left: 0; top: 0; @@ -169,7 +173,7 @@ } } - &:hover &-overlay { + &:hover &.-overlay { opacity: 1; } } diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 62d4a94d..bc23e68e 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -12,25 +12,31 @@ <div class="user-info"> <div class="container"> <a - v-if="allowZoomingAvatar" - class="user-info-avatar-link" + v-if="avatarAction === 'zoom'" + class="user-info-avatar -link" @click="zoomAvatar" > <UserAvatar :better-shadow="betterShadow" :user="user" /> - <div class="user-info-avatar-link-overlay"> + <div class="user-info-avatar -link -overlay"> <FAIcon class="fa-scale-110 fa-old-padding" icon="search-plus" /> </div> </a> + <UserAvatar + v-else-if="typeof avatarAction === 'function'" + @click="avatarAction" + class="user-info-avatar" + :better-shadow="betterShadow" + :user="user" + /> <router-link v-else :to="userProfileLink(user)" - @click="onAvatarClickHandler" > <UserAvatar :better-shadow="betterShadow" |
