diff --git a/src/client/app/common/views/components/avatar.vue b/src/client/app/common/views/components/avatar.vue index a924b62e64..6685296c16 100644 --- a/src/client/app/common/views/components/avatar.vue +++ b/src/client/app/common/views/components/avatar.vue @@ -1,6 +1,8 @@ <template> - <router-link class="mk-avatar" :to="user | userPage" :title="user | acct" :target="target" :style="style" v-if="disablePreview"></router-link> - <router-link class="mk-avatar" :to="user | userPage" :title="user | acct" :target="target" :style="style" v-else v-user-preview="user.id"></router-link> + <span class="mk-avatar" :title="user | acct" :style="style" v-if="disableLink && !disablePreview" v-user-preview="user.id" @click="onClick"></span> + <span class="mk-avatar" :title="user | acct" :style="style" v-else-if="disableLink && disablePreview" @click="onClick"></span> + <router-link class="mk-avatar" :to="user | userPage" :title="user | acct" :target="target" :style="style" v-else-if="!disableLink && !disablePreview" v-user-preview="user.id"></router-link> + <router-link class="mk-avatar" :to="user | userPage" :title="user | acct" :target="target" :style="style" v-else-if="!disableLink && disablePreview"></router-link> </template> <script lang="ts"> @@ -15,6 +17,10 @@ export default Vue.extend({ required: false, default: null }, + disableLink: { + required: false, + default: false + }, disablePreview: { required: false, default: false @@ -35,6 +41,11 @@ export default Vue.extend({ borderRadius: this.$store.state.settings.circleIcons ? '100%' : null }; } + }, + methods: { + onClick(e) { + this.$emit('click', e); + } } }); </script> diff --git a/src/client/app/desktop/views/widgets/profile.vue b/src/client/app/desktop/views/widgets/profile.vue index 9702aaa90a..a22607b612 100644 --- a/src/client/app/desktop/views/widgets/profile.vue +++ b/src/client/app/desktop/views/widgets/profile.vue @@ -6,10 +6,11 @@ <div class="banner" :style="$store.state.i.bannerUrl ? `background-image: url(${$store.state.i.bannerUrl})` : ''" title="%i18n:@update-banner%" - @click="os.apis.updateBanner" + @click="() => os.apis.updateBanner()" ></div> <mk-avatar class="avatar" :user="$store.state.i" - @click="os.apis.updateAvatar" + :disable-link="true" + @click="() => os.apis.updateAvatar()" title="%i18n:@update-avatar%" /> <router-link class="name" :to="$store.state.i | userPage">{{ $store.state.i | userName }}</router-link>