From 376b39e247a484d82755a7b1df2d8abcbd583bd7 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 1 Aug 2024 23:35:32 +0200 Subject: [PATCH] implementing snapshots --- dashboard/app.vue | 2 +- dashboard/components/CVerticalNavigation.vue | 66 ++++++++++---- .../components/dashboard/EventsChart.vue | 44 +++++++--- .../events/EventsStackedBarChart.vue | 86 ++++++++++++------- .../settings/billing.vue} | 0 .../settings}/members.vue | 0 dashboard/composables/useDataService.ts | 17 ++-- dashboard/layouts/dashboard.vue | 22 +---- dashboard/pages/events.vue | 16 +--- dashboard/pages/index.vue | 8 +- dashboard/pages/settings.vue | 34 ++++++++ .../[project_id]/timeline/events.post.ts | 4 +- .../timeline/events_stacked.post.ts | 24 ++++-- .../[project_id]/timeline/referrers.post.ts | 4 +- .../[project_id]/timeline/sessions.post.ts | 4 +- .../timeline/sessions_duration.post.ts | 4 +- .../[project_id]/timeline/visits.post.ts | 4 +- dashboard/server/services/TimelineService.ts | 10 ++- dashboard/utils/DateUtils.ts | 3 +- 19 files changed, 222 insertions(+), 130 deletions(-) rename dashboard/{pages/plans.vue => components/settings/billing.vue} (100%) rename dashboard/{pages => components/settings}/members.vue (100%) create mode 100644 dashboard/pages/settings.vue diff --git a/dashboard/app.vue b/dashboard/app.vue index 8bef9f1..e4fce55 100644 --- a/dashboard/app.vue +++ b/dashboard/app.vue @@ -36,7 +36,7 @@ const { showDialog, closeDialog, dialogComponent, dialogParams, dialogStyle, dia
+ class="absolute bottom-8 right-4 bg-red-400 text-white text-[.9rem] font-bold px-4 py-[.2rem] rounded-lg z-[100]">
XS
diff --git a/dashboard/components/CVerticalNavigation.vue b/dashboard/components/CVerticalNavigation.vue index f671e6c..51736d1 100644 --- a/dashboard/components/CVerticalNavigation.vue +++ b/dashboard/components/CVerticalNavigation.vue @@ -9,7 +9,8 @@ export type Entry = { icon?: string, action?: () => any, adminOnly?: boolean, - external?: boolean + external?: boolean, + grow?: boolean } export type Section = { @@ -66,24 +67,35 @@ async function deleteSnapshot(close: () => any) { async function generatePDF() { -try { - const res = await $fetch('/api/project/generate_pdf', { - ...signHeaders(), - responseType: 'blob' - }); + try { + const res = await $fetch('/api/project/generate_pdf', { + ...signHeaders(), + responseType: 'blob' + }); - const url = URL.createObjectURL(res); - const a = document.createElement('a'); - a.href = url; - a.download = `Report.pdf`; - a.click(); - URL.revokeObjectURL(url); -} catch (ex: any) { - alert(ex.message); + const url = URL.createObjectURL(res); + const a = document.createElement('a'); + a.href = url; + a.download = `Report.pdf`; + a.click(); + URL.revokeObjectURL(url); + } catch (ex: any) { + alert(ex.message); + } } + +const { setToken } = useAccessToken(); +const router = useRouter(); + +function onLogout() { + console.log('LOGOUT') + setToken(''); + setLoggedUser(undefined); + router.push('/login'); } +