From f98a5f249a2022f0c844d7ae77d6098658ad02ef Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Thu, 5 Feb 2026 23:45:38 +0100 Subject: [PATCH 1/4] fix(ui): hide awkward empty state for weekly downloads for new packages Closes #1044 --- app/components/Package/WeeklyDownloadStats.vue | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/components/Package/WeeklyDownloadStats.vue b/app/components/Package/WeeklyDownloadStats.vue index 720b3213b..f16cc8cee 100644 --- a/app/components/Package/WeeklyDownloadStats.vue +++ b/app/components/Package/WeeklyDownloadStats.vue @@ -13,6 +13,8 @@ const hasChartModalTransitioned = shallowRef(false) const isChartModalOpen = shallowRef(false) async function openChartModal() { + if (!hasWeeklyDownloads.value) return + isChartModalOpen.value = true hasChartModalTransitioned.value = false // ensure the component renders before opening the dialog @@ -96,10 +98,13 @@ const pulseColor = computed(() => { }) const weeklyDownloads = shallowRef([]) +const isLoadingWeeklyDownloads = shallowRef(false) +const hasWeeklyDownloads = computed(() => weeklyDownloads.value.length > 0) async function loadWeeklyDownloads() { if (!import.meta.client) return + isLoadingWeeklyDownloads.value = true try { const result = await fetchPackageDownloadEvolution( () => props.packageName, @@ -109,6 +114,8 @@ async function loadWeeklyDownloads() { weeklyDownloads.value = (result as WeeklyDownloadPoint[]) ?? [] } catch { weeklyDownloads.value = [] + } finally { + isLoadingWeeklyDownloads.value = false } } @@ -208,10 +215,11 @@ const config = computed(() => {