summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/DynamicNoteSimple.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/components/DynamicNoteSimple.vue')
-rw-r--r--packages/frontend/src/components/DynamicNoteSimple.vue46
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..5eaeaf6c23
--- /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 = defineAsyncComponent(() =>
+ prefer.s.noteDesign === 'misskey'
+ ? import('@/components/MkNoteSimple.vue')
+ : 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>