logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
commit: 30c4a66518329b307d06f1fcfc39a7bf0c453f28
parent d3b5d27f297ae37a9684cb7d8fb2602e4c66b919
Author: Henry Jameson <me@hjkos.com>
Date:   Wed, 15 Jun 2022 04:01:46 +0300

use user popovers in notifications as well

Diffstat:

Msrc/components/notification/notification.js4+++-
Msrc/components/notification/notification.vue39+++++++++++++++++++++++++++------------
2 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js @@ -5,6 +5,7 @@ import UserAvatar from '../user_avatar/user_avatar.vue' import UserCard from '../user_card/user_card.vue' import Timeago from '../timeago/timeago.vue' import RichContent from 'src/components/rich_content/rich_content.jsx' +import Popover from '../popover/popover.vue' import { isStatusNotification } from '../../services/notification_utils/notification_utils.js' import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js' import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator' @@ -46,7 +47,8 @@ const Notification = { UserCard, Timeago, Status, - RichContent + RichContent, + Popover }, methods: { toggleUserExpanded () { diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue @@ -34,21 +34,36 @@ <a class="avatar-container" :href="$router.resolve(userProfileLink).href" - @click.stop.prevent.capture="toggleUserExpanded" + @click.prevent > - <UserAvatar - :compact="true" - :better-shadow="betterShadow" - :user="notification.from_profile" - /> + <Popover + trigger="click" + popover-class="popover-default user-popover" + :overlay-centers="true" + overlay-centers-selector=".user-info-avatar-link .Avatar" + > + <template v-slot:trigger> + <UserAvatar + class="post-avatar" + :bot="botIndicator" + :compact="true" + :better-shadow="betterShadow" + :user="notification.from_profile" + /> + </template> + <template v-slot:content> + <UserCard + class="mention-link-popover" + :user-id="getUser(notification).id" + :hide-bio="true" + :bordered="false" + :allow-zooming-avatar="true" + :rounded="true" + /> + </template> + </Popover> </a> <div class="notification-right"> - <UserCard - v-if="userExpanded" - :user-id="getUser(notification).id" - :rounded="true" - :bordered="true" - /> <span class="notification-details"> <div class="name-and-action"> <!-- eslint-disable vue/no-v-html -->