From 5c59e55e5309a1ae3e24ad2eac59ee3a991e65f4 Mon Sep 17 00:00:00 2001 From: Joel Jacob Stephen <70131076+JoelJacobStephen@users.noreply.github.com> Date: Mon, 19 Feb 2024 13:22:41 +0530 Subject: [PATCH] feat: new data analytics page to show admins on first login --- .../assets/images/hoppscotch-title.svg | 16 ++++ .../hoppscotch-sh-admin/src/components.d.ts | 89 +++++++++---------- .../hoppscotch-sh-admin/src/pages/data.vue | 76 ++++++++++++++++ 3 files changed, 136 insertions(+), 45 deletions(-) create mode 100644 packages/hoppscotch-sh-admin/assets/images/hoppscotch-title.svg create mode 100644 packages/hoppscotch-sh-admin/src/pages/data.vue diff --git a/packages/hoppscotch-sh-admin/assets/images/hoppscotch-title.svg b/packages/hoppscotch-sh-admin/assets/images/hoppscotch-title.svg new file mode 100644 index 000000000..b33ed65bd --- /dev/null +++ b/packages/hoppscotch-sh-admin/assets/images/hoppscotch-title.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/packages/hoppscotch-sh-admin/src/components.d.ts b/packages/hoppscotch-sh-admin/src/components.d.ts index 8deeb2b83..e1e6f522b 100644 --- a/packages/hoppscotch-sh-admin/src/components.d.ts +++ b/packages/hoppscotch-sh-admin/src/components.d.ts @@ -1,54 +1,53 @@ // generated by unplugin-vue-components // We suggest you to commit this file into source control // Read more: https://github.com/vuejs/core/pull/3399 -import '@vue/runtime-core'; +import '@vue/runtime-core' -export {}; +export {} declare module '@vue/runtime-core' { export interface GlobalComponents { - AppHeader: typeof import('./components/app/Header.vue')['default']; - AppLogin: typeof import('./components/app/Login.vue')['default']; - AppLogout: typeof import('./components/app/Logout.vue')['default']; - AppModal: typeof import('./components/app/Modal.vue')['default']; - AppSidebar: typeof import('./components/app/Sidebar.vue')['default']; - AppToast: typeof import('./components/app/Toast.vue')['default']; - DashboardMetricsCard: typeof import('./components/dashboard/MetricsCard.vue')['default']; - HoppButtonPrimary: typeof import('@hoppscotch/ui')['HoppButtonPrimary']; - HoppButtonSecondary: typeof import('@hoppscotch/ui')['HoppButtonSecondary']; - HoppSmartAnchor: typeof import('@hoppscotch/ui')['HoppSmartAnchor']; - HoppSmartAutoComplete: typeof import('@hoppscotch/ui')['HoppSmartAutoComplete']; - HoppSmartConfirmModal: typeof import('@hoppscotch/ui')['HoppSmartConfirmModal']; - HoppSmartInput: typeof import('@hoppscotch/ui')['HoppSmartInput']; - HoppSmartItem: typeof import('@hoppscotch/ui')['HoppSmartItem']; - HoppSmartModal: typeof import('@hoppscotch/ui')['HoppSmartModal']; - HoppSmartPicture: typeof import('@hoppscotch/ui')['HoppSmartPicture']; - HoppSmartPlaceholder: typeof import('@hoppscotch/ui')['HoppSmartPlaceholder']; - HoppSmartSelectWrapper: typeof import('@hoppscotch/ui')['HoppSmartSelectWrapper']; - HoppSmartSpinner: typeof import('@hoppscotch/ui')['HoppSmartSpinner']; - HoppSmartTab: typeof import('@hoppscotch/ui')['HoppSmartTab']; - HoppSmartTable: typeof import('@hoppscotch/ui')['HoppSmartTable']; - HoppSmartTabs: typeof import('@hoppscotch/ui')['HoppSmartTabs']; - HoppSmartToggle: typeof import('@hoppscotch/ui')['HoppSmartToggle']; - IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default']; - IconLucideChevronDown: typeof import('~icons/lucide/chevron-down')['default']; - IconLucideHelpCircle: typeof import('~icons/lucide/help-circle')['default']; - IconLucideInbox: typeof import('~icons/lucide/inbox')['default']; - IconLucideUser: typeof import('~icons/lucide/user')['default']; - SettingsAuthProvider: typeof import('./components/settings/AuthProvider.vue')['default']; - SettingsConfigurations: typeof import('./components/settings/Configurations.vue')['default']; - SettingsReset: typeof import('./components/settings/Reset.vue')['default']; - SettingsServerRestart: typeof import('./components/settings/ServerRestart.vue')['default']; - SettingsSmtpConfiguration: typeof import('./components/settings/SmtpConfiguration.vue')['default']; - TeamsAdd: typeof import('./components/teams/Add.vue')['default']; - TeamsDetails: typeof import('./components/teams/Details.vue')['default']; - TeamsInvite: typeof import('./components/teams/Invite.vue')['default']; - TeamsMembers: typeof import('./components/teams/Members.vue')['default']; - TeamsPendingInvites: typeof import('./components/teams/PendingInvites.vue')['default']; - Tippy: typeof import('vue-tippy')['Tippy']; - UiAutoResetIcon: typeof import('./components/ui/AutoResetIcon.vue')['default']; - UsersDetails: typeof import('./components/users/Details.vue')['default']; - UsersInviteModal: typeof import('./components/users/InviteModal.vue')['default']; - UsersSharedRequests: typeof import('./components/users/SharedRequests.vue')['default']; + AppHeader: typeof import('./components/app/Header.vue')['default'] + AppLogin: typeof import('./components/app/Login.vue')['default'] + AppLogout: typeof import('./components/app/Logout.vue')['default'] + AppModal: typeof import('./components/app/Modal.vue')['default'] + AppSidebar: typeof import('./components/app/Sidebar.vue')['default'] + AppToast: typeof import('./components/app/Toast.vue')['default'] + DashboardMetricsCard: typeof import('./components/dashboard/MetricsCard.vue')['default'] + HoppButtonPrimary: typeof import('@hoppscotch/ui')['HoppButtonPrimary'] + HoppButtonSecondary: typeof import('@hoppscotch/ui')['HoppButtonSecondary'] + HoppSmartAnchor: typeof import('@hoppscotch/ui')['HoppSmartAnchor'] + HoppSmartAutoComplete: typeof import('@hoppscotch/ui')['HoppSmartAutoComplete'] + HoppSmartConfirmModal: typeof import('@hoppscotch/ui')['HoppSmartConfirmModal'] + HoppSmartInput: typeof import('@hoppscotch/ui')['HoppSmartInput'] + HoppSmartItem: typeof import('@hoppscotch/ui')['HoppSmartItem'] + HoppSmartLink: typeof import('@hoppscotch/ui')['HoppSmartLink'] + HoppSmartModal: typeof import('@hoppscotch/ui')['HoppSmartModal'] + HoppSmartPicture: typeof import('@hoppscotch/ui')['HoppSmartPicture'] + HoppSmartSpinner: typeof import('@hoppscotch/ui')['HoppSmartSpinner'] + HoppSmartTab: typeof import('@hoppscotch/ui')['HoppSmartTab'] + HoppSmartTable: typeof import('@hoppscotch/ui')['HoppSmartTable'] + HoppSmartTabs: typeof import('@hoppscotch/ui')['HoppSmartTabs'] + HoppSmartToggle: typeof import('@hoppscotch/ui')['HoppSmartToggle'] + IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] + IconLucideChevronDown: typeof import('~icons/lucide/chevron-down')['default'] + IconLucideInbox: typeof import('~icons/lucide/inbox')['default'] + IconLucideUser: typeof import('~icons/lucide/user')['default'] + SettingsAuthProvider: typeof import('./components/settings/AuthProvider.vue')['default'] + SettingsConfigurations: typeof import('./components/settings/Configurations.vue')['default'] + SettingsReset: typeof import('./components/settings/Reset.vue')['default'] + SettingsServerRestart: typeof import('./components/settings/ServerRestart.vue')['default'] + SettingsSmtpConfiguration: typeof import('./components/settings/SmtpConfiguration.vue')['default'] + TeamsAdd: typeof import('./components/teams/Add.vue')['default'] + TeamsDetails: typeof import('./components/teams/Details.vue')['default'] + TeamsInvite: typeof import('./components/teams/Invite.vue')['default'] + TeamsMembers: typeof import('./components/teams/Members.vue')['default'] + TeamsPendingInvites: typeof import('./components/teams/PendingInvites.vue')['default'] + Tippy: typeof import('vue-tippy')['Tippy'] + UiAutoResetIcon: typeof import('./components/ui/AutoResetIcon.vue')['default'] + UsersDetails: typeof import('./components/users/Details.vue')['default'] + UsersInviteModal: typeof import('./components/users/InviteModal.vue')['default'] + UsersSharedRequests: typeof import('./components/users/SharedRequests.vue')['default'] } + } diff --git a/packages/hoppscotch-sh-admin/src/pages/data.vue b/packages/hoppscotch-sh-admin/src/pages/data.vue new file mode 100644 index 000000000..45690d303 --- /dev/null +++ b/packages/hoppscotch-sh-admin/src/pages/data.vue @@ -0,0 +1,76 @@ + + + + Welcome to + + + + + + Make Hoppscotch Better + + Share anonymous data usage to improve Hoppscotch + + + Share data and make Hoppscotch better + + + + + Stay in Touch + Get updates about our latest news + + Get updates about the latest at Hoppscotch + + + + + + + + + + + + + + + + + + + +meta: + layout: empty +
Make Hoppscotch Better
+ Share anonymous data usage to improve Hoppscotch +
Stay in Touch
Get updates about our latest news