From ee5b417354bda3f1ae6ca09a31aed2c78c49c524 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 12 Feb 2023 11:02:11 +0900 Subject: [PATCH] tweak --- packages/frontend/src/components/MkNote.vue | 3 +- .../src/components/MkNoteDetailed.vue | 32 +++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index f50a42ebaf..c9c512c36e 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -156,6 +156,7 @@ import { useTooltip } from '@/scripts/use-tooltip'; import { claimAchievement } from '@/scripts/achievements'; import { getNoteSummary } from '@/scripts/get-note-summary'; import { shownNoteIds } from '@/os'; +import { MenuItem } from '@/types/menu'; const props = defineProps<{ note: misskey.entities.Note; @@ -248,7 +249,7 @@ useTooltip(renoteButton, async (showing) => { function renote(viaKeyboard = false) { pleaseLogin(); - let items = []; + let items = [] as MenuItem[]; if (appearNote.channel) { items = items.concat([{ diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 0da06c4f14..92bdadc562 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -160,6 +160,7 @@ import { useNoteCapture } from '@/scripts/use-note-capture'; import { deepClone } from '@/scripts/clone'; import { useTooltip } from '@/scripts/use-tooltip'; import { claimAchievement } from '@/scripts/achievements'; +import { MenuItem } from '@/types/menu'; const props = defineProps<{ note: misskey.entities.Note; @@ -241,7 +242,32 @@ useTooltip(renoteButton, async (showing) => { function renote(viaKeyboard = false) { pleaseLogin(); - os.popupMenu([{ + + let items = [] as MenuItem[]; + + if (appearNote.channel) { + items = items.concat([{ + text: i18n.ts.inChannelRenote, + icon: 'ti ti-repeat', + action: () => { + os.api('notes/create', { + renoteId: appearNote.id, + channelId: appearNote.channelId, + }); + }, + }, { + text: i18n.ts.inChannelQuote, + icon: 'ti ti-quote', + action: () => { + os.post({ + renote: appearNote, + channel: appearNote.channel, + }); + }, + }, null]); + } + + items = items.concat([{ text: i18n.ts.renote, icon: 'ti ti-repeat', action: () => { @@ -257,7 +283,9 @@ function renote(viaKeyboard = false) { renote: appearNote, }); }, - }], renoteButton.value, { + }]); + + os.popupMenu(items, renoteButton.value, { viaKeyboard, }); }