From 95685663616b5d8b252f2742f0de27c9a9e6261e Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 8 Oct 2024 18:47:30 +0200 Subject: [PATCH] rewrite litlyx --- TODO | 8 +++---- dashboard/assets/scss/main.scss | 22 ++++++++++++++++--- dashboard/components/BarCard/Base.vue | 13 ++++++----- dashboard/components/BarCard/Websites.vue | 6 ++--- .../components/dashboard/ActionableChart.vue | 14 +++++++++--- dashboard/components/dashboard/CountCard.vue | 14 +++++++----- dashboard/pages/events.vue | 7 +++++- dashboard/pages/index.vue | 20 +++++------------ dashboard/server/api/pay/webhook.post.ts | 4 +++- 9 files changed, 66 insertions(+), 42 deletions(-) diff --git a/TODO b/TODO index 034eec3..6b588ce 100644 --- a/TODO +++ b/TODO @@ -1,8 +1,6 @@ +- Refactor UI Data analyst + - Reactivity on project delete (update dropdown) + test guest - -- Event funnel / metadata analyzer / user flow -- 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 +- Event funnel / metadata analyzer / user flow \ No newline at end of file diff --git a/dashboard/assets/scss/main.scss b/dashboard/assets/scss/main.scss index 9f74870..a3abc31 100644 --- a/dashboard/assets/scss/main.scss +++ b/dashboard/assets/scss/main.scss @@ -19,6 +19,18 @@ src: url("../fonts/GeistVF.ttf"); } + +.actionable-visits-color-checkbox { + color: #5655d7; +} + +.actionable-sessions-color-checkbox { + color: #4abde8; +} +.actionable-events-color-checkbox { + color: #fbbf24; +} + .geist { font-family: "Geist"; } @@ -72,10 +84,14 @@ .hide-scrollbars { - -ms-overflow-style: none; /* IE and Edge */ - scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; + /* IE and Edge */ + scrollbar-width: none; + + /* Firefox */ &::-webkit-scrollbar { - display: none; /* Chrome, Safari and Opera */ + display: none; + /* Chrome, Safari and Opera */ } } diff --git a/dashboard/components/BarCard/Base.vue b/dashboard/components/BarCard/Base.vue index c09f158..3e0d657 100644 --- a/dashboard/components/BarCard/Base.vue +++ b/dashboard/components/BarCard/Base.vue @@ -68,11 +68,14 @@ function openExternalLink(link: string) { diff --git a/dashboard/components/BarCard/Websites.vue b/dashboard/components/BarCard/Websites.vue index 9f7f603..fcb240d 100644 --- a/dashboard/components/BarCard/Websites.vue +++ b/dashboard/components/BarCard/Websites.vue @@ -48,9 +48,9 @@ function goToView() {
diff --git a/dashboard/components/dashboard/ActionableChart.vue b/dashboard/components/dashboard/ActionableChart.vue index 2b9337e..b0ded34 100644 --- a/dashboard/components/dashboard/ActionableChart.vue +++ b/dashboard/components/dashboard/ActionableChart.vue @@ -136,7 +136,7 @@ const selectLabels: { label: string, value: Slice }[] = [ { label: 'Month', value: 'month' }, ]; -const selectedSlice = computed(()=>selectLabels[selectedLabelIndex.value].value); +const selectedSlice = computed(() => selectLabels[selectedLabelIndex.value].value); const selectedLabelIndex = ref(1); const allDatesFull = ref([]); @@ -233,7 +233,13 @@ function onLegendChange(dataset: any, index: number, checked: any) { dataset.hidden = !checked; } -const legendColors = ['#5655d7', '#4abde8', '#fbbf24'] +const legendColors = ref(['#5655d7', '#4abde8', '#fbbf24']) +const legendClasses = ref([ + 'actionable-visits-color-checkbox', + 'actionable-sessions-color-checkbox', + 'actionable-events-color-checkbox' +]) + const inLiveDemo = isLiveDemo(); @@ -256,9 +262,11 @@ const inLiveDemo = isLiveDemo();
+ +
diff --git a/dashboard/components/dashboard/CountCard.vue b/dashboard/components/dashboard/CountCard.vue index 82eafa2..d395edd 100644 --- a/dashboard/components/dashboard/CountCard.vue +++ b/dashboard/components/dashboard/CountCard.vue @@ -30,18 +30,20 @@ const uTooltipText = computed(() => {
- +
-
-
{{ value }}
-
{{ avg }}
+
+
+ {{ value }} +
+
{{ avg }}
-
{{ text }}
+
{{ text }}
-
diff --git a/dashboard/pages/events.vue b/dashboard/pages/events.vue index 2341ac6..6ca43a8 100644 --- a/dashboard/pages/events.vue +++ b/dashboard/pages/events.vue @@ -35,6 +35,11 @@ const eventsData = await useFetch(`/api/data/count`, { headers: useComputedHeade
+ +
+ +
+
- + diff --git a/dashboard/pages/index.vue b/dashboard/pages/index.vue index 01d06a2..217458f 100644 --- a/dashboard/pages/index.vue +++ b/dashboard/pages/index.vue @@ -41,40 +41,30 @@ const showDashboard = computed(() => project.value && firstInteraction.data.valu
-
- -
-
-
- -
-
-
- -
+
+ +
-
- -
- +
+
diff --git a/dashboard/server/api/pay/webhook.post.ts b/dashboard/server/api/pay/webhook.post.ts index d9e1c28..3727a3a 100644 --- a/dashboard/server/api/pay/webhook.post.ts +++ b/dashboard/server/api/pay/webhook.post.ts @@ -114,6 +114,8 @@ async function onPaymentSuccess(event: Event.InvoicePaidEvent) { const subscription_id = event.data.object.subscription as string; + const isNewSubscription = project.subscription_id != subscription_id; + const allSubscriptions = await StripeService.getAllSubscriptions(customer_id); if (!allSubscriptions) return; @@ -140,7 +142,7 @@ async function onPaymentSuccess(event: Event.InvoicePaidEvent) { setTimeout(() => { if (PLAN.ID == 0) return; - EmailService.sendPurchaseEmail(user.email, project.name); + if (isNewSubscription) EmailService.sendPurchaseEmail(user.email, project.name); }, 1);