diff options
| author | Henry Jameson <me@hjkos.com> | 2022-06-15 04:01:46 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2022-06-15 04:01:46 +0300 |
| commit | 30c4a66518329b307d06f1fcfc39a7bf0c453f28 (patch) | |
| tree | e6151b7e0e6f969f2376be762677f9271ce2e9b7 | |
| parent | d3b5d27f297ae37a9684cb7d8fb2602e4c66b919 (diff) | |
use user popovers in notifications as well
| -rw-r--r-- | src/components/notification/notification.js | 4 | ||||
| -rw-r--r-- | src/components/notification/notification.vue | 39 |
2 files changed, 30 insertions, 13 deletions
diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js index 398bb7a9..9408b217 100644 --- 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 index 7d3d0c69..a44481c9 100644 --- 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 --> |
