diff options
| author | Shpuld Shpludson <shp@cock.li> | 2019-10-29 06:37:23 +0000 |
|---|---|---|
| committer | Shpuld Shpludson <shp@cock.li> | 2019-10-29 06:37:23 +0000 |
| commit | c79da5c4565f664290aa43fa925f978eb2810a2d (patch) | |
| tree | f5331520871810507e4f6fe15a8bf455fcf7924d /src/components/status_popover/status_popover.vue | |
| parent | 3a3db35985ea8e2bb6babc92fcd247fc86df0309 (diff) | |
| parent | 237d95b0f73d9d20df0b8c4668110ce09a5527de (diff) | |
Merge branch '599' into 'develop'
Fix "Posts get cut off when there is not enough space to display them at the bottom"
Closes #599
See merge request pleroma/pleroma-fe!863
Diffstat (limited to 'src/components/status_popover/status_popover.vue')
| -rw-r--r-- | src/components/status_popover/status_popover.vue | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/components/status_popover/status_popover.vue b/src/components/status_popover/status_popover.vue new file mode 100644 index 00000000..eacf4c06 --- /dev/null +++ b/src/components/status_popover/status_popover.vue @@ -0,0 +1,85 @@ +<template> + <v-popover + popover-class="status-popover" + placement="top-start" + :popper-options="popperOptions" + @show="enter()" + > + <template slot="popover"> + <Status + v-if="status" + :is-preview="true" + :statusoid="status" + :compact="true" + /> + <div + v-else + class="status-preview-loading" + > + <i class="icon-spin4 animate-spin" /> + </div> + </template> + + <slot /> + </v-popover> +</template> + +<script src="./status_popover.js" ></script> + +<style lang="scss"> +@import '../../_variables.scss'; + +.tooltip.popover.status-popover { + font-size: 1rem; + min-width: 15em; + max-width: 95%; + margin-left: 0.5em; + + .popover-inner { + border-color: $fallback--border; + border-color: var(--border, $fallback--border); + border-style: solid; + border-width: 1px; + border-radius: $fallback--tooltipRadius; + border-radius: var(--tooltipRadius, $fallback--tooltipRadius); + box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5); + box-shadow: var(--popupShadow); + } + + .popover-arrow::before { + position: absolute; + content: ''; + left: -7px; + border: solid 7px transparent; + z-index: -1; + } + + &[x-placement^="bottom-start"] .popover-arrow::before { + top: -2px; + border-top-width: 0; + border-bottom-color: $fallback--border; + border-bottom-color: var(--border, $fallback--border); + } + + &[x-placement^="top-start"] .popover-arrow::before { + bottom: -2px; + border-bottom-width: 0; + border-top-color: $fallback--border; + border-top-color: var(--border, $fallback--border); + } + + .status-el.status-el { + border: none; + } + + .status-preview-loading { + padding: 1em; + text-align: center; + + i { + font-size: 2em; + } + } +} + +</style> |
