summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2023-09-05 17:25:08 +0900
committerGitHub <noreply@github.com>2023-09-05 17:25:08 +0900
commit46b0eb46b375d2aef9404a4ab75a917f56696768 (patch)
treef4ec631c32c87c1ae280156563b653d1488353c2 /packages/frontend/src/components
parentbuild(deps): bump actions/checkout from 3.6.0 to 4.0.0 (#11786) (diff)
downloadmisskey-46b0eb46b375d2aef9404a4ab75a917f56696768.tar.gz
misskey-46b0eb46b375d2aef9404a4ab75a917f56696768.tar.bz2
misskey-46b0eb46b375d2aef9404a4ab75a917f56696768.zip
feat(frontend): Report renote abuse (#11466)
* chore: add way to show renote in window / tab * feat: report abuse for renote * docs: Renote自体を通報できるように * revert: make renote time link * chore: add copy renote menu * chore: remove copy/report renote from note menu * fix: abuse menu without actual selection shown --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkNote.vue47
1 files changed, 30 insertions, 17 deletions
diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue
index 22610b2253..d98a6da0dc 100644
--- a/packages/frontend/src/components/MkNote.vue
+++ b/packages/frontend/src/components/MkNote.vue
@@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</I18n>
<div :class="$style.renoteInfo">
<button ref="renoteTime" :class="$style.renoteTime" class="_button" @click="showRenoteMenu()">
- <i v-if="isMyRenote" class="ti ti-dots" :class="$style.renoteMenu"></i>
+ <i class="ti ti-dots" :class="$style.renoteMenu"></i>
<MkTime :time="note.createdAt"/>
</button>
<span v-if="note.visibility !== 'public'" style="margin-left: 0.5em;" :title="i18n.ts._visibility[note.visibility]">
@@ -161,7 +161,7 @@ import { reactionPicker } from '@/scripts/reaction-picker';
import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm';
import { $i } from '@/account';
import { i18n } from '@/i18n';
-import { getNoteClipMenu, getNoteMenu } from '@/scripts/get-note-menu';
+import { getAbuseNoteMenu, getCopyNoteLinkMenu, getNoteClipMenu, getNoteMenu } from '@/scripts/get-note-menu';
import { useNoteCapture } from '@/scripts/use-note-capture';
import { deepClone } from '@/scripts/clone';
import { useTooltip } from '@/scripts/use-tooltip';
@@ -425,21 +425,34 @@ async function clip() {
}
function showRenoteMenu(viaKeyboard = false): void {
- if (!isMyRenote) return;
- pleaseLogin();
- os.popupMenu([{
- text: i18n.ts.unrenote,
- icon: 'ti ti-trash',
- danger: true,
- action: () => {
- os.api('notes/delete', {
- noteId: note.id,
- });
- isDeleted.value = true;
- },
- }], renoteTime.value, {
- viaKeyboard: viaKeyboard,
- });
+ if (isMyRenote) {
+ pleaseLogin();
+ os.popupMenu([
+ getCopyNoteLinkMenu(note, i18n.ts.copyLinkRenote),
+ null,
+ {
+ text: i18n.ts.unrenote,
+ icon: 'ti ti-trash',
+ danger: true,
+ action: () => {
+ os.api('notes/delete', {
+ noteId: note.id,
+ });
+ isDeleted.value = true;
+ },
+ },
+ ], renoteTime.value, {
+ viaKeyboard: viaKeyboard,
+ });
+ } else {
+ os.popupMenu([
+ getCopyNoteLinkMenu(note, i18n.ts.copyLinkRenote),
+ null,
+ getAbuseNoteMenu(note, i18n.ts.reportAbuseRenote),
+ ], renoteTime.value, {
+ viaKeyboard: viaKeyboard,
+ });
+ }
}
function focus() {