diff options
Diffstat (limited to 'packages/frontend/src/components/DynamicNoteSimple.vue')
| -rw-r--r-- | packages/frontend/src/components/DynamicNoteSimple.vue | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/packages/frontend/src/components/DynamicNoteSimple.vue b/packages/frontend/src/components/DynamicNoteSimple.vue new file mode 100644 index 0000000000..7ca345ccfa --- /dev/null +++ b/packages/frontend/src/components/DynamicNoteSimple.vue @@ -0,0 +1,46 @@ +<!-- +SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors +SPDX-License-Identifier: AGPL-3.0-only +--> + +<template> +<XNoteSimple + ref="rootEl" + :note="note" + :expandAllCws="expandAllCws" + :hideFiles="hideFiles" + @editScheduledNote="() => emit('editScheduleNote')" +/> +</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 MkNoteSimple from '@/components/MkNoteSimple.vue'; +import type SkNoteSimple from '@/components/SkNoteSimple.vue'; +import { prefer } from '@/preferences'; + +const XNoteSimple = computed(() => + prefer.r.noteDesign.value === 'misskey' + ? defineAsyncComponent(() => import('@/components/MkNoteSimple.vue')) + : defineAsyncComponent(() => import('@/components/SkNoteSimple.vue')), +); + +const rootEl = useTemplateRef<ComponentExposed<typeof MkNoteSimple | typeof SkNoteSimple>>('rootEl'); + +defineExpose({ rootEl }); + +defineProps<{ + note: Misskey.entities.Note & { + isSchedule?: boolean, + scheduledNoteId?: string + }; + expandAllCws?: boolean; + hideFiles?: boolean; +}>(); + +const emit = defineEmits<{ + (ev: 'editScheduleNote'): void; +}>(); +</script> |