From 942d074f991b9436b1b20dd83937a07da55c7933 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 6 Mar 2025 10:55:46 +0100 Subject: [PATCH] refactoring --- .../components/dashboard/ActionableChart.vue | 7 +++- dashboard/components/dialog/ConfirmLogout.vue | 38 +++++++++++++++++ .../components/dialog/CreateSnapshot.vue | 2 +- dashboard/components/dialog/InviteManager.vue | 42 ++++++++++++++++--- .../components/layout/VerticalNavigation.vue | 29 +++++++++---- dashboard/components/settings/General.vue | 12 +++--- dashboard/components/settings/billing.vue | 2 +- .../composables/snapshots/BaseSnapshots.ts | 37 +++++++++++++++- dashboard/composables/useAlert.ts | 11 ++++- dashboard/composables/useProject.ts | 5 ++- dashboard/pages/login.vue | 14 ++++--- dashboard/pages/members.vue | 31 ++++++++++++-- dashboard/pages/project_creation.vue | 6 +-- dashboard/pages/settings.vue | 2 +- dashboard/server/api/keys/create.post.ts | 21 ++++++---- .../server/api/project/change_name.post.ts | 8 ++-- dashboard/server/api/project/create.post.ts | 2 +- dashboard/server/api/project/list_guest.ts | 4 +- .../server/api/project/members/accept.post.ts | 2 + .../server/api/project/members/add.post.ts | 6 ++- dashboard/server/api/project/members/leave.ts | 2 +- dashboard/server/api/project/members/list.ts | 2 +- dashboard/server/api/snapshot/create.post.ts | 4 +- dashboard/server/api/timeline/visits.ts | 19 +++++---- dashboard/server/services/TimelineService.ts | 9 ++-- email/src/services/server.ts | 2 + shared_global/schema/TeamMemberSchema.ts | 2 +- shared_global/services/DateService.ts | 15 ++++--- 28 files changed, 253 insertions(+), 83 deletions(-) create mode 100644 dashboard/components/dialog/ConfirmLogout.vue diff --git a/dashboard/components/dashboard/ActionableChart.vue b/dashboard/components/dashboard/ActionableChart.vue index 91ccc78..e5ca037 100644 --- a/dashboard/components/dashboard/ActionableChart.vue +++ b/dashboard/components/dashboard/ActionableChart.vue @@ -135,7 +135,7 @@ const chartData = ref>({ type: 'bubble', stack: 'combined', borderColor: ["#fbbf24"] - }, + } ], }); @@ -367,6 +367,11 @@ const legendClasses = ref([ {{ (currentTooltipData as any)[tooltipNameIndex[index]] }} +
+
Unique visitors is greater than visits.
+
This can indicate bot traffic.
+
diff --git a/dashboard/components/dialog/ConfirmLogout.vue b/dashboard/components/dialog/ConfirmLogout.vue new file mode 100644 index 0000000..c1587a4 --- /dev/null +++ b/dashboard/components/dialog/ConfirmLogout.vue @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/dashboard/components/dialog/CreateSnapshot.vue b/dashboard/components/dialog/CreateSnapshot.vue index d0369aa..6b669ed 100644 --- a/dashboard/components/dialog/CreateSnapshot.vue +++ b/dashboard/components/dialog/CreateSnapshot.vue @@ -107,7 +107,7 @@ async function confirmSnapshot() { Cancel + :disabled="snapshotName.trim().length == 0"> Confirm diff --git a/dashboard/components/dialog/InviteManager.vue b/dashboard/components/dialog/InviteManager.vue index 3617946..bd78fd2 100644 --- a/dashboard/components/dialog/InviteManager.vue +++ b/dashboard/components/dialog/InviteManager.vue @@ -13,12 +13,42 @@ const props = defineProps<{ }[] }>(); -function acceptInvite(project_id: string) { - +async function acceptInvite(project_id: string) { + try { + await $fetch('/api/project/members/accept', { + method: 'POST', + body: JSON.stringify({ project_id }), + headers: useComputedHeaders({ + custom: { + 'Content-Type': 'application/json' + } + }).value + }); + emit('success'); + } catch (ex) { + console.error(ex); + alert('Error accepting invite'); + emit('cancel'); + } } -function declineInvite(project_id: string) { - +async function declineInvite(project_id: string) { + try { + await $fetch('/api/project/members/decline', { + method: 'POST', + body: JSON.stringify({ project_id }), + headers: useComputedHeaders({ + custom: { + 'Content-Type': 'application/json' + } + }).value + }); + emit('success'); + } catch (ex) { + console.error(ex); + alert('Error accepting invite'); + emit('cancel'); + } } @@ -32,9 +62,9 @@ function declineInvite(project_id: string) { background: 'dark:bg-lyx-widget bg-lyx-lightmode-widget-light', ring: 'border-solid border-[1px] border-[#262626]' }"> -
+
-
+
You are invited to join diff --git a/dashboard/components/layout/VerticalNavigation.vue b/dashboard/components/layout/VerticalNavigation.vue index 97650fc..fd6e584 100644 --- a/dashboard/components/layout/VerticalNavigation.vue +++ b/dashboard/components/layout/VerticalNavigation.vue @@ -1,6 +1,6 @@