diff options
Diffstat (limited to 'packages/client/src/components/MkLink.vue')
| -rw-r--r-- | packages/client/src/components/MkLink.vue | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/packages/client/src/components/MkLink.vue b/packages/client/src/components/MkLink.vue deleted file mode 100644 index 649523abc2..0000000000 --- a/packages/client/src/components/MkLink.vue +++ /dev/null @@ -1,46 +0,0 @@ -<template> -<component :is="self ? 'MkA' : 'a'" ref="el" class="xlcxczvw _link" :[attr]="self ? url.substr(local.length) : url" :rel="rel" :target="target" - :title="url" -> - <slot></slot> - <i v-if="target === '_blank'" class="fas fa-external-link-square-alt icon"></i> -</component> -</template> - -<script lang="ts" setup> -import { defineAsyncComponent } from 'vue'; -import { url as local } from '@/config'; -import { useTooltip } from '@/scripts/use-tooltip'; -import * as os from '@/os'; - -const props = withDefaults(defineProps<{ - url: string; - rel?: null | string; -}>(), { -}); - -const self = props.url.startsWith(local); -const attr = self ? 'to' : 'href'; -const target = self ? null : '_blank'; - -const el = $ref(); - -useTooltip($$(el), (showing) => { - os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), { - showing, - url: props.url, - source: el, - }, {}, 'closed'); -}); -</script> - -<style lang="scss" scoped> -.xlcxczvw { - word-break: break-all; - - > .icon { - padding-left: 2px; - font-size: .9em; - } -} -</style> |