Skip to content

Commit 5ca9bc7

Browse files
committed
fix(ui): hide awkward empty state for weekly downloads for new packages
Closes #1044
1 parent 2273d3b commit 5ca9bc7

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

app/components/Package/WeeklyDownloadStats.vue

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const chartModal = useModal('chart-modal')
1212
1313
const isChartModalOpen = shallowRef(false)
1414
async function openChartModal() {
15+
if (!hasWeeklyDownloads.value) return
16+
1517
isChartModalOpen.value = true
1618
// ensure the component renders before opening the dialog
1719
await nextTick()
@@ -85,10 +87,13 @@ const pulseColor = computed(() => {
8587
})
8688
8789
const weeklyDownloads = shallowRef<WeeklyDownloadPoint[]>([])
90+
const isLoadingWeeklyDownloads = shallowRef(false)
91+
const hasWeeklyDownloads = computed(() => weeklyDownloads.value.length > 0)
8892
8993
async function loadWeeklyDownloads() {
9094
if (!import.meta.client) return
9195
96+
isLoadingWeeklyDownloads.value = true
9297
try {
9398
const result = await fetchPackageDownloadEvolution(
9499
() => props.packageName,
@@ -98,6 +103,8 @@ async function loadWeeklyDownloads() {
98103
weeklyDownloads.value = (result as WeeklyDownloadPoint[]) ?? []
99104
} catch {
100105
weeklyDownloads.value = []
106+
} finally {
107+
isLoadingWeeklyDownloads.value = false
101108
}
102109
}
103110
@@ -197,10 +204,11 @@ const config = computed(() => {
197204
</script>
198205

199206
<template>
200-
<div class="space-y-8">
207+
<div v-if="isLoadingWeeklyDownloads || hasWeeklyDownloads" class="space-y-8">
201208
<CollapsibleSection id="downloads" :title="$t('package.downloads.title')">
202209
<template #actions>
203210
<button
211+
v-if="hasWeeklyDownloads"
204212
type="button"
205213
@click="openChartModal"
206214
class="text-fg-subtle hover:text-fg transition-colors duration-200 inline-flex items-center justify-center min-w-6 min-h-6 -m-1 p-1 focus-visible:outline-accent/70 rounded"
@@ -249,7 +257,10 @@ const config = computed(() => {
249257
</CollapsibleSection>
250258
</div>
251259

252-
<PackageChartModal v-if="isChartModalOpen" @close="isChartModalOpen = false">
260+
<PackageChartModal
261+
v-if="isChartModalOpen && hasWeeklyDownloads"
262+
@close="isChartModalOpen = false"
263+
>
253264
<PackageDownloadAnalytics
254265
:weeklyDownloads="weeklyDownloads"
255266
:inModal="true"

0 commit comments

Comments
 (0)