diff options
Diffstat (limited to 'packages/frontend/src/components/MkReactionsViewer.vue')
| -rw-r--r-- | packages/frontend/src/components/MkReactionsViewer.vue | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkReactionsViewer.vue b/packages/frontend/src/components/MkReactionsViewer.vue new file mode 100644 index 0000000000..a88311efa1 --- /dev/null +++ b/packages/frontend/src/components/MkReactionsViewer.vue @@ -0,0 +1,36 @@ +<template> +<div class="tdflqwzn" :class="{ isMe }"> + <XReaction v-for="(count, reaction) in note.reactions" :key="reaction" :reaction="reaction" :count="count" :is-initial="initialReactions.has(reaction)" :note="note"/> +</div> +</template> + +<script lang="ts" setup> +import { computed } from 'vue'; +import * as misskey from 'misskey-js'; +import { $i } from '@/account'; +import XReaction from '@/components/MkReactionsViewer.reaction.vue'; + +const props = defineProps<{ + note: misskey.entities.Note; +}>(); + +const initialReactions = new Set(Object.keys(props.note.reactions)); + +const isMe = computed(() => $i && $i.id === props.note.userId); +</script> + +<style lang="scss" scoped> +.tdflqwzn { + margin: 4px -2px 0 -2px; + + &:empty { + display: none; + } + + &.isMe { + > span { + cursor: default !important; + } + } +} +</style> |