summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkReactionsViewer.reaction.vue
diff options
context:
space:
mode:
author1Step621 <86859447+1STEP621@users.noreply.github.com>2024-01-13 15:25:11 +0900
committerGitHub <noreply@github.com>2024-01-13 15:25:11 +0900
commit19fe32bd7e416a6a408887e8cc5b03bc775c10a2 (patch)
tree1e128550ede1fe12705686dc7265156f849b80fc /packages/frontend/src/components/MkReactionsViewer.reaction.vue
parentenhance(drop-and-fusion): some tweaks (diff)
downloadmisskey-19fe32bd7e416a6a408887e8cc5b03bc775c10a2.tar.gz
misskey-19fe32bd7e416a6a408887e8cc5b03bc775c10a2.tar.bz2
misskey-19fe32bd7e416a6a408887e8cc5b03bc775c10a2.zip
Feat(frontend): リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように (#12984)
* リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように * update CHANGELOG.md * fix locale & type errors * fix locale etc * fix * fix type * lint fixes * lint fixes(2)
Diffstat (limited to 'packages/frontend/src/components/MkReactionsViewer.reaction.vue')
-rw-r--r--packages/frontend/src/components/MkReactionsViewer.reaction.vue18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkReactionsViewer.reaction.vue b/packages/frontend/src/components/MkReactionsViewer.reaction.vue
index 5ca09fa822..330e54f08a 100644
--- a/packages/frontend/src/components/MkReactionsViewer.reaction.vue
+++ b/packages/frontend/src/components/MkReactionsViewer.reaction.vue
@@ -10,6 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only
class="_button"
:class="[$style.root, { [$style.reacted]: note.myReaction == reaction, [$style.canToggle]: canToggle, [$style.small]: defaultStore.state.reactionsDisplaySize === 'small', [$style.large]: defaultStore.state.reactionsDisplaySize === 'large' }]"
@click="toggleReaction()"
+ @contextmenu.prevent.stop="menu"
>
<MkReactionIcon :class="defaultStore.state.limitWidthOfReaction ? $style.limitWidth : ''" :reaction="reaction" :emojiUrl="note.reactionEmojis[reaction.substring(1, reaction.length - 1)]"/>
<span :class="$style.count">{{ count }}</span>
@@ -21,6 +22,7 @@ import { computed, inject, onMounted, shallowRef, watch } from 'vue';
import * as Misskey from 'misskey-js';
import XDetails from '@/components/MkReactionsViewer.details.vue';
import MkReactionIcon from '@/components/MkReactionIcon.vue';
+import MkCustomEmojiDetailedDialog from './MkCustomEmojiDetailedDialog.vue';
import * as os from '@/os.js';
import { misskeyApi, misskeyApiGet } from '@/scripts/misskey-api.js';
import { useTooltip } from '@/scripts/use-tooltip.js';
@@ -98,6 +100,22 @@ async function toggleReaction() {
}
}
+async function menu(ev) {
+ if (!canToggle.value) return;
+ if (!props.reaction.includes(":")) return;
+ os.popupMenu([{
+ text: i18n.ts.info,
+ icon: 'ti ti-info-circle',
+ action: async () => {
+ os.popup(MkCustomEmojiDetailedDialog, {
+ emoji: await misskeyApiGet('emoji', {
+ name: props.reaction.replace(/:/g, '').replace(/@\./, ''),
+ }),
+ });
+ },
+ }], ev.currentTarget ?? ev.target);
+}
+
function anime() {
if (document.hidden) return;
if (!defaultStore.state.animation) return;