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) {