diff options
| author | Weblate <noreply@weblate.org> | 2022-07-31 23:00:53 +0000 |
|---|---|---|
| committer | Weblate <noreply@weblate.org> | 2022-07-31 23:00:53 +0000 |
| commit | 71d9bbb56bf0927ce29e926e6e717c5ac8304f20 (patch) | |
| tree | 9093fda29c7b5f27cd74d38aba42f40ca0966daf /src/components/user_popover | |
| parent | e0aeab04b8c1c296d2e16943f7333e05f5b2450b (diff) | |
| parent | 33ad712852088f8b99a82ec561733d41d63b0034 (diff) | |
Merge remote-tracking branch 'origin/develop' into develop
Diffstat (limited to 'src/components/user_popover')
| -rw-r--r-- | src/components/user_popover/user_popover.js | 23 | ||||
| -rw-r--r-- | src/components/user_popover/user_popover.vue | 33 |
2 files changed, 56 insertions, 0 deletions
diff --git a/src/components/user_popover/user_popover.js b/src/components/user_popover/user_popover.js new file mode 100644 index 00000000..69b25383 --- /dev/null +++ b/src/components/user_popover/user_popover.js @@ -0,0 +1,23 @@ +import UserCard from '../user_card/user_card.vue' +import { defineAsyncComponent } from 'vue' + +const UserPopover = { + name: 'UserPopover', + props: [ + 'userId', 'overlayCenters', 'disabled', 'overlayCentersSelector' + ], + components: { + UserCard, + Popover: defineAsyncComponent(() => import('../popover/popover.vue')) + }, + computed: { + userPopoverZoom () { + return this.$store.getters.mergedConfig.userPopoverZoom + }, + userPopoverOverlay () { + return this.$store.getters.mergedConfig.userPopoverOverlay + } + } +} + +export default UserPopover diff --git a/src/components/user_popover/user_popover.vue b/src/components/user_popover/user_popover.vue new file mode 100644 index 00000000..72bb7f77 --- /dev/null +++ b/src/components/user_popover/user_popover.vue @@ -0,0 +1,33 @@ +<template> +<Popover + trigger="click" + popover-class="popover-default user-popover" + :overlay-centers-selector="overlayCentersSelector || '.user-info .Avatar'" + :overlay-centers="overlayCenters && userPopoverOverlay" + :disabled="disabled" +> + <template v-slot:trigger> + <slot /> + </template> + <template v-slot:content={close}> + <UserCard + class="user-popover" + :user-id="userId" + :hide-bio="true" + :avatar-action="userPopoverZoom ? 'zoom' : close" + :on-close="close" + /> + </template> +</Popover> +</template> + +<script src="./user_popover.js" ></script> + +<style lang="scss"> +@import '../../_variables.scss'; + +/* popover styles load on-demand, so we need to override */ +.user-popover.popover { +} + +</style> |
