diff --git a/apps/web/src/composables/analytics.ts b/apps/web/src/composables/analytics.ts index 79ba6e304..71f31960c 100644 --- a/apps/web/src/composables/analytics.ts +++ b/apps/web/src/composables/analytics.ts @@ -1,4 +1,4 @@ -import { readonly, ref, watchEffect } from 'vue' +import { readonly, ref } from 'vue' import { UserAnalyticsData } from '@casimir/types' import useEnvironment from '@/composables/environment' import useTxData from '../mockData/mock_transaction_data' @@ -8,7 +8,8 @@ const { mockData, txData } = useTxData() export default function useAnalytics() { const finishedComputingUerAnalytics = ref(false) - const getUserAnalyticsError = ref(null) + const loadingInitializeAnalytics = ref(false) + const loadingInitializeAnalyticsError = ref(false) const rawUserAnalytics = ref(null) const userAnalytics = ref({ oneMonth: { @@ -153,7 +154,6 @@ export default function useAnalytics() { // const { error, message, data: athenaData } = await response.json() // console.log('data from analytics :>> ', data) // userAnalytics.value = athenaData - // getUserAnalyticsError.value = error // if (error) throw new Error(`Error in getUserAnalytics: ${message}`) // TODO: Get events, actions, and contract data from the API @@ -180,12 +180,19 @@ export default function useAnalytics() { } async function initializeAnalyticsComposable() { - resetUserAnalytics() - await getUserAnalytics() + try { + loadingInitializeAnalytics.value = true + resetUserAnalytics() + await getUserAnalytics() + loadingInitializeAnalytics.value = false + } catch (error) { + loadingInitializeAnalyticsError.value = true + loadingInitializeAnalytics.value = false + throw new Error('Error initializing analytics') + } } function resetUserAnalytics() { - getUserAnalyticsError.value = null userAnalytics.value = { oneMonth: { labels: [], @@ -208,10 +215,11 @@ export default function useAnalytics() { return { finishedComputingUerAnalytics: readonly(finishedComputingUerAnalytics), + loadingInitializeAnalytics: readonly(loadingInitializeAnalytics), + loadingInitializeAnalyticsError: readonly(loadingInitializeAnalyticsError), + rawUserAnalytics, userAnalytics: readonly(userAnalytics), - getUserAnalyticsError: readonly(getUserAnalyticsError), + initializeAnalyticsComposable, updateAnalytics, - rawUserAnalytics, - initializeAnalyticsComposable } } \ No newline at end of file