diff options
| author | Shpuld Shpludson <shp@cock.li> | 2019-07-31 17:46:24 +0000 |
|---|---|---|
| committer | Shpuld Shpludson <shp@cock.li> | 2019-07-31 17:46:24 +0000 |
| commit | f031e96334d9c5eeb510dcb1dc8700edd4ec2465 (patch) | |
| tree | 28eb7aeff23c824bc416ba05f11b083208dd8899 /src | |
| parent | f4b9efff7702113a083b5ef42c3fd8fc72ff93b4 (diff) | |
| parent | be7a508d89d8ea4b78abeba73625d25d22726270 (diff) | |
Merge branch '618' into 'develop'
Ability to enlarge profile picture in profile page
Closes #618
See merge request pleroma/pleroma-fe!890
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/user_card/user_card.js | 10 | ||||
| -rw-r--r-- | src/components/user_card/user_card.vue | 48 | ||||
| -rw-r--r-- | src/components/user_profile/user_profile.vue | 1 |
3 files changed, 57 insertions, 2 deletions
diff --git a/src/components/user_card/user_card.js b/src/components/user_card/user_card.js index e019ebbd..82d3b835 100644 --- a/src/components/user_card/user_card.js +++ b/src/components/user_card/user_card.js @@ -7,7 +7,7 @@ import { requestFollow, requestUnfollow } from '../../services/follow_manipulate import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator' export default { - props: [ 'user', 'switcher', 'selected', 'hideBio', 'rounded', 'bordered' ], + props: [ 'user', 'switcher', 'selected', 'hideBio', 'rounded', 'bordered', 'allowZoomingAvatar' ], data () { return { followRequestInProgress: false, @@ -162,6 +162,14 @@ export default { }, reportUser () { this.$store.dispatch('openUserReportingModal', this.user.id) + }, + zoomAvatar () { + const attachment = { + url: this.user.profile_image_url_original, + mimetype: 'image' + } + this.$store.dispatch('setMedia', [attachment]) + this.$store.dispatch('setCurrent', attachment) } } } diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 9e142480..fc18e240 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -7,7 +7,23 @@ <div class="panel-heading"> <div class="user-info"> <div class="container"> - <router-link :to="userProfileLink(user)"> + <a + v-if="allowZoomingAvatar" + class="user-info-avatar-link" + @click="zoomAvatar" + > + <UserAvatar + :better-shadow="betterShadow" + :user="user" + /> + <div class="user-info-avatar-link-overlay"> + <i class="button-icon icon-zoom-in" /> + </div> + </a> + <router-link + v-else + :to="userProfileLink(user)" + > <UserAvatar :better-shadow="betterShadow" :user="user" @@ -351,6 +367,7 @@ .container { padding: 16px 0 6px; display: flex; + align-items: flex-start; max-height: 56px; .avatar { @@ -372,6 +389,35 @@ } } + &-avatar-link { + position: relative; + cursor: pointer; + + &-overlay { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.3); + display: flex; + justify-content: center; + align-items: center; + border-radius: $fallback--avatarRadius; + border-radius: var(--avatarRadius, $fallback--avatarRadius); + opacity: 0; + transition: opacity .2s ease; + + i { + color: #FFF; + } + } + + &:hover &-overlay { + opacity: 1; + } + } + .usersettings { color: $fallback--lightText; color: var(--lightText, $fallback--lightText); diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue index e862440e..cffa28f1 100644 --- a/src/components/user_profile/user_profile.vue +++ b/src/components/user_profile/user_profile.vue @@ -8,6 +8,7 @@ :user="user" :switcher="true" :selected="timeline.viewing" + :allow-zooming-avatar="true" rounded="top" /> <tab-switcher |
