add DynamicNoteSimple.vue

This commit is contained in:
Hazelnoot 2025-04-01 12:49:53 -04:00
parent 61019158ce
commit 8b5768f848
4 changed files with 52 additions and 11 deletions

View file

@ -0,0 +1,48 @@
<!--
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, shallowRef } 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(() =>
defineAsyncComponent<typeof MkNoteSimple | typeof SkNoteSimple>(() =>
prefer.r.noteDesign.value === 'misskey'
? import('@/components/MkNoteSimple.vue')
: import('@/components/SkNoteSimple.vue'),
),
);
const rootEl = shallowRef<ComponentExposed<typeof MkNoteSimple | typeof SkNoteSimple>>();
defineExpose({ rootEl });
defineProps<{
note: Misskey.entities.Note & {
isSchedule?: boolean,
scheduledNoteId?: string
};
expandAllCws?: boolean;
hideFiles?: boolean;
}>();
const emit = defineEmits<{
(ev: 'editScheduleNote'): void;
}>();
</script>