diff --git a/TODO b/TODO index 5fc63a6..2dadcf7 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,14 @@ -- Slice change on Actionable Chart -- Show more on Dashboard cards - Fix devices Dashboard card, replace empty with "unkwnwn" - Component first interaction must make the request inside -- Reactivity on project delete (update dropdown) \ No newline at end of file +- Reactivity on project delete (update dropdown) +- Fix CSV Endpoint +- Devices remove empty +- docs vertical navigation not wfull +- project creation +- Event funnel / metadata analyzer / user flow +- Test guest actions +- Refactor UI Data analyst +- Remove Top Events from web analytics and move to custom events (with raw data access) +- Fix email on plan upgrade and resub \ No newline at end of file diff --git a/dashboard/components/BarCard/Browsers.vue b/dashboard/components/BarCard/Browsers.vue index 83e2a30..d805ce0 100644 --- a/dashboard/components/BarCard/Browsers.vue +++ b/dashboard/components/BarCard/Browsers.vue @@ -1,19 +1,24 @@ diff --git a/dashboard/components/BarCard/Geolocations.vue b/dashboard/components/BarCard/Geolocations.vue index c7af0e3..7551b2d 100644 --- a/dashboard/components/BarCard/Geolocations.vue +++ b/dashboard/components/BarCard/Geolocations.vue @@ -12,25 +12,26 @@ function iconProvider(id: string): ReturnType { const customIconStyle = `width: 2rem; padding: 1px;` -const isShowMore = ref(false); - const geolocationData = useFetch('/api/data/countries', { - headers: useComputedHeaders({ - limit: computed(() => isShowMore.value ? '200' : '10'), - }), lazy: true + headers: useComputedHeaders({ limit: 10, }), lazy: true }); const { showDialog, dialogBarData, isDataLoading } = useBarCardDialog(); -function showMore() { - - isShowMore.value = true; +async function showMore() { + dialogBarData.value=[]; showDialog.value = true; + isDataLoading.value = true; - dialogBarData.value = geolocationData.data.value?.map(e => { + const res = await $fetch('/api/data/countries', { + headers: useComputedHeaders({limit: 1000}).value + }); + + dialogBarData.value = res?.map(e => { return { ...e, icon: iconProvider(e._id) } }) || []; + isDataLoading.value = false; } @@ -40,9 +41,10 @@ function showMore() { diff --git a/dashboard/components/BarCard/OperatingSystems.vue b/dashboard/components/BarCard/OperatingSystems.vue index 7e0806a..b6fdd99 100644 --- a/dashboard/components/BarCard/OperatingSystems.vue +++ b/dashboard/components/BarCard/OperatingSystems.vue @@ -1,23 +1,29 @@ diff --git a/dashboard/components/BarCard/Referrers.vue b/dashboard/components/BarCard/Referrers.vue index 1ca69de..088b985 100644 --- a/dashboard/components/BarCard/Referrers.vue +++ b/dashboard/components/BarCard/Referrers.vue @@ -12,22 +12,31 @@ function elementTextTransformer(element: string) { return element; } -const isShowMore = ref(false); - const referrersData = useFetch('/api/data/referrers', { headers: useComputedHeaders({ - limit: computed(() => isShowMore.value ? '200' : '10'), + limit: 10, }), lazy: true }); const { showDialog, dialogBarData, isDataLoading } = useBarCardDialog(); -function showMore() { - isShowMore.value = true; +async function showMore() { + + dialogBarData.value=[]; + showDialog.value = true; - dialogBarData.value = referrersData.data.value?.map(e => { + isDataLoading.value = true; + + const res = await $fetch('/api/data/referrers', { + headers: useComputedHeaders({limit: 1000}).value + }); + + + dialogBarData.value = res?.map(e => { return { ...e, icon: iconProvider(e._id) } }) || []; + + isDataLoading.value = false; } diff --git a/dashboard/components/BarCard/Websites.vue b/dashboard/components/BarCard/Websites.vue index 678a443..9f7f603 100644 --- a/dashboard/components/BarCard/Websites.vue +++ b/dashboard/components/BarCard/Websites.vue @@ -1,18 +1,16 @@