From 5ca9bc746c12f0e44b13f1f16bc3c237a4d49fca 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 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/components/Package/WeeklyDownloadStats.vue b/app/components/Package/WeeklyDownloadStats.vue index 67a797e78..77cffe5c3 100644 --- a/app/components/Package/WeeklyDownloadStats.vue +++ b/app/components/Package/WeeklyDownloadStats.vue @@ -12,6 +12,8 @@ const chartModal = useModal('chart-modal') const isChartModalOpen = shallowRef(false) async function openChartModal() { + if (!hasWeeklyDownloads.value) return + isChartModalOpen.value = true // ensure the component renders before opening the dialog await nextTick() @@ -85,10 +87,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, @@ -98,6 +103,8 @@ async function loadWeeklyDownloads() { weeklyDownloads.value = (result as WeeklyDownloadPoint[]) ?? [] } catch { weeklyDownloads.value = [] + } finally { + isLoadingWeeklyDownloads.value = false } } @@ -197,10 +204,11 @@ const config = computed(() => {