+
-
{{ tab.label }}
@@ -24,7 +66,7 @@ const activeTabIndex = ref(0);
-
diff --git a/dashboard/components/LyxUi/Separator.vue b/dashboard/components/LyxUi/Separator.vue
new file mode 100644
index 0000000..560c505
--- /dev/null
+++ b/dashboard/components/LyxUi/Separator.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/Onboarding.vue b/dashboard/components/Onboarding.vue
index 3ccfa18..316ec24 100644
--- a/dashboard/components/Onboarding.vue
+++ b/dashboard/components/Onboarding.vue
@@ -98,7 +98,8 @@ async function saveJobTitle() {
const showOnboarding = computed(() => {
if (route.path === '/login') return false;
if (route.path === '/register') return false;
- if (needsOnboarding.value?.exist === false) return true;
+ if ((needsOnboarding.value as any)?.exist === false) return true;
+ if ((needsOnboarding.value as any)?.exists === false) return true;
})
diff --git a/dashboard/components/admin/Backend.vue b/dashboard/components/admin/Backend.vue
new file mode 100644
index 0000000..510d792
--- /dev/null
+++ b/dashboard/components/admin/Backend.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
Queue size: {{ backendData.queue?.size || 'ERROR' }}
+
Avg consumer time: {{ avgDuration.toFixed(1) }} ms
+
Avg processed/s: {{ (1000 / avgDuration).toFixed(1) }}
+
+
+
+
+
Refresh
+
+
+
+ Loading...
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/Feedbacks.vue b/dashboard/components/admin/Feedbacks.vue
new file mode 100644
index 0000000..fc10d70
--- /dev/null
+++ b/dashboard/components/admin/Feedbacks.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
{{ feedback.user[0]?.email || 'DELETED USER' }}
+
{{ feedback.project[0]?.name || 'DELETED PROJECT' }}
+
+ {{ feedback.text }}
+
+
+
+
+
Loading...
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/MiniChart.vue b/dashboard/components/admin/MiniChart.vue
new file mode 100644
index 0000000..1c48efb
--- /dev/null
+++ b/dashboard/components/admin/MiniChart.vue
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ errorData.text }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/Onboardings.vue b/dashboard/components/admin/Onboardings.vue
new file mode 100644
index 0000000..b1de315
--- /dev/null
+++ b/dashboard/components/admin/Onboardings.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
Anaytics
+
+
{{ e._id }}
+
{{ e.count }}
+
+
+
+
+
Jobs
+
+
{{ e._id }}
+
{{ e.count }}
+
+
+
+
+
+
+
+
Loading...
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/Overview.vue b/dashboard/components/admin/Overview.vue
new file mode 100644
index 0000000..23e5a21
--- /dev/null
+++ b/dashboard/components/admin/Overview.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Page {{ page }}
+
{{ Math.min(limit, projectsInfo?.count || 0) }} of {{ projectsInfo?.count || 0
+ }}
+
+
+
+
+
+
+
+
+
+
+ {{ selected.start.toLocaleDateString() }} - {{ selected.end.toLocaleDateString() }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/Users.vue b/dashboard/components/admin/Users.vue
new file mode 100644
index 0000000..ce77622
--- /dev/null
+++ b/dashboard/components/admin/Users.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Page {{ page }}
+
+ {{ Math.min(limit, usersInfo?.count || 0) }}
+ of
+ {{ usersInfo?.count || 0 }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/backend/LineChart.vue b/dashboard/components/admin/backend/LineChart.vue
new file mode 100644
index 0000000..b520b0e
--- /dev/null
+++ b/dashboard/components/admin/backend/LineChart.vue
@@ -0,0 +1,132 @@
+
+
+
+
+
+
ERROR CREATING CHART
+
+
+
diff --git a/dashboard/components/admin/dialog/ProjectDetails.vue b/dashboard/components/admin/dialog/ProjectDetails.vue
new file mode 100644
index 0000000..7f7667c
--- /dev/null
+++ b/dashboard/components/admin/dialog/ProjectDetails.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+ Refresh
+
+
+
+
+
+
+
Domains:
+
+
+
+
+ {{ domain._id }}
+
+
+
+
+
+
+
+
+
+ Loading...
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/onboarding/PieChart.vue b/dashboard/components/admin/onboarding/PieChart.vue
new file mode 100644
index 0000000..d65c0f8
--- /dev/null
+++ b/dashboard/components/admin/onboarding/PieChart.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard/components/admin/overview/ProjectCard.vue b/dashboard/components/admin/overview/ProjectCard.vue
new file mode 100644
index 0000000..1dc826b
--- /dev/null
+++ b/dashboard/components/admin/overview/ProjectCard.vue
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/admin/users/UserCard.vue b/dashboard/components/admin/users/UserCard.vue
new file mode 100644
index 0000000..bcb0eb1
--- /dev/null
+++ b/dashboard/components/admin/users/UserCard.vue
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/dashboard/CountCard.vue b/dashboard/components/dashboard/CountCard.vue
index f435d06..ca74e5a 100644
--- a/dashboard/components/dashboard/CountCard.vue
+++ b/dashboard/components/dashboard/CountCard.vue
@@ -52,7 +52,7 @@ const { showDrawer } = useDrawer();
-
Can be very slow on large timeframes
+
diff --git a/dashboard/components/dashboard/TopCards.vue b/dashboard/components/dashboard/TopCards.vue
index b5c2b82..1c40339 100644
--- a/dashboard/components/dashboard/TopCards.vue
+++ b/dashboard/components/dashboard/TopCards.vue
@@ -96,7 +96,7 @@ const todayIndex = computed(() => {
-
+
@@ -26,13 +28,23 @@ const isDark = computed({
+
+ Timeframe:
+ {{new Date(safeSnapshotDates.from).toLocaleDateString()}}
+ to
+ {{new Date(safeSnapshotDates.to).toLocaleDateString()}}
+
+
+
+
+ class="flex gap-2 items-center cursor-pointer outline-[1px] outline-lyx-widget-lighter p-1 px-3 rounded-md outline">
Feedback
+
Help
Docs
diff --git a/dashboard/components/selector/DomainSelector.vue b/dashboard/components/selector/DomainSelector.vue
index d97e441..529fd11 100644
--- a/dashboard/components/selector/DomainSelector.vue
+++ b/dashboard/components/selector/DomainSelector.vue
@@ -40,9 +40,12 @@ function onChange(e: string) {
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/selector/ProjectSelector.vue b/dashboard/components/selector/ProjectSelector.vue
index 93b4988..be72d4a 100644
--- a/dashboard/components/selector/ProjectSelector.vue
+++ b/dashboard/components/selector/ProjectSelector.vue
@@ -16,7 +16,7 @@ function isProjectMine(owner?: string) {
function onChange(e: TProject) {
actions.setActiveProject(e._id.toString());
- setActiveDomain('ALL DOMAINS');
+ setActiveDomain('All domains');
}
diff --git a/dashboard/composables/snapshots/BaseSnapshots.ts b/dashboard/composables/snapshots/BaseSnapshots.ts
index 939e2e2..c1efc02 100644
--- a/dashboard/composables/snapshots/BaseSnapshots.ts
+++ b/dashboard/composables/snapshots/BaseSnapshots.ts
@@ -76,8 +76,8 @@ export function getDefaultSnapshots(project_id: TProjectSnapshot['project_id'],
project_id,
_id: '___allTime' as any,
name: 'All Time',
- from: fns.addMinutes(fns.startOfMonth(new Date(project_created_at.toString())), 0),
- to: new Date(Date.now()),
+ from: fns.addMinutes(fns.startOfMonth(new Date(project_created_at.toString())), -new Date().getTimezoneOffset()),
+ to: fns.addMilliseconds(fns.endOfDay(Date.now()), 1),
color: '#9362FF',
default: true
}
diff --git a/dashboard/composables/ui/useSelectMenuStyle.ts b/dashboard/composables/ui/useSelectMenuStyle.ts
new file mode 100644
index 0000000..b73a587
--- /dev/null
+++ b/dashboard/composables/ui/useSelectMenuStyle.ts
@@ -0,0 +1,13 @@
+
+export function useSelectMenuStyle() {
+ return {
+ uiMenu: {
+ select: 'bg-lyx-lightmode-widget-light !ring-lyx-lightmode-widget dark:!bg-lyx-widget-light !shadow-none focus:!ring-lyx-widget-lighter dark:!ring-lyx-widget-lighter',
+ base: '!bg-lyx-lightmode-widget dark:!bg-lyx-widget',
+ option: {
+ base: 'hover:!bg-lyx-lightmode-widget-light dark:hover:!bg-lyx-widget-lighter cursor-pointer',
+ active: '!bg-lyx-lightmode-widget-light dark:!bg-lyx-widget-lighter'
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/dashboard/composables/useDomain.ts b/dashboard/composables/useDomain.ts
index 15e4fd1..fac7e26 100644
--- a/dashboard/composables/useDomain.ts
+++ b/dashboard/composables/useDomain.ts
@@ -21,7 +21,7 @@ const refreshingDomains = computed(() => domainsRequest.pending.value);
const domainList = computed(() => {
return [
{
- _id: 'ALL DOMAINS', visits: domainsRequest.data.value?.reduce((a, e) => a + e.visits, 0)
+ _id: 'All domains', visits: domainsRequest.data.value?.reduce((a, e) => a + e.visits, 0)
},
...(domainsRequest.data.value?.sort((a, b) => b.visits - a.visits) || [])
]
diff --git a/dashboard/layouts/dashboard.vue b/dashboard/layouts/dashboard.vue
index 5e107a5..4c6a9a0 100644
--- a/dashboard/layouts/dashboard.vue
+++ b/dashboard/layouts/dashboard.vue
@@ -83,7 +83,7 @@ const { isOpen, close, open } = useMenu();