constloadStats=async()=>{loading.value=true;try{awaitauthStore.refreshUser();stats.value=awaitusageAPI.getDashboardStats()}catch(error){console.error('Failed to load dashboard stats:',error)}finally{loading.value=false}}
constloadStats=async()=>{loading.value=true;try{awaitauthStore.refreshUser();stats.value=awaitusageAPI.getDashboardStats()}catch(error){console.error('Failed to load dashboard stats:',error)}finally{loading.value=false}}
constloadCharts=async()=>{loadingCharts.value=true;try{constres=awaitPromise.all([usageAPI.getDashboardTrend({start_date:startDate.value,end_date:endDate.value,granularity:granularity.valueasany}),usageAPI.getDashboardModels({start_date:startDate.value,end_date:endDate.value})]);trendData.value=res[0].trend||[];modelStats.value=res[1].models||[]}catch(error){console.error('Failed to load charts:',error)}finally{loadingCharts.value=false}}
constloadCharts=async()=>{loadingCharts.value=true;try{constres=awaitPromise.all([usageAPI.getDashboardTrend({start_date:startDate.value,end_date:endDate.value,granularity:granularity.valueasany}),usageAPI.getDashboardModels({start_date:startDate.value,end_date:endDate.value})]);trendData.value=res[0].trend||[];modelStats.value=res[1].models||[]}catch(error){console.error('Failed to load charts:',error)}finally{loadingCharts.value=false}}
constloadRecent=async()=>{loadingUsage.value=true;try{constres=awaitusageAPI.getByDateRange(startDate.value,endDate.value);recentUsage.value=res.items.slice(0,5)}catch(error){console.error('Failed to load recent usage:',error)}finally{loadingUsage.value=false}}
constloadRecent=async()=>{loadingUsage.value=true;try{constres=awaitusageAPI.getByDateRange(startDate.value,endDate.value);recentUsage.value=res.items.slice(0,5)}catch(error){console.error('Failed to load recent usage:',error)}finally{loadingUsage.value=false}}