diff options
Diffstat (limited to 'packages/frontend/src/components/DynamicNoteDetailed.vue')
| -rw-r--r-- | packages/frontend/src/components/DynamicNoteDetailed.vue | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/frontend/src/components/DynamicNoteDetailed.vue b/packages/frontend/src/components/DynamicNoteDetailed.vue new file mode 100644 index 0000000000..21bf00ccbe --- /dev/null +++ b/packages/frontend/src/components/DynamicNoteDetailed.vue @@ -0,0 +1,38 @@ +<!-- +SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors +SPDX-License-Identifier: AGPL-3.0-only +--> + +<template> +<XNoteDetailed + ref="rootEl" + :note="note" + :initialTab="initialTab" + :expandAllCws="expandAllCws" +/> +</template> + +<script setup lang="ts"> +import * as Misskey from 'misskey-js'; +import { computed, defineAsyncComponent, useTemplateRef } from 'vue'; +import type { ComponentExposed } from 'vue-component-type-helpers'; +import type MkNoteDetailed from '@/components/MkNoteDetailed.vue'; +import type SkNoteDetailed from '@/components/SkNoteDetailed.vue'; +import { prefer } from '@/preferences'; + +const XNoteDetailed = computed(() => + prefer.r.noteDesign.value === 'misskey' + ? defineAsyncComponent(() => import('@/components/MkNoteDetailed.vue')) + : defineAsyncComponent(() => import('@/components/SkNoteDetailed.vue')), +); + +const rootEl = useTemplateRef<ComponentExposed<typeof MkNoteDetailed | typeof SkNoteDetailed>>('rootEl'); + +defineExpose({ rootEl }); + +defineProps<{ + note: Misskey.entities.Note; + initialTab?: string; + expandAllCws?: boolean; +}>(); +</script> |