diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-03-24 12:02:58 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-03-24 12:02:58 +0000 |
| commit | aad06a0e8ba6e16c08c91ef9ff8dc0669ca77f2d (patch) | |
| tree | 22ddb50454475f275dbd7e73b3e1cf0ddb65ce3c /packages/frontend/src/components/SkNoteDetailed.vue | |
| parent | Merge remote-tracking branch 'misskey/develop' into future-2024-03-23 (diff) | |
| download | sharkey-aad06a0e8ba6e16c08c91ef9ff8dc0669ca77f2d.tar.gz sharkey-aad06a0e8ba6e16c08c91ef9ff8dc0669ca77f2d.tar.bz2 sharkey-aad06a0e8ba6e16c08c91ef9ff8dc0669ca77f2d.zip | |
copy MkNote* changes to SkNote*
Diffstat (limited to 'packages/frontend/src/components/SkNoteDetailed.vue')
| -rw-r--r-- | packages/frontend/src/components/SkNoteDetailed.vue | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/packages/frontend/src/components/SkNoteDetailed.vue b/packages/frontend/src/components/SkNoteDetailed.vue index 3ae4eae956..29b70d2391 100644 --- a/packages/frontend/src/components/SkNoteDetailed.vue +++ b/packages/frontend/src/components/SkNoteDetailed.vue @@ -107,7 +107,9 @@ SPDX-License-Identifier: AGPL-3.0-only <MkMediaList :mediaList="appearNote.files"/> </div> <MkPoll v-if="appearNote.poll" ref="pollViewer" :noteId="appearNote.id" :poll="appearNote.poll" :class="$style.poll"/> - <MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="true" style="margin-top: 6px;"/> + <div v-if="isEnabledUrlPreview"> + <MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="true" style="margin-top: 6px;"/> + </div> <div v-if="appearNote.renote" :class="$style.quote"><SkNoteSimple :note="appearNote.renote" :class="$style.quoteNote" :expandAllCws="props.expandAllCws"/></div> </div> <MkA v-if="appearNote.channel && !inChannel" :class="$style.channel" :to="`/channels/${appearNote.channel.id}`"><i class="ph-television ph-bold ph-lg"></i> {{ appearNote.channel.name }}</MkA> @@ -234,6 +236,7 @@ import * as Misskey from 'misskey-js'; import SkNoteSub from '@/components/SkNoteSub.vue'; import SkNoteSimple from '@/components/SkNoteSimple.vue'; import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; +import MkReactionsViewerDetails from '@/components/MkReactionsViewer.details.vue'; import MkMediaList from '@/components/MkMediaList.vue'; import MkCwButton from '@/components/MkCwButton.vue'; import MkPoll from '@/components/MkPoll.vue'; @@ -246,7 +249,7 @@ import { userPage } from '@/filters/user.js'; import number from '@/filters/number.js'; import { notePage } from '@/filters/note.js'; import * as os from '@/os.js'; -import { misskeyApi } from '@/scripts/misskey-api.js'; +import { misskeyApi, misskeyApiGet } from '@/scripts/misskey-api.js'; import * as sound from '@/scripts/sound.js'; import { defaultStore, noteViewInterruptors } from '@/store.js'; import { reactionPicker } from '@/scripts/reaction-picker.js'; @@ -267,6 +270,7 @@ import MkPagination, { type Paging } from '@/components/MkPagination.vue'; import MkReactionIcon from '@/components/MkReactionIcon.vue'; import MkButton from '@/components/MkButton.vue'; import { boostMenuItems, type Visibility } from '@/scripts/boost-quote.js'; +import { isEnabledUrlPreview } from '@/instance.js'; const props = defineProps<{ note: Misskey.entities.Note; @@ -448,6 +452,28 @@ function boostVisibility() { } } +if (appearNote.value.reactionAcceptance === 'likeOnly') { + useTooltip(reactButton, async (showing) => { + const reactions = await misskeyApiGet('notes/reactions', { + noteId: appearNote.value.id, + limit: 10, + _cacheKey_: appearNote.value.reactionCount, + }); + + const users = reactions.map(x => x.user); + + if (users.length < 1) return; + + os.popup(MkReactionsViewerDetails, { + showing, + reaction: '❤️', + users, + count: appearNote.value.reactionCount, + targetElement: reactButton.value!, + }, {}, 'closed'); + }); +} + function renote(visibility: Visibility, localOnly: boolean = false) { pleaseLogin(); showMovedDialog(); |