summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/get-note-menu.ts
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-08-30 12:08:31 +0100
committerdakkar <dakkar@thenautilus.net>2024-08-30 12:08:31 +0100
commit6151099f5ba07d14a651aea8f816dd280d74209d (patch)
tree4b014a2f4b198facc8bdd92c70b49fec2801d51a /packages/frontend/src/scripts/get-note-menu.ts
parentmerge: thunk the min/max promises (!603) (diff)
parentMerge pull request #14391 from misskey-dev/develop (diff)
downloadsharkey-6151099f5ba07d14a651aea8f816dd280d74209d.tar.gz
sharkey-6151099f5ba07d14a651aea8f816dd280d74209d.tar.bz2
sharkey-6151099f5ba07d14a651aea8f816dd280d74209d.zip
Merge remote-tracking branch 'misskey/master' into feature/misskey-2024.8
Diffstat (limited to 'packages/frontend/src/scripts/get-note-menu.ts')
-rw-r--r--packages/frontend/src/scripts/get-note-menu.ts33
1 files changed, 7 insertions, 26 deletions
diff --git a/packages/frontend/src/scripts/get-note-menu.ts b/packages/frontend/src/scripts/get-note-menu.ts
index 76a9400daa..a7ec4ce6d7 100644
--- a/packages/frontend/src/scripts/get-note-menu.ts
+++ b/packages/frontend/src/scripts/get-note-menu.ts
@@ -20,6 +20,7 @@ import { clipsCache, favoritedChannelsCache } from '@/cache.js';
import { MenuItem } from '@/types/menu.js';
import MkRippleEffect from '@/components/MkRippleEffect.vue';
import { isSupportShare } from '@/scripts/navigator.js';
+import { getAppearNote } from '@/scripts/get-appear-note.js';
export async function getNoteClipMenu(props: {
note: Misskey.entities.Note;
@@ -34,14 +35,7 @@ export async function getNoteClipMenu(props: {
}
}
- const isRenote = (
- props.note.renote != null &&
- props.note.text == null &&
- props.note.fileIds.length === 0 &&
- props.note.poll == null
- );
-
- const appearNote = isRenote ? props.note.renote as Misskey.entities.Note : props.note;
+ const appearNote = getAppearNote(props.note);
const clips = await clipsCache.fetch();
const menu: MenuItem[] = [...clips.map(clip => ({
@@ -175,14 +169,7 @@ export function getNoteMenu(props: {
isDeleted: Ref<boolean>;
currentClip?: Misskey.entities.Clip;
}) {
- const isRenote = (
- props.note.renote != null &&
- props.note.text == null &&
- props.note.fileIds.length === 0 &&
- props.note.poll == null
- );
-
- const appearNote = isRenote ? props.note.renote as Misskey.entities.Note : props.note;
+ const appearNote = getAppearNote(props.note);
const cleanups = [] as (() => void)[];
@@ -270,6 +257,7 @@ export function getNoteMenu(props: {
}
async function unclip(): Promise<void> {
+ if (!props.currentClip) return;
os.apiWithDialog('clips/remove-note', { clipId: props.currentClip.id, noteId: appearNote.id });
props.isDeleted.value = true;
}
@@ -289,8 +277,8 @@ export function getNoteMenu(props: {
function share(): void {
navigator.share({
- title: i18n.tsx.noteOf({ user: appearNote.user.name }),
- text: appearNote.text,
+ title: i18n.tsx.noteOf({ user: appearNote.user.name ?? appearNote.user.username }),
+ text: appearNote.text ?? '',
url: `${url}/notes/${appearNote.id}`,
});
}
@@ -543,14 +531,7 @@ export function getRenoteMenu(props: {
renoteButton: ShallowRef<HTMLElement | undefined>;
mock?: boolean;
}) {
- const isRenote = (
- props.note.renote != null &&
- props.note.text == null &&
- props.note.fileIds.length === 0 &&
- props.note.poll == null
- );
-
- const appearNote = isRenote ? props.note.renote as Misskey.entities.Note : props.note;
+ const appearNote = getAppearNote(props.note);
const channelRenoteItems: MenuItem[] = [];
const normalRenoteItems: MenuItem[] = [];