Skip to content

Commit b18ae74

Browse files
committed
fix: restore loading message
1 parent ee60c23 commit b18ae74

File tree

1 file changed

+34
-9
lines changed

1 file changed

+34
-9
lines changed

app/components/Package/DownloadAnalytics.vue

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,15 @@ function applyDateRange<T extends Record<string, unknown>>(base: T): T & DateRan
387387
return next
388388
}
389389
390+
const { fetchPackageDownloadEvolution } = useCharts()
391+
392+
const evolution = shallowRef<EvolutionData>(props.weeklyDownloads ?? [])
393+
const evolutionsByPackage = shallowRef<Record<string, EvolutionData>>({})
394+
const pending = shallowRef(false)
395+
396+
const isMounted = shallowRef(false)
397+
let requestToken = 0
398+
390399
watch(
391400
[selectedGranularity, startDate, endDate],
392401
([granularityValue]) => {
@@ -396,18 +405,34 @@ watch(
396405
else if (granularityValue === 'monthly')
397406
options.value = applyDateRange({ granularity: 'month', months: 24 })
398407
else options.value = applyDateRange({ granularity: 'year' })
399-
},
400-
{ immediate: true },
401-
)
402408
403-
const { fetchPackageDownloadEvolution } = useCharts()
409+
// Do not set pending during initial setup
410+
if (!isMounted.value) return
404411
405-
const evolution = shallowRef<EvolutionData>(props.weeklyDownloads ?? [])
406-
const evolutionsByPackage = shallowRef<Record<string, EvolutionData>>({})
407-
const pending = shallowRef(false)
412+
const packageNames = effectivePackageNames.value
413+
if (!import.meta.client || !shouldFetch.value || !packageNames.length) {
414+
pending.value = false
415+
return
416+
}
408417
409-
const isMounted = shallowRef(false)
410-
let requestToken = 0
418+
const o = options.value as any
419+
const hasExplicitRange = Boolean(o.startDate || o.endDate)
420+
421+
// Do not show loading when weeklyDownloads is already provided
422+
if (
423+
!isMultiPackageMode.value &&
424+
o.granularity === 'week' &&
425+
props.weeklyDownloads?.length &&
426+
!hasExplicitRange
427+
) {
428+
pending.value = false
429+
return
430+
}
431+
432+
pending.value = true
433+
},
434+
{ immediate: true },
435+
)
411436
412437
async function loadNow() {
413438
if (!import.meta.client) return

0 commit comments

Comments
 (0)