diff --git a/frontend_nuxt/components/AchievementList.vue b/frontend_nuxt/components/AchievementList.vue
new file mode 100644
index 000000000..016958c33
--- /dev/null
+++ b/frontend_nuxt/components/AchievementList.vue
@@ -0,0 +1,70 @@
+
+
+
+

+
评论达人
+
评论达到300条 718/300
+
+
+
+

+
评论达人
+
评论达到300条 718/300
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend_nuxt/pages/users/[id].vue b/frontend_nuxt/pages/users/[id].vue
index d85b0a592..7dd2866f9 100644
--- a/frontend_nuxt/pages/users/[id].vue
+++ b/frontend_nuxt/pages/users/[id].vue
@@ -20,17 +20,10 @@
取消关注
-
+
目标 Lv.{{ levelInfo.currentLevel + 1 }}
-
+
@@ -46,7 +39,9 @@
最后评论时间:
-
{{ user.lastCommentTime!=null?formatDate(user.lastCommentTime):"暂无评论" }}
+
{{ user.lastCommentTime != null ? formatDate(user.lastCommentTime) :
+ "暂无评论" }}
+
浏览量:
@@ -68,6 +63,11 @@
关注
+
@@ -228,13 +228,13 @@
-
+
-
关注者
+
+ 关注者
-
@@ -243,6 +243,9 @@
+
@@ -260,6 +263,7 @@ import LevelProgress from '../components/LevelProgress.vue'
import { stripMarkdown, stripMarkdownLength } from '../utils/markdown'
import TimeManager from '../utils/time'
import { prevLevelExp } from '../utils/level'
+import AchievementList from '../components/AchievementList.vue'
definePageMeta({
alias: ['/users/:id/']
@@ -267,7 +271,7 @@ definePageMeta({
export default {
name: 'ProfileView',
- components: { BaseTimeline, UserList, BasePlaceholder, LevelProgress },
+ components: { BaseTimeline, UserList, BasePlaceholder, LevelProgress, AchievementList },
setup() {
const route = useRoute()
const router = useRouter()
@@ -612,7 +616,7 @@ export default {
gap: 20px;
border-top: 1px solid var(--normal-border-color);
border-bottom: 1px solid var(--normal-border-color);
- scrollbar-width: none;
+ scrollbar-width: none;
overflow-x: auto;
}
@@ -622,7 +626,7 @@ export default {
gap: 5px;
align-items: center;
padding: 10px 0;
- white-space: nowrap;
+ white-space: nowrap;
}
.profile-info-item-label {
@@ -643,9 +647,9 @@ export default {
flex-direction: row;
padding: 0 20px;
border-bottom: 1px solid var(--normal-border-color);
- scrollbar-width: none;
+ scrollbar-width: none;
overflow-x: auto;
- }
+}
.profile-tabs-item {
display: flex;
@@ -657,7 +661,7 @@ export default {
padding: 10px 0;
width: 200px;
cursor: pointer;
- white-space: nowrap;
+ white-space: nowrap;
}
.profile-tabs-item.selected {