diff options
| author | Henry Jameson <spam@hjkos.com> | 2022-06-16 16:30:05 +0300 |
|---|---|---|
| committer | Henry Jameson <spam@hjkos.com> | 2022-06-16 16:48:10 +0300 |
| commit | d84cda7009d486a047953b1ca2d27acf35b8ddc1 (patch) | |
| tree | ae8e48736095f22ce66cf7cd71fc9cc391a9c542 /src/components/mention_link/mention_link.vue | |
| parent | 770d12f7adda5659ff01b83ad3e172c27bae818d (diff) | |
unify user popovers into a separate component
Diffstat (limited to 'src/components/mention_link/mention_link.vue')
| -rw-r--r-- | src/components/mention_link/mention_link.vue | 115 |
1 files changed, 51 insertions, 64 deletions
diff --git a/src/components/mention_link/mention_link.vue b/src/components/mention_link/mention_link.vue index 686ad27f..0cff50ab 100644 --- a/src/components/mention_link/mention_link.vue +++ b/src/components/mention_link/mention_link.vue @@ -10,84 +10,71 @@ target="_blank" v-html="content" /><!-- eslint-enable vue/no-v-html --> - <Popover - trigger="click" - :bound-to="{ x: 'container'}" - bound-to-selector=".column" - popover-class="popover-default mention-popover" + <UserPopover + v-else + :userId="user.id" :disabled="!shouldShowTooltip" > - <template v-slot:trigger> - <span - v-if="user" - class="new" - :style="style" - :class="classnames" + <span + v-if="user" + class="new" + :style="style" + :class="classnames" + > + <a + class="short button-unstyled" + :class="{ '-with-tooltip': shouldShowTooltip }" + :href="url" + @click.prevent="onClick" > - <a - class="short button-unstyled" - :class="{ '-with-tooltip': shouldShowTooltip }" - :href="url" - @click.prevent="onClick" + <!-- eslint-disable vue/no-v-html --> + <UserAvatar + v-if="shouldShowAvatar" + class="mention-avatar" + :user="user" + /><span + class="shortName" + ><FAIcon + v-if="useAtIcon" + size="sm" + icon="at" + class="at" + />{{ !useAtIcon ? '@' : '' }}<span + class="userName" + v-html="userName" + /><span + v-if="shouldShowFullUserName" + class="serverName" + :class="{ '-faded': shouldFadeDomain }" + v-html="'@' + serverName" + /> + </span> + <span + v-if="isYou && shouldShowYous" + :class="{ '-you': shouldBoldenYou }" + > {{ ' ' + $t('status.you') }}</span> + <!-- eslint-enable vue/no-v-html --> + </a><span + v-if="shouldShowTooltip" + class="full" + > + <span + class="userNameFull" > <!-- eslint-disable vue/no-v-html --> - <UserAvatar - v-if="shouldShowAvatar" - class="mention-avatar" - :user="user" - /><span - class="shortName" - ><FAIcon - v-if="useAtIcon" - size="sm" - icon="at" - class="at" - />{{ !useAtIcon ? '@' : '' }}<span + @<span class="userName" v-html="userName" /><span - v-if="shouldShowFullUserName" class="serverName" :class="{ '-faded': shouldFadeDomain }" v-html="'@' + serverName" /> - </span> - <span - v-if="isYou && shouldShowYous" - :class="{ '-you': shouldBoldenYou }" - > {{ ' ' + $t('status.you') }}</span> <!-- eslint-enable vue/no-v-html --> - </a><span - v-if="shouldShowTooltip" - class="full" - > - <span - class="userNameFull" - > - <!-- eslint-disable vue/no-v-html --> - @<span - class="userName" - v-html="userName" - /><span - class="serverName" - :class="{ '-faded': shouldFadeDomain }" - v-html="'@' + serverName" - /> - <!-- eslint-enable vue/no-v-html --> - </span> </span> - </span></template> - <template v-slot:content> - <UserCard - class="mention-link-popover" - :user-id="user.id" - :hide-bio="true" - :bordered="false" - :allow-zooming-avatar="true" - :rounded="true" - /> - </template> - </Popover> + </span> + </span> + </UserPopover> </span> </template> |
