diff --git a/backend/src/main/java/com/openisle/model/ReactionType.java b/backend/src/main/java/com/openisle/model/ReactionType.java
index b7811a499..51afc7c3c 100644
--- a/backend/src/main/java/com/openisle/model/ReactionType.java
+++ b/backend/src/main/java/com/openisle/model/ReactionType.java
@@ -6,7 +6,9 @@ package com.openisle.model;
public enum ReactionType {
LIKE,
DISLIKE,
+ SMILE,
RECOMMEND,
+ CONGRATULATIONS,
ANGRY,
FLUSHED,
STAR_STRUCK,
@@ -26,5 +28,5 @@ public enum ReactionType {
CHINA,
USA,
JAPAN,
- KOREA
+ KOREA,
}
diff --git a/frontend_nuxt/components/ReactionsGroup.vue b/frontend_nuxt/components/ReactionsGroup.vue
index ac0996b77..dc8fcea22 100644
--- a/frontend_nuxt/components/ReactionsGroup.vue
+++ b/frontend_nuxt/components/ReactionsGroup.vue
@@ -3,20 +3,37 @@
-
-
+
+
+
![emoji]()
+
{{ counts[r.type] }}
+
+
+
+
+
+
+
+
+
{{ totalCount }}
-
-
- 点击以表态
-
@@ -219,13 +236,6 @@ onMounted(async () => {
font-size: 16px;
}
-.reactions-viewer-item.placeholder {
- opacity: 0.5;
- display: flex;
- flex-direction: row;
- align-items: center;
-}
-
.reactions-viewer-item-placeholder-text {
font-size: 14px;
padding-left: 5px;
@@ -264,18 +274,16 @@ onMounted(async () => {
.reactions-panel {
position: absolute;
- bottom: 40px;
- left: -20px;
+ bottom: 50px;
background-color: var(--background-color);
border: 1px solid var(--normal-border-color);
- border-radius: 5px;
- padding: 5px;
- max-width: 240px;
+ border-radius: 20px;
+ padding: 5px 10px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
z-index: 10;
- gap: 2px;
+ gap: 5px;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
@@ -289,6 +297,27 @@ onMounted(async () => {
gap: 2px;
}
+.reactions-viewer-item.placeholder,
+.reactions-viewer-single-item {
+ display: flex;
+ cursor: pointer;
+ flex-direction: row;
+ padding: 2px 10px;
+ gap: 5px;
+ border: 1px solid var(--normal-border-color);
+ border-radius: 10px;
+ margin-right: 5px;
+ margin-bottom: 5px;
+ font-size: 14px;
+ color: var(--text-color);
+ align-items: center;
+}
+
+.reactions-viewer-item.placeholder,
+.reactions-viewer-single-item.selected {
+ background-color: var(--menu-selected-background-color);
+}
+
.reaction-option.selected {
background-color: var(--menu-selected-background-color);
}
diff --git a/frontend_nuxt/utils/reactions.js b/frontend_nuxt/utils/reactions.js
index 1fca94cb0..a025ce8bc 100644
--- a/frontend_nuxt/utils/reactions.js
+++ b/frontend_nuxt/utils/reactions.js
@@ -7,8 +7,10 @@ const toCdnUrl = (emoji) => {
export const reactionEmojiMap = {
LIKE: toCdnUrl('❤️'),
+ SMILE: toCdnUrl('😁'),
DISLIKE: toCdnUrl('👎'),
RECOMMEND: toCdnUrl('👏'),
+ CONGRATULATIONS: toCdnUrl('🎉'),
ANGRY: toCdnUrl('😡'),
FLUSHED: toCdnUrl('😳'),
STAR_STRUCK: toCdnUrl('🤩'),