diff --git a/frontend/src/components/CurrentlyBuilding.vue b/frontend/src/components/CurrentlyBuilding.vue index 022c01f..8482d0e 100644 --- a/frontend/src/components/CurrentlyBuilding.vue +++ b/frontend/src/components/CurrentlyBuilding.vue @@ -103,7 +103,9 @@ const rtf = new Intl.RelativeTimeFormat('en', { style: 'long' }) -const updateFailed = computed(() => !!packagesStore.state.error || !!statsStore.state.error) +const updateFailed = computed( + () => !!packagesStore.state.errorCurrentlyBuilding || !!statsStore.state.error +) const lastMirrorSync = computed( () => Math.floor(Date.now() / 1000) - (statsStore.state.stats?.last_mirror_timestamp || Date.now()) diff --git a/frontend/src/stores/packagesStore.ts b/frontend/src/stores/packagesStore.ts index 411b63f..157598c 100644 --- a/frontend/src/stores/packagesStore.ts +++ b/frontend/src/stores/packagesStore.ts @@ -17,7 +17,9 @@ export const usePackagesStore = defineStore('packages', () => { offset: 0, limit: Number(import.meta.env.VITE_LIMIT) || 50, loading: false, + loadingCurrentlyBuilding: false, error: null as string | null, + errorCurrentlyBuilding: null as string | null, lastUpdated: Date.now(), filters: { status: undefined, @@ -31,6 +33,8 @@ export const usePackagesStore = defineStore('packages', () => { const fetchPackages = (init = false) => { state.loading = true state.error = null + state.packages = [] + state.total = 0 if (init) { initFromUrl() @@ -76,10 +80,15 @@ export const usePackagesStore = defineStore('packages', () => { }) .finally(() => { state.loading = false + state.lastUpdated = Date.now() }) } const fetchCurrentlyBuilding = () => { + state.loadingCurrentlyBuilding = true + state.errorCurrentlyBuilding = null + state.currentlyBuildingPackages = [] + getPackages({ limit: 0, offset: 0, @@ -92,13 +101,13 @@ export const usePackagesStore = defineStore('packages', () => { if (err.statusCode === 404) { state.currentlyBuildingPackages = [] } else { - state.error = + state.errorCurrentlyBuilding = err instanceof Error ? err.message : 'Failed to fetch currently building packages' console.error('Error fetching queued packages:', err) } }) .finally(() => { - state.loading = false + state.loadingCurrentlyBuilding = false }) }