From bf9077e1dcd9cbb8d63451fb7a312f6d638d6c52 Mon Sep 17 00:00:00 2001 From: Freeplay <Freeplay@duck.com> Date: Sat, 20 May 2023 00:41:42 -0400 Subject: [PATCH] fix --- .../client/src/components/MkNoteDetailed.vue | 4 +- .../client/src/components/MkReactedUsers.vue | 77 ++++++++----------- 2 files changed, 35 insertions(+), 46 deletions(-) diff --git a/packages/client/src/components/MkNoteDetailed.vue b/packages/client/src/components/MkNoteDetailed.vue index 4860927e75..67dfef973d 100644 --- a/packages/client/src/components/MkNoteDetailed.vue +++ b/packages/client/src/components/MkNoteDetailed.vue @@ -137,7 +137,7 @@ <MkLoading v-else-if="tab === 'clips' && clips.length > 0" /> <MkReactedUsers - v-if="tab === 'reactions'" + v-if="tab === 'reactions' && reactionsCount > 0" :note-id="appearNote.id" ></MkReactedUsers> </div> @@ -253,7 +253,7 @@ let clips = $ref(); let renotes = $ref(); let isScrolling; -const reactionsCount = Object.values(props.note.reactions).reduce((x,y) => x + y); +const reactionsCount = Object.values(props.note.reactions).reduce((x,y) => x + y, 0); const keymap = { r: () => reply(true), diff --git a/packages/client/src/components/MkReactedUsers.vue b/packages/client/src/components/MkReactedUsers.vue index e685c85db5..8a8bf842f9 100644 --- a/packages/client/src/components/MkReactedUsers.vue +++ b/packages/client/src/components/MkReactedUsers.vue @@ -1,49 +1,39 @@ <template> <div v-if="note" class="_gaps reacted-users"> - <div v-if="reactions.length === 0" class="_fullinfo"> - <img - src="/static-assets/badges/info.png" - class="_ghost" - alt="Info" - /> - <div>{{ i18n.ts.nothing }}</div> + <div :class="$style.tabs"> + <button + v-for="reaction in reactions" + :key="reaction" + :class="[ + $style.tab, + { [$style.tabActive]: tab === reaction }, + ]" + class="_button" + @click="tab = reaction" + > + <MkReactionIcon + ref="reactionRef" + :reaction=" + reaction + ? reaction.replace( + /^:(\w+):$/, + ':$1@.:' + ) + : reaction + " + :custom-emojis="note.emojis" + /> + <span style="margin-left: 4px">{{ + note.reactions[reaction] + }}</span> + </button> </div> - <template v-else> - <div :class="$style.tabs"> - <button - v-for="reaction in reactions" - :key="reaction" - :class="[ - $style.tab, - { [$style.tabActive]: tab === reaction }, - ]" - class="_button" - @click="tab = reaction" - > - <MkReactionIcon - ref="reactionRef" - :reaction=" - reaction - ? reaction.replace( - /^:(\w+):$/, - ':$1@.:' - ) - : reaction - " - :custom-emojis="note.emojis" - /> - <span style="margin-left: 4px">{{ - note.reactions[reaction] - }}</span> - </button> - </div> - <MkUserCardMini - v-for="user in users" - :key="user.id" - :user="user" - :with-chart="false" - /> - </template> + <MkUserCardMini + v-for="user in users" + :key="user.id" + :user="user" + :with-chart="false" + /> </div> <div v-else> <MkLoading /> @@ -55,7 +45,6 @@ import { onMounted, watch } from "vue"; import * as misskey from "calckey-js"; import MkReactionIcon from "@/components/MkReactionIcon.vue"; import MkUserCardMini from "@/components/MkUserCardMini.vue"; -import { userPage } from "@/filters/user"; import { i18n } from "@/i18n"; import * as os from "@/os";