From cdc35878a2b2c1207327042ecd1407f2ab412c73 Mon Sep 17 00:00:00 2001
From: Tim <135014430+nagisa77@users.noreply.github.com>
Date: Sat, 9 Aug 2025 17:18:31 +0800
Subject: [PATCH] feat: add medal popup
---
frontend_nuxt/components/GlobalPopups.vue | 43 +++++++-
frontend_nuxt/components/MedalPopup.vue | 113 ++++++++++++++++++++++
frontend_nuxt/pages/users/[id].vue | 7 +-
3 files changed, 160 insertions(+), 3 deletions(-)
create mode 100644 frontend_nuxt/components/MedalPopup.vue
diff --git a/frontend_nuxt/components/GlobalPopups.vue b/frontend_nuxt/components/GlobalPopups.vue
index fd9e60dfc..33090c2bf 100644
--- a/frontend_nuxt/components/GlobalPopups.vue
+++ b/frontend_nuxt/components/GlobalPopups.vue
@@ -6,24 +6,36 @@
text="建站送奶茶活动火热进行中,快来参与吧!"
@close="closeMilkTeaPopup"
/>
+
+
diff --git a/frontend_nuxt/components/MedalPopup.vue b/frontend_nuxt/components/MedalPopup.vue
new file mode 100644
index 000000000..fd0b79229
--- /dev/null
+++ b/frontend_nuxt/components/MedalPopup.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend_nuxt/pages/users/[id].vue b/frontend_nuxt/pages/users/[id].vue
index 2aaa20763..1ca4aea78 100644
--- a/frontend_nuxt/pages/users/[id].vue
+++ b/frontend_nuxt/pages/users/[id].vue
@@ -288,7 +288,11 @@ export default {
const subscribed = ref(false)
const isLoading = ref(true)
const tabLoading = ref(false)
- const selectedTab = ref('summary')
+ const selectedTab = ref(
+ ['summary', 'timeline', 'following', 'achievements'].includes(route.query.tab)
+ ? route.query.tab
+ : 'summary'
+ )
const followTab = ref('followers')
const levelInfo = computed(() => {
@@ -473,6 +477,7 @@ export default {
onMounted(init)
watch(selectedTab, async val => {
+ router.replace({ query: { ...route.query, tab: val } })
if (val === 'timeline' && timelineItems.value.length === 0) {
await loadTimeline()
} else if (val === 'following' && followers.value.length === 0 && followings.value.length === 0) {