diff --git a/infrastructure/control-panel/src/lib/components/EVaultList.svelte b/infrastructure/control-panel/src/lib/components/EVaultList.svelte index 0fdcca5c..dd9c8ce3 100644 --- a/infrastructure/control-panel/src/lib/components/EVaultList.svelte +++ b/infrastructure/control-panel/src/lib/components/EVaultList.svelte @@ -9,20 +9,27 @@ let cacheStatus: { lastUpdated: number; isStale: boolean; itemCount: number }; onMount(async () => { + console.log('Component mounted, starting to load eVaults...'); try { + loading = true; + console.log('Loading state set to true'); await loadEVaults(); cacheStatus = EVaultService.getCacheStatus(); + console.log('Loaded eVaults:', evaults.length, 'items'); } catch (err) { error = 'Failed to load eVaults'; - console.error(err); + console.error('Error in onMount:', err); } finally { loading = false; + console.log('Loading state set to false'); } }); async function loadEVaults() { + console.log('loadEVaults called'); try { evaults = await EVaultService.getEVaults(); + console.log('EVaultService returned:', evaults.length, 'items'); cacheStatus = EVaultService.getCacheStatus(); } catch (err) { console.error('Error loading eVaults:', err); diff --git a/infrastructure/control-panel/src/lib/services/cacheService.ts b/infrastructure/control-panel/src/lib/services/cacheService.ts index cb977013..38b2bf65 100644 --- a/infrastructure/control-panel/src/lib/services/cacheService.ts +++ b/infrastructure/control-panel/src/lib/services/cacheService.ts @@ -53,8 +53,9 @@ class CacheService { async getCachedEVaults(): Promise { if (typeof window !== 'undefined') { - // In browser, return empty array - caching only works on server - return []; + // In browser, return null to indicate we need to fetch from server + // This prevents showing "No eVaults found" prematurely + return null as any; } await this.init(); diff --git a/infrastructure/control-panel/src/lib/services/evaultService.ts b/infrastructure/control-panel/src/lib/services/evaultService.ts index 7a3be91b..c332f14c 100644 --- a/infrastructure/control-panel/src/lib/services/evaultService.ts +++ b/infrastructure/control-panel/src/lib/services/evaultService.ts @@ -7,7 +7,12 @@ export class EVaultService { * Returns cached data immediately, refreshes in background if stale */ static async getEVaults(): Promise { - // Check if cache is stale + // In browser, always fetch from server since caching doesn't work here + if (typeof window !== 'undefined') { + return this.fetchEVaultsDirectly(); + } + + // On server, use caching const isStale = await cacheService.isCacheStale(); if (isStale) {