mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-07-07 12:36:57 +00:00
add DynamicNoteSimple.vue
This commit is contained in:
parent
61019158ce
commit
8b5768f848
4 changed files with 52 additions and 11 deletions
|
@ -671,6 +671,7 @@ seems to do a decent job)
|
||||||
* from MK note components to Dynamic note components (if the public signature changed)
|
* from MK note components to Dynamic note components (if the public signature changed)
|
||||||
* from `packages/frontend/src/components/MkNote.vue` to `packages/frontend/src/components/DynamicNote.vue`
|
* from `packages/frontend/src/components/MkNote.vue` to `packages/frontend/src/components/DynamicNote.vue`
|
||||||
* from `packages/frontend/src/components/MkNoteDetailed.vue` to `packages/frontend/src/components/DynamicNoteDetailed.vue`
|
* from `packages/frontend/src/components/MkNoteDetailed.vue` to `packages/frontend/src/components/DynamicNoteDetailed.vue`
|
||||||
|
* from `packages/frontend/src/components/MkNoteSimple.vue` to `packages/frontend/src/components/DynamicNoteSimple.vue`
|
||||||
* from the global timeline to the bubble timeline
|
* from the global timeline to the bubble timeline
|
||||||
* `packages/backend/src/server/api/stream/channels/global-timeline.ts`
|
* `packages/backend/src/server/api/stream/channels/global-timeline.ts`
|
||||||
* `packages/backend/src/server/api/stream/channels/bubble-timeline.ts`
|
* `packages/backend/src/server/api/stream/channels/bubble-timeline.ts`
|
||||||
|
|
48
packages/frontend/src/components/DynamicNoteSimple.vue
Normal file
48
packages/frontend/src/components/DynamicNoteSimple.vue
Normal 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>
|
|
@ -43,7 +43,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</MkButton>
|
</MkButton>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div v-else-if="theNote" :class="[$style.link, { [$style.compact]: compact }]"><XNoteSimple :note="theNote" :class="$style.body"/></div>
|
<div v-else-if="theNote" :class="[$style.link, { [$style.compact]: compact }]"><DynamicNoteSimple :note="theNote" :class="$style.body"/></div>
|
||||||
<div v-else-if="!hidePreview">
|
<div v-else-if="!hidePreview">
|
||||||
<component :is="self ? 'MkA' : 'a'" :class="[$style.link, { [$style.compact]: compact }]" :[attr]="self ? url.substring(local.length) : url" rel="nofollow noopener" :target="target" :title="url" @click.prevent="self ? true : warningExternalWebsite(url)" @click.stop>
|
<component :is="self ? 'MkA' : 'a'" :class="[$style.link, { [$style.compact]: compact }]" :[attr]="self ? url.substring(local.length) : url" rel="nofollow noopener" :target="target" :title="url" @click.prevent="self ? true : warningExternalWebsite(url)" @click.stop>
|
||||||
<div v-if="thumbnail && !sensitive" :class="$style.thumbnail" :style="prefer.s.dataSaver.urlPreview ? '' : `background-image: url('${thumbnail}')`">
|
<div v-if="thumbnail && !sensitive" :class="$style.thumbnail" :style="prefer.s.dataSaver.urlPreview ? '' : `background-image: url('${thumbnail}')`">
|
||||||
|
@ -94,8 +94,6 @@ import { url as local } from '@@/js/config.js';
|
||||||
import { versatileLang } from '@@/js/intl-const.js';
|
import { versatileLang } from '@@/js/intl-const.js';
|
||||||
import * as Misskey from 'misskey-js';
|
import * as Misskey from 'misskey-js';
|
||||||
import type { summaly } from '@misskey-dev/summaly';
|
import type { summaly } from '@misskey-dev/summaly';
|
||||||
import type MkNoteSimple from '@/components/MkNoteSimple.vue';
|
|
||||||
import type SkNoteSimple from '@/components/SkNoteSimple.vue';
|
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
import { deviceKind } from '@/utility/device-kind.js';
|
import { deviceKind } from '@/utility/device-kind.js';
|
||||||
|
@ -105,13 +103,7 @@ import { store } from '@/store.js';
|
||||||
import { prefer } from '@/preferences.js';
|
import { prefer } from '@/preferences.js';
|
||||||
import { misskeyApi } from '@/utility/misskey-api.js';
|
import { misskeyApi } from '@/utility/misskey-api.js';
|
||||||
import { warningExternalWebsite } from '@/utility/warning-external-website.js';
|
import { warningExternalWebsite } from '@/utility/warning-external-website.js';
|
||||||
|
import DynamicNoteSimple from '@/components/DynamicNoteSimple.vue';
|
||||||
// TODO DynamicNoteSimple
|
|
||||||
const XNoteSimple = defineAsyncComponent<typeof MkNoteSimple | typeof SkNoteSimple>(() =>
|
|
||||||
prefer.s.noteDesign === 'misskey'
|
|
||||||
? import('@/components/MkNoteSimple.vue')
|
|
||||||
: import('@/components/SkNoteSimple.vue'),
|
|
||||||
);
|
|
||||||
|
|
||||||
type SummalyResult = Awaited<ReturnType<typeof summaly>>;
|
type SummalyResult = Awaited<ReturnType<typeof summaly>>;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue