diff --git a/src/components/MessagesList/MessagesGroup/Message/MessagePart/Reactions.vue b/src/components/MessagesList/MessagesGroup/Message/MessagePart/Reactions.vue
index 228281bf69c..9fe2e460ce3 100644
--- a/src/components/MessagesList/MessagesGroup/Message/MessagePart/Reactions.vue
+++ b/src/components/MessagesList/MessagesGroup/Message/MessagePart/Reactions.vue
@@ -24,8 +24,7 @@
-
{{ t('spreed', 'All') }}
@@ -142,10 +141,6 @@ export default {
},
computed: {
- container() {
- return this.$store.getters.getMainContainerSelector()
- },
-
hasReactions() {
return Object.keys(Object(this.detailedReactions)).length !== 0
},
diff --git a/src/components/MessagesList/MessagesGroup/Message/MessagePart/ReactionsList.vue b/src/components/MessagesList/MessagesGroup/Message/MessagePart/ReactionsList.vue
index 99f53c7a256..34fd400b39e 100644
--- a/src/components/MessagesList/MessagesGroup/Message/MessagePart/ReactionsList.vue
+++ b/src/components/MessagesList/MessagesGroup/Message/MessagePart/ReactionsList.vue
@@ -28,29 +28,27 @@
{{ t('spreed', 'Reactions') }}
-
+
-
- {{ t('spreed', 'All ({count})', { count: flatReactions.length }) }}
-
-
- {{ reaction }} {{ detailedReactions[reaction].length }}
+ {{ reaction }}
+ ({{ reactionsOverview[reaction].length }})
+ {{ reactionsOverview[reaction].length }}
-
-
-
- {{ reactionFilter === '' ? item.reaction.join('') : reactionFilter }}
-
-
+
+
+
+ {{ item.reaction?.join('') ?? reactionFilter }}
+
+
+
@@ -104,7 +102,7 @@ export default {
data() {
return {
- reactionFilter: '',
+ reactionFilter: 'All',
}
},
@@ -113,36 +111,38 @@ export default {
return this.$store.getters.getMainContainerSelector()
},
- flatReactions() {
+ reactionsOverview() {
const mergedReactionsMap = {}
+ const modifiedDetailedReactions = {}
Object.entries(this.detailedReactions).forEach(([reaction, actors]) => {
+ modifiedDetailedReactions[reaction] = []
actors.forEach(actor => {
const key = `${actor.actorId}-${actor.actorType}`
if (mergedReactionsMap[key]) {
mergedReactionsMap[key].reaction.push(reaction)
} else {
mergedReactionsMap[key] = {
- actorDisplayName: actor.actorDisplayName,
+ actorDisplayName: this.getDisplayNameForReaction(actor),
actorId: actor.actorId,
actorType: actor.actorType,
reaction: [reaction]
}
}
+
+ modifiedDetailedReactions[reaction].push({
+ ...actor,
+ actorDisplayName: this.getDisplayNameForReaction(actor)
+ })
})
})
- return Object.values(mergedReactionsMap)
+ return { All: Object.values(mergedReactionsMap), ...modifiedDetailedReactions }
},
- filteredReactions() {
- if (!this.reactionFilter) {
- return this.flatReactions
- } else {
- return this.flatReactions.filter(reaction => reaction.reaction.includes(this.reactionFilter))
- }
+ reactionsMenu() {
+ return ['All', ...this.reactionsSorted]
},
-
},
methods: {
@@ -171,7 +171,7 @@ export default {