diff --git a/package.json b/package.json
index 70027655f..f3f15f221 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
"packages/*"
],
"dependencies": {
+ "@emoji-mart/data": "^1.0.6",
"@formkit/addons": "1.0.0-beta.10",
"@formkit/auto-animate": "1.0.0-beta.3",
"@formkit/core": "1.0.0-beta.10",
@@ -33,7 +34,7 @@
"@formkit/themes": "1.0.0-beta.10",
"@formkit/vue": "1.0.0-beta.10",
"@halo-dev/admin-shared": "workspace:*",
- "@halo-dev/api-client": "^0.0.19",
+ "@halo-dev/api-client": "^0.0.22",
"@halo-dev/components": "workspace:*",
"@halo-dev/richtext-editor": "^0.0.0-alpha.7",
"@tiptap/extension-character-count": "2.0.0-beta.31",
@@ -43,6 +44,7 @@
"axios": "^0.27.2",
"colorjs.io": "^0.4.0",
"dayjs": "^1.11.5",
+ "emoji-mart": "^5.2.2",
"filepond": "^4.30.4",
"floating-vue": "2.0.0-beta.20",
"lodash.clonedeep": "^4.5.0",
diff --git a/packages/components/src/components/entity/Entity.vue b/packages/components/src/components/entity/Entity.vue
index a7018b90a..4b424961a 100644
--- a/packages/components/src/components/entity/Entity.vue
+++ b/packages/components/src/components/entity/Entity.vue
@@ -1,5 +1,6 @@
-
-
- 回收站
-
-
@@ -38,109 +246,190 @@ const checkAll = ref(false);
v-model="checkAll"
class="h-4 w-4 rounded border-gray-300 text-indigo-600"
type="checkbox"
+ @change="handleCheckAllChange"
/>
-
-
+
+
+
+
+
+ 状态:{{ selectedApprovedFilterItem.label }}
+
+
+
+
+
+ 评论者:{{ selectedUser?.spec.displayName }}
+
+
+
+
+
+ 排序:{{ selectedSortFilterItem.label }}
+
+
+
+
- 设置
- 删除
+
+ 审核通过
+
+
+ 删除
+
-
+
+ 状态
+
+
+
+
+
+
+
+ -
+
+ {{ filterItem.label }}
+
+
+
+
+
+
+
- 状态
-
-
-
-
-
- 评论者
-
-
-
-
-
- 排序
-
-
-
-
+
+ 评论者
+
+
+
+
+
+
+
+ 排序
+
+
+
+
+
+
+
+ -
+
+ {{ filterItem.label }}
+
+
+
+
+
+
+
+
+
+ 刷新
+
+
+
- -
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
diff --git a/src/modules/contents/comments/components/CommentListItem.vue b/src/modules/contents/comments/components/CommentListItem.vue
new file mode 100644
index 000000000..712e5aefb
--- /dev/null
+++ b/src/modules/contents/comments/components/CommentListItem.vue
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ comment?.comment?.spec.content }}
+
+
+
+ {{ comment?.comment?.status?.replyCount || 0 }} 条回复
+
+
+
+ 回复
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 待审核
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 审核通过
+
+
+ 审核通过所有回复
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+ 刷新
+
+
+
+
+ 创建新回复
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/contents/comments/components/ReplyCreationModal.vue b/src/modules/contents/comments/components/ReplyCreationModal.vue
new file mode 100644
index 000000000..baf4e5958
--- /dev/null
+++ b/src/modules/contents/comments/components/ReplyCreationModal.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+ 保存 ⌘ + ↵
+
+ 取消 Esc
+
+
+
+
diff --git a/src/modules/contents/comments/components/ReplyListItem.vue b/src/modules/contents/comments/components/ReplyListItem.vue
new file mode 100644
index 000000000..c57c4f091
--- /dev/null
+++ b/src/modules/contents/comments/components/ReplyListItem.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 待审核
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 审核通过
+
+
+ 删除
+
+
+
+
diff --git a/tailwind.config.js b/tailwind.config.js
index 82ede74f4..133dc051d 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,3 +1,4 @@
+/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./index.html",
@@ -5,7 +6,18 @@ module.exports = {
"./packages/shared/src/**/*.{vue,js,ts,jsx,tsx}",
],
theme: {
- extend: {},
+ extend: {
+ animation: {
+ breath: "breath 1s ease-in-out infinite",
+ },
+ keyframes: {
+ breath: {
+ "0%": { transform: "scale(1)", opacity: 0.8 },
+ "50%": { transform: "scale(1.02)", opacity: 1 },
+ "100%": { transform: "scale(1)", opacity: 0.8 },
+ },
+ },
+ },
},
plugins: [
require("tailwindcss-safe-area"),