Allow opening profile when clicking an avatar inside of user popover

This commit is contained in:
Alexander Tumin 2022-08-08 23:42:22 +03:00
parent 068139b27e
commit 4803fb07c8
6 changed files with 20 additions and 9 deletions

View File

@ -43,6 +43,11 @@ const GeneralTab = {
value: mode, value: mode,
label: this.$t(`settings.third_column_mode_${mode}`) label: this.$t(`settings.third_column_mode_${mode}`)
})), })),
userPopoverAvatarActionOptions: ['close', 'zoom', 'open'].map(mode => ({
key: mode,
value: mode,
label: this.$t(`settings.user_popover_avatar_action_${mode}`)
})),
loopSilentAvailable: loopSilentAvailable:
// Firefox // Firefox
Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') || Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||

View File

@ -75,12 +75,15 @@
</BooleanSetting> </BooleanSetting>
</li> </li>
<li> <li>
<BooleanSetting <ChoiceSetting
path="userPopoverZoom" v-if="user"
id="userPopoverAvatarAction"
path="userPopoverAvatarAction"
:options="userPopoverAvatarActionOptions"
expert="1" expert="1"
> >
{{ $t('settings.user_popover_avatar_zoom') }} {{ $t('settings.user_popover_avatar_action') }}
</BooleanSetting> </ChoiceSetting>
</li> </li>
<li> <li>
<BooleanSetting <BooleanSetting

View File

@ -11,8 +11,8 @@ const UserPopover = {
Popover: defineAsyncComponent(() => import('../popover/popover.vue')) Popover: defineAsyncComponent(() => import('../popover/popover.vue'))
}, },
computed: { computed: {
userPopoverZoom () { userPopoverAvatarAction () {
return this.$store.getters.mergedConfig.userPopoverZoom return this.$store.getters.mergedConfig.userPopoverAvatarAction
}, },
userPopoverOverlay () { userPopoverOverlay () {
return this.$store.getters.mergedConfig.userPopoverOverlay return this.$store.getters.mergedConfig.userPopoverOverlay

View File

@ -14,7 +14,7 @@
class="user-popover" class="user-popover"
:user-id="userId" :user-id="userId"
:hide-bio="true" :hide-bio="true"
:avatar-action="userPopoverZoom ? 'zoom' : close" :avatar-action="userPopoverAvatarAction == 'close' ? close : userPopoverAvatarAction"
:on-close="close" :on-close="close"
/> />
</template> </template>

View File

@ -556,7 +556,10 @@
"mention_link_show_avatar_quick": "Show user avatar next to mentions", "mention_link_show_avatar_quick": "Show user avatar next to mentions",
"mention_link_fade_domain": "Fade domains (e.g. {'@'}example.org in {'@'}foo{'@'}example.org)", "mention_link_fade_domain": "Fade domains (e.g. {'@'}example.org in {'@'}foo{'@'}example.org)",
"mention_link_bolden_you": "Highlight mention of you when you are mentioned", "mention_link_bolden_you": "Highlight mention of you when you are mentioned",
"user_popover_avatar_zoom": "Clicking on user avatar in popover zooms it instead of closing the popover", "user_popover_avatar_action": "Popover avatar click action",
"user_popover_avatar_action_zoom": "Zoom the avatar",
"user_popover_avatar_action_close": "Close the popover",
"user_popover_avatar_action_open": "Open profile",
"user_popover_avatar_overlay": "Show user popover over user avatar", "user_popover_avatar_overlay": "Show user popover over user avatar",
"fun": "Fun", "fun": "Fun",
"greentext": "Meme arrows", "greentext": "Meme arrows",

View File

@ -81,7 +81,7 @@ export const defaultState = {
useContainFit: true, useContainFit: true,
disableStickyHeaders: false, disableStickyHeaders: false,
showScrollbars: false, showScrollbars: false,
userPopoverZoom: false, userPopoverAvatarAction: 'close',
userPopoverOverlay: true, userPopoverOverlay: true,
greentext: undefined, // instance default greentext: undefined, // instance default
useAtIcon: undefined, // instance default useAtIcon: undefined, // instance default