From 9b7803349e45f61c8d971d78b51f98485bb377e3 Mon Sep 17 00:00:00 2001 From: Hiveer <ljp.hiveer@gmail.com> Date: Sat, 25 Jan 2025 10:27:51 +0800 Subject: [PATCH 1/3] fix show broadcast banner bug --- frontend/src/components/navbar/Broadcast.vue | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/navbar/Broadcast.vue b/frontend/src/components/navbar/Broadcast.vue index aaf6f0ee8..b5d3a06ea 100644 --- a/frontend/src/components/navbar/Broadcast.vue +++ b/frontend/src/components/navbar/Broadcast.vue @@ -1,5 +1,5 @@ <template> - <div v-if="showBanner" :class="bannerClass" class="min-h-[72px] w-full flex items-center py-4"> + <div v-if="showBanner.show" :class="bannerClass" class="min-h-[72px] w-full flex items-center py-4"> <div class="page-responsive-width flex justify-between md:gap-6 md:items-start"> <div class="flex items-center gap-4 md:flex-col md:items-start max-w-[80%]"> <div v-if="isLight" class="flex justify-center items-center rounded-[10px] p-3 bg-white border border-gray-200"> @@ -22,8 +22,10 @@ import { ElMessage } from 'element-plus'; import { computed, onMounted } from 'vue'; import SvgIcon from '../shared/SvgIcon.vue'; + import { useStorage } from '@vueuse/core' - const showBanner = ref(false) + + const showBanner = useStorage('show_banner', {initialied: false, show: false}, sessionStorage) const activeBroadcast = ref({ theme: '', @@ -51,14 +53,19 @@ activeBroadcast.value.status = data.value.data.status activeBroadcast.value.bc_type = data.value.data.bc_type activeBroadcast.value.content = data.value.data.content - showBanner.value = true + if (!showBanner.value.initialied) { + showBanner.value.initialied = true + showBanner.value.show = true + } } else { + showBanner.value.initialied = false + showBanner.value.show = false ElMessage.warning(error.value.msg) } } const closeBanner = () => { - showBanner.value = false + showBanner.value.show = false } onMounted(() => { From f21f7bc1bdca3b66d79f7e72ddb65f26b2c2fec3 Mon Sep 17 00:00:00 2001 From: Hiveer <ljp.hiveer@gmail.com> Date: Sat, 25 Jan 2025 10:32:59 +0800 Subject: [PATCH 2/3] Fix empty repos bug --- frontend/src/components/shared/RepoCards.vue | 21 +++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/shared/RepoCards.vue b/frontend/src/components/shared/RepoCards.vue index 1e55f261d..6540f3bf7 100644 --- a/frontend/src/components/shared/RepoCards.vue +++ b/frontend/src/components/shared/RepoCards.vue @@ -86,7 +86,7 @@ :repo="repo" :repo-type="repoType" /> </div> - <div v-else-if="repoType === 'model' && totalRepos === 0 "> + <div v-else-if="repoType === 'model' && loading === false && totalRepos === 0"> <EmptyModels /> </div> <div @@ -144,6 +144,7 @@ const totalRepos = ref(0) const activeTags = ref({}) + const loading = ref(true) const reposData = ref(Array) const sortOptions = [ @@ -224,12 +225,18 @@ } async function loadRepos(url) { - const { error, data } = await useFetchApi(url).json() - if (data.value) { - reposData.value = data.value.data - totalRepos.value = data.value.total - } else { - ElMessage.warning(error.value.msg || t('all.fetchError')) + try { + const { error, data } = await useFetchApi(url).json() + if (data.value) { + reposData.value = data.value.data + totalRepos.value = data.value.total + } else { + ElMessage.warning(error.value.msg || t('all.fetchError')) + } + } catch(error) { + ElMessage.warning(error) + } finally { + loading.value = false } } From cdccf0ec060b74136055433a59f5c939f7853ff8 Mon Sep 17 00:00:00 2001 From: Hiveer <ljp.hiveer@gmail.com> Date: Wed, 5 Feb 2025 16:51:58 +0800 Subject: [PATCH 3/3] Fix typo --- frontend/src/components/navbar/Broadcast.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/navbar/Broadcast.vue b/frontend/src/components/navbar/Broadcast.vue index b5d3a06ea..9ca344f0e 100644 --- a/frontend/src/components/navbar/Broadcast.vue +++ b/frontend/src/components/navbar/Broadcast.vue @@ -25,7 +25,7 @@ import { useStorage } from '@vueuse/core' - const showBanner = useStorage('show_banner', {initialied: false, show: false}, sessionStorage) + const showBanner = useStorage('show_banner', {initialized: false, show: false}, sessionStorage) const activeBroadcast = ref({ theme: '', @@ -53,12 +53,12 @@ activeBroadcast.value.status = data.value.data.status activeBroadcast.value.bc_type = data.value.data.bc_type activeBroadcast.value.content = data.value.data.content - if (!showBanner.value.initialied) { - showBanner.value.initialied = true + if (!showBanner.value.initialized) { + showBanner.value.initialized = true showBanner.value.show = true } } else { - showBanner.value.initialied = false + showBanner.value.initialized = false showBanner.value.show = false ElMessage.warning(error.value.msg) }