From 8525188e421f7e0645b5f0be8a37dc9f38d5591c Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 5 Feb 2025 15:59:59 -0800 Subject: [PATCH] Changed import path. --- .eslintrc.json | 7 -- src/app/(main)/App.tsx | 2 +- src/app/(main)/NavBar.tsx | 16 +-- src/app/(main)/UpdateNotice.tsx | 8 +- src/app/(main)/console/TestConsole.tsx | 10 +- src/app/(main)/dashboard/DashboardEdit.tsx | 4 +- src/app/(main)/dashboard/DashboardPage.tsx | 16 +-- .../dashboard/DashboardSettingsButton.tsx | 6 +- src/app/(main)/layout.tsx | 2 +- src/app/(main)/profile/DateRangeSetting.tsx | 8 +- src/app/(main)/profile/LanguageSetting.tsx | 6 +- .../(main)/profile/PasswordChangeButton.tsx | 6 +- src/app/(main)/profile/PasswordEditForm.tsx | 2 +- src/app/(main)/profile/ProfileHeader.tsx | 4 +- src/app/(main)/profile/ProfileSettings.tsx | 12 +- src/app/(main)/profile/ThemeSetting.tsx | 6 +- src/app/(main)/profile/TimezoneSetting.tsx | 4 +- src/app/(main)/reports/ReportDeleteButton.tsx | 4 +- src/app/(main)/reports/ReportsDataTable.tsx | 4 +- src/app/(main)/reports/ReportsHeader.tsx | 8 +- src/app/(main)/reports/ReportsPage.tsx | 2 +- src/app/(main)/reports/ReportsTable.tsx | 6 +- .../reports/[reportId]/BaseParameters.tsx | 8 +- .../reports/[reportId]/FieldAddForm.tsx | 2 +- .../reports/[reportId]/FieldAggregateForm.tsx | 2 +- .../[reportId]/FieldFilterEditForm.tsx | 12 +- .../reports/[reportId]/FieldParameters.tsx | 4 +- .../reports/[reportId]/FieldSelectForm.tsx | 2 +- .../reports/[reportId]/FilterParameters.tsx | 6 +- .../reports/[reportId]/ParameterList.tsx | 6 +- src/app/(main)/reports/[reportId]/Report.tsx | 2 +- .../reports/[reportId]/ReportHeader.tsx | 6 +- .../(main)/reports/[reportId]/ReportPage.tsx | 2 +- .../(main)/reports/create/ReportTemplates.tsx | 18 +-- .../event-data/EventDataParameters.tsx | 8 +- .../reports/event-data/EventDataReport.tsx | 2 +- .../reports/event-data/EventDataTable.tsx | 2 +- src/app/(main)/reports/funnel/FunnelChart.tsx | 4 +- .../reports/funnel/FunnelParameters.tsx | 4 +- .../(main)/reports/funnel/FunnelReport.tsx | 4 +- .../reports/funnel/FunnelStepAddForm.tsx | 2 +- src/app/(main)/reports/goals/GoalsAddForm.tsx | 2 +- src/app/(main)/reports/goals/GoalsChart.tsx | 4 +- .../(main)/reports/goals/GoalsParameters.tsx | 6 +- src/app/(main)/reports/goals/GoalsReport.tsx | 4 +- .../reports/insights/InsightsParameters.tsx | 2 +- .../reports/insights/InsightsReport.tsx | 4 +- .../(main)/reports/insights/InsightsTable.tsx | 6 +- .../reports/journey/JourneyParameters.tsx | 2 +- .../(main)/reports/journey/JourneyReport.tsx | 4 +- .../(main)/reports/journey/JourneyView.tsx | 6 +- .../reports/retention/RetentionParameters.tsx | 6 +- .../reports/retention/RetentionReport.tsx | 6 +- .../reports/retention/RetentionTable.tsx | 6 +- .../reports/revenue/RevenueParameters.tsx | 4 +- .../(main)/reports/revenue/RevenueReport.tsx | 4 +- .../(main)/reports/revenue/RevenueTable.tsx | 6 +- .../(main)/reports/revenue/RevenueView.tsx | 22 ++-- src/app/(main)/reports/utm/UTMParameters.tsx | 2 +- src/app/(main)/reports/utm/UTMReport.tsx | 4 +- src/app/(main)/reports/utm/UTMView.tsx | 8 +- src/app/(main)/settings/SettingsLayout.tsx | 4 +- src/app/(main)/settings/teams/TeamAddForm.tsx | 2 +- .../(main)/settings/teams/TeamJoinForm.tsx | 2 +- .../(main)/settings/teams/TeamLeaveButton.tsx | 2 +- .../(main)/settings/teams/TeamLeaveForm.tsx | 4 +- .../(main)/settings/teams/TeamsAddButton.tsx | 6 +- .../(main)/settings/teams/TeamsDataTable.tsx | 6 +- src/app/(main)/settings/teams/TeamsHeader.tsx | 6 +- .../(main)/settings/teams/TeamsJoinButton.tsx | 4 +- src/app/(main)/settings/teams/TeamsTable.tsx | 8 +- .../(main)/settings/users/UserAddButton.tsx | 2 +- src/app/(main)/settings/users/UserAddForm.tsx | 4 +- .../settings/users/UserDeleteButton.tsx | 2 +- .../(main)/settings/users/UserDeleteForm.tsx | 4 +- .../(main)/settings/users/UsersDataTable.tsx | 4 +- src/app/(main)/settings/users/UsersHeader.tsx | 4 +- src/app/(main)/settings/users/UsersTable.tsx | 6 +- .../settings/users/[userId]/UserEditForm.tsx | 4 +- .../settings/users/[userId]/UserProvider.tsx | 2 +- .../settings/users/[userId]/UserSettings.tsx | 8 +- .../settings/users/[userId]/UserWebsites.tsx | 6 +- .../settings/websites/WebsiteAddButton.tsx | 2 +- .../settings/websites/WebsiteAddForm.tsx | 6 +- .../settings/websites/WebsitesDataTable.tsx | 6 +- .../settings/websites/WebsitesHeader.tsx | 4 +- .../websites/WebsitesSettingsPage.tsx | 4 +- .../settings/websites/WebsitesTable.tsx | 4 +- .../websites/[websiteId]/ShareUrl.tsx | 6 +- .../websites/[websiteId]/TrackingCode.tsx | 2 +- .../websites/[websiteId]/WebsiteData.tsx | 4 +- .../[websiteId]/WebsiteDeleteForm.tsx | 4 +- .../websites/[websiteId]/WebsiteEditForm.tsx | 6 +- .../websites/[websiteId]/WebsiteResetForm.tsx | 4 +- .../websites/[websiteId]/WebsiteSettings.tsx | 10 +- .../[websiteId]/WebsiteSettingsPage.tsx | 2 +- .../[websiteId]/WebsiteTransferForm.tsx | 9 +- .../(main)/teams/[teamId]/TeamProvider.tsx | 2 +- .../[teamId]/settings/TeamSettingsLayout.tsx | 4 +- .../settings/members/TeamMemberEditButton.tsx | 2 +- .../settings/members/TeamMemberEditForm.tsx | 4 +- .../members/TeamMemberRemoveButton.tsx | 6 +- .../settings/members/TeamMembersDataTable.tsx | 4 +- .../settings/members/TeamMembersPage.tsx | 8 +- .../settings/members/TeamMembersTable.tsx | 4 +- .../[teamId]/settings/team/TeamDeleteForm.tsx | 4 +- .../[teamId]/settings/team/TeamDetails.tsx | 12 +- .../[teamId]/settings/team/TeamEditForm.tsx | 6 +- .../[teamId]/settings/team/TeamManage.tsx | 2 +- .../websites/TeamWebsiteRemoveButton.tsx | 2 +- .../websites/TeamWebsitesDataTable.tsx | 4 +- .../settings/websites/TeamWebsitesPage.tsx | 10 +- .../settings/websites/TeamWebsitesTable.tsx | 6 +- .../settings/websites/[websiteId]/page.tsx | 2 +- src/app/(main)/websites/WebsitesPage.tsx | 6 +- .../websites/[websiteId]/WebsiteChart.tsx | 6 +- .../websites/[websiteId]/WebsiteChartList.tsx | 4 +- .../[websiteId]/WebsiteDetailsPage.tsx | 6 +- .../[websiteId]/WebsiteExpandedView.tsx | 41 ++++--- .../[websiteId]/WebsiteFilterButton.tsx | 8 +- .../websites/[websiteId]/WebsiteHeader.tsx | 10 +- .../[websiteId]/WebsiteMetricsBar.tsx | 20 ++-- .../websites/[websiteId]/WebsiteProvider.tsx | 2 +- .../websites/[websiteId]/WebsiteTableView.tsx | 20 ++-- .../compare/WebsiteComparePage.tsx | 6 +- .../compare/WebsiteCompareTables.tsx | 42 +++---- .../[websiteId]/events/EventProperties.tsx | 8 +- .../[websiteId]/events/EventsDataTable.tsx | 4 +- .../[websiteId]/events/EventsMetricsBar.tsx | 12 +- .../[websiteId]/events/EventsPage.tsx | 8 +- .../[websiteId]/events/EventsTable.tsx | 8 +- .../(main)/websites/[websiteId]/layout.tsx | 2 +- .../realtime/RealtimeCountries.tsx | 6 +- .../[websiteId]/realtime/RealtimeHeader.tsx | 6 +- .../[websiteId]/realtime/RealtimeHome.tsx | 8 +- .../[websiteId]/realtime/RealtimeLog.tsx | 16 +-- .../[websiteId]/realtime/RealtimeUrls.tsx | 10 +- .../realtime/WebsiteRealtimePage.tsx | 12 +- .../reports/WebsiteReportsPage.tsx | 4 +- .../sessions/SessionProperties.tsx | 8 +- .../sessions/SessionsDataTable.tsx | 4 +- .../sessions/SessionsMetricsBar.tsx | 12 +- .../[websiteId]/sessions/SessionsPage.tsx | 6 +- .../[websiteId]/sessions/SessionsTable.tsx | 6 +- .../[websiteId]/sessions/SessionsWeekly.tsx | 6 +- .../sessions/[sessionId]/SessionActivity.tsx | 4 +- .../sessions/[sessionId]/SessionData.tsx | 8 +- .../[sessionId]/SessionDetailsPage.tsx | 6 +- .../sessions/[sessionId]/SessionInfo.tsx | 6 +- .../sessions/[sessionId]/SessionStats.tsx | 8 +- src/app/Providers.tsx | 4 +- src/app/api/admin/users/route.ts | 10 +- src/app/api/admin/websites/route.ts | 12 +- src/app/api/auth/login/route.ts | 16 +-- src/app/api/auth/logout/route.ts | 2 +- src/app/api/auth/sso/route.ts | 6 +- src/app/api/auth/verify/route.ts | 4 +- src/app/api/me/password/route.ts | 8 +- src/app/api/me/route.ts | 4 +- src/app/api/me/teams/route.ts | 8 +- src/app/api/me/websites/route.ts | 8 +- src/app/api/realtime/[websiteId]/route.ts | 10 +- src/app/api/reports/[reportId]/route.ts | 10 +- src/app/api/reports/funnel/route.ts | 10 +- src/app/api/reports/goals/route.ts | 10 +- src/app/api/reports/insights/route.ts | 10 +- src/app/api/reports/journey/route.ts | 10 +- src/app/api/reports/retention/route.ts | 10 +- src/app/api/reports/revenue/route.ts | 12 +- src/app/api/reports/route.ts | 12 +- src/app/api/reports/utm/route.ts | 10 +- src/app/api/scripts/telemetry/route.ts | 2 +- src/app/api/send/route.ts | 20 ++-- src/app/api/share/[shareId]/route.ts | 8 +- src/app/api/teams/[teamId]/route.ts | 8 +- .../teams/[teamId]/users/[userId]/route.ts | 8 +- src/app/api/teams/[teamId]/users/route.ts | 10 +- src/app/api/teams/[teamId]/websites/route.ts | 10 +- src/app/api/teams/join/route.ts | 10 +- src/app/api/teams/route.ts | 12 +- src/app/api/users/[userId]/route.ts | 10 +- src/app/api/users/[userId]/teams/route.ts | 8 +- src/app/api/users/[userId]/usage/route.ts | 10 +- src/app/api/users/[userId]/websites/route.ts | 8 +- src/app/api/users/route.ts | 12 +- src/app/api/version/route.ts | 4 +- .../api/websites/[websiteId]/active/route.ts | 8 +- .../websites/[websiteId]/daterange/route.ts | 8 +- .../[websiteId]/event-data/events/route.ts | 8 +- .../[websiteId]/event-data/fields/route.ts | 8 +- .../event-data/properties/route.ts | 8 +- .../[websiteId]/event-data/stats/route.ts | 8 +- .../[websiteId]/event-data/values/route.ts | 8 +- .../api/websites/[websiteId]/events/route.ts | 10 +- .../[websiteId]/events/series/route.ts | 10 +- .../api/websites/[websiteId]/metrics/route.ts | 12 +- .../websites/[websiteId]/pageviews/route.ts | 12 +- .../api/websites/[websiteId]/reports/route.ts | 10 +- .../api/websites/[websiteId]/reset/route.ts | 8 +- src/app/api/websites/[websiteId]/route.ts | 10 +- .../session-data/properties/route.ts | 8 +- .../[websiteId]/session-data/values/route.ts | 8 +- .../sessions/[sessionId]/activity/route.ts | 8 +- .../sessions/[sessionId]/properties/route.ts | 8 +- .../[websiteId]/sessions/[sessionId]/route.ts | 8 +- .../websites/[websiteId]/sessions/route.ts | 10 +- .../[websiteId]/sessions/stats/route.ts | 10 +- .../[websiteId]/sessions/weekly/route.ts | 10 +- .../api/websites/[websiteId]/stats/route.ts | 12 +- .../websites/[websiteId]/transfer/route.ts | 8 +- .../api/websites/[websiteId]/values/route.ts | 10 +- src/app/api/websites/route.ts | 12 +- src/app/layout.tsx | 4 +- src/app/login/LoginForm.tsx | 8 +- src/app/logout/LogoutPage.tsx | 6 +- src/app/not-found.tsx | 2 +- src/app/share/[...shareId]/Footer.tsx | 2 +- src/app/share/[...shareId]/Header.module.css | 4 - src/app/share/[...shareId]/Header.tsx | 8 +- src/app/share/[...shareId]/SharePage.tsx | 6 +- src/app/sso/SSOPage.tsx | 2 +- src/components/charts/BarChart.tsx | 8 +- src/components/charts/BarChartTooltip.tsx | 6 +- src/components/charts/BubbleChart.tsx | 4 +- src/components/charts/Chart.tsx | 6 +- src/components/charts/PieChart.tsx | 4 +- src/components/common/Avatar.tsx | 2 +- src/components/common/ConfirmationForm.tsx | 2 +- src/components/common/DataTable.tsx | 10 +- src/components/common/Empty.tsx | 2 +- src/components/common/EmptyPlaceholder.tsx | 2 +- src/components/common/ErrorBoundary.tsx | 2 +- src/components/common/ErrorMessage.tsx | 2 +- src/components/common/FilterLink.tsx | 2 +- src/components/common/LinkButton.tsx | 4 +- src/components/common/LoadingPanel.tsx | 4 +- src/components/common/Pager.tsx | 2 +- .../common/TypeConfirmationForm.tsx | 2 +- src/components/hooks/queries/useConfig.ts | 4 +- src/components/hooks/queries/useLogin.ts | 2 +- src/components/hooks/queries/useRealtime.ts | 6 +- src/components/hooks/queries/useShareToken.ts | 2 +- .../hooks/queries/useWebsiteSessions.ts | 2 +- .../hooks/queries/useWebsiteSessionsWeekly.ts | 2 +- .../hooks/queries/useWebsiteValues.ts | 2 +- src/components/hooks/useApi.ts | 8 +- src/components/hooks/useCountryNames.ts | 2 +- src/components/hooks/useDateRange.ts | 12 +- src/components/hooks/useFilters.ts | 2 +- src/components/hooks/useFormat.ts | 2 +- src/components/hooks/useLanguageNames.ts | 2 +- src/components/hooks/useLocale.ts | 10 +- src/components/hooks/useMessages.ts | 2 +- src/components/hooks/useModified.ts | 2 +- src/components/hooks/useNavigation.ts | 2 +- src/components/hooks/usePagedQuery.ts | 2 +- src/components/hooks/useTheme.ts | 6 +- src/components/hooks/useTimezone.ts | 6 +- src/components/icons.ts | 52 ++++----- src/components/input/DateFilter.tsx | 8 +- src/components/input/LanguageButton.tsx | 6 +- src/components/input/LogoutButton.tsx | 2 +- src/components/input/MonthSelect.tsx | 6 +- src/components/input/ProfileButton.tsx | 6 +- src/components/input/RefreshButton.tsx | 8 +- src/components/input/SettingsButton.tsx | 8 +- src/components/input/TeamsButton.tsx | 4 +- src/components/input/ThemeButton.tsx | 6 +- src/components/input/WebsiteDateFilter.tsx | 6 +- src/components/input/WebsiteSelect.tsx | 4 +- src/components/layout/MenuLayout.tsx | 2 +- src/components/layout/NavGroup.module.css | 5 - src/components/layout/NavGroup.tsx | 2 +- src/components/layout/Page.tsx | 2 +- src/components/messages.ts | 1 + src/components/metrics/ActiveUsers.tsx | 4 +- src/components/metrics/BrowsersTable.tsx | 10 +- src/components/metrics/ChannelsTable.tsx | 17 +++ src/components/metrics/CitiesTable.tsx | 8 +- src/components/metrics/CountriesTable.tsx | 8 +- src/components/metrics/DatePickerForm.tsx | 6 +- src/components/metrics/DevicesTable.tsx | 8 +- src/components/metrics/EventsChart.tsx | 8 +- src/components/metrics/EventsTable.tsx | 2 +- src/components/metrics/FilterTags.tsx | 12 +- src/components/metrics/HostsTable.tsx | 4 +- src/components/metrics/LanguagesTable.tsx | 8 +- src/components/metrics/ListTable.tsx | 6 +- src/components/metrics/MetricCard.tsx | 4 +- src/components/metrics/MetricsBar.tsx | 4 +- src/components/metrics/MetricsTable.tsx | 12 +- src/components/metrics/OSTable.tsx | 6 +- src/components/metrics/PagesTable.tsx | 10 +- src/components/metrics/PageviewsChart.tsx | 6 +- .../metrics/QueryParametersTable.tsx | 8 +- src/components/metrics/RealtimeChart.tsx | 4 +- src/components/metrics/ReferrersTable.tsx | 6 +- src/components/metrics/RegionsTable.tsx | 8 +- src/components/metrics/ScreenTable.tsx | 2 +- src/components/metrics/TagsTable.tsx | 4 +- src/components/metrics/WorldMap.tsx | 16 +-- src/index.ts | 108 +++++++++--------- src/lib/auth.ts | 10 +- src/lib/charts.ts | 4 +- src/lib/clickhouse.ts | 4 +- src/lib/client.ts | 2 +- src/lib/date.ts | 4 +- src/lib/fetch.ts | 2 +- src/lib/jwt.ts | 2 +- src/lib/kafka.ts | 2 +- src/lib/load.ts | 2 +- src/lib/params.ts | 4 +- src/lib/prisma.ts | 2 +- src/lib/request.ts | 10 +- src/lib/schema.ts | 2 +- .../analytics/events/getEventDataEvents.ts | 8 +- .../analytics/events/getEventDataFields.ts | 8 +- .../events/getEventDataProperties.ts | 8 +- .../analytics/events/getEventDataStats.ts | 8 +- .../analytics/events/getEventDataUsage.ts | 4 +- .../analytics/events/getEventDataValues.ts | 8 +- .../analytics/events/getEventMetrics.ts | 10 +- src/queries/analytics/events/getEventUsage.ts | 4 +- .../analytics/events/getWebsiteEvents.ts | 8 +- src/queries/analytics/events/saveEvent.ts | 12 +- src/queries/analytics/events/saveEventData.ts | 16 +-- src/queries/analytics/getActiveVisitors.ts | 6 +- src/queries/analytics/getRealtimeActivity.ts | 8 +- src/queries/analytics/getRealtimeData.ts | 2 +- src/queries/analytics/getValues.ts | 6 +- src/queries/analytics/getWebsiteDateRange.ts | 8 +- src/queries/analytics/getWebsiteStats.ts | 12 +- .../analytics/pageviews/getPageviewMetrics.ts | 10 +- .../analytics/pageviews/getPageviewStats.ts | 10 +- src/queries/analytics/reports/getFunnel.ts | 6 +- src/queries/analytics/reports/getGoals.ts | 6 +- src/queries/analytics/reports/getInsights.ts | 10 +- src/queries/analytics/reports/getJourney.ts | 6 +- src/queries/analytics/reports/getRetention.ts | 6 +- src/queries/analytics/reports/getRevenue.ts | 6 +- .../analytics/reports/getRevenueValues.ts | 6 +- src/queries/analytics/reports/getUTM.ts | 6 +- .../analytics/sessions/createSession.ts | 2 +- .../analytics/sessions/getSessionActivity.ts | 6 +- .../analytics/sessions/getSessionData.ts | 6 +- .../sessions/getSessionDataProperties.ts | 8 +- .../sessions/getSessionDataValues.ts | 8 +- .../analytics/sessions/getSessionMetrics.ts | 10 +- .../analytics/sessions/getSessionStats.ts | 10 +- .../analytics/sessions/getWebsiteSession.ts | 6 +- .../sessions/getWebsiteSessionStats.ts | 8 +- .../analytics/sessions/getWebsiteSessions.ts | 8 +- .../sessions/getWebsiteSessionsWeekly.ts | 8 +- .../analytics/sessions/saveSessionData.ts | 16 +-- src/queries/index.ts | 10 +- src/queries/prisma/report.ts | 4 +- src/queries/prisma/team.ts | 8 +- src/queries/prisma/teamUser.ts | 6 +- src/queries/prisma/user.ts | 8 +- src/queries/prisma/website.ts | 6 +- src/store/app.ts | 6 +- src/store/dashboard.ts | 4 +- src/store/version.ts | 4 +- src/store/websites.ts | 2 +- tsconfig.json | 14 +-- 365 files changed, 1277 insertions(+), 1267 deletions(-) create mode 100644 src/components/metrics/ChannelsTable.tsx diff --git a/.eslintrc.json b/.eslintrc.json index 691ae90c7..82f6a122d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -13,13 +13,6 @@ "ecmaVersion": 11, "sourceType": "module" }, - "settings": { - "import/resolver": { - "node": { - "moduleDirectory": ["node_modules", "src/"] - } - } - }, "extends": [ "plugin:@typescript-eslint/recommended", "eslint:recommended", diff --git a/src/app/(main)/App.tsx b/src/app/(main)/App.tsx index aca94bc2f..4cbb1c806 100644 --- a/src/app/(main)/App.tsx +++ b/src/app/(main)/App.tsx @@ -2,7 +2,7 @@ import { Loading } from 'react-basics'; import Script from 'next/script'; import { usePathname } from 'next/navigation'; -import { useLogin, useConfig } from 'components/hooks'; +import { useLogin, useConfig } from '@/components/hooks'; import UpdateNotice from './UpdateNotice'; export function App({ children }) { diff --git a/src/app/(main)/NavBar.tsx b/src/app/(main)/NavBar.tsx index a4c706628..147f70854 100644 --- a/src/app/(main)/NavBar.tsx +++ b/src/app/(main)/NavBar.tsx @@ -3,14 +3,14 @@ import { useEffect } from 'react'; import { Icon, Text } from 'react-basics'; import Link from 'next/link'; import classNames from 'classnames'; -import HamburgerButton from 'components/common/HamburgerButton'; -import ThemeButton from 'components/input/ThemeButton'; -import LanguageButton from 'components/input/LanguageButton'; -import ProfileButton from 'components/input/ProfileButton'; -import TeamsButton from 'components/input/TeamsButton'; -import Icons from 'components/icons'; -import { useMessages, useNavigation, useTeamUrl } from 'components/hooks'; -import { getItem, setItem } from 'lib/storage'; +import HamburgerButton from '@/components/common/HamburgerButton'; +import ThemeButton from '@/components/input/ThemeButton'; +import LanguageButton from '@/components/input/LanguageButton'; +import ProfileButton from '@/components/input/ProfileButton'; +import TeamsButton from '@/components/input/TeamsButton'; +import Icons from '@/components/icons'; +import { useMessages, useNavigation, useTeamUrl } from '@/components/hooks'; +import { getItem, setItem } from '@/lib/storage'; import styles from './NavBar.module.css'; export function NavBar() { diff --git a/src/app/(main)/UpdateNotice.tsx b/src/app/(main)/UpdateNotice.tsx index 338d2f148..7504943b0 100644 --- a/src/app/(main)/UpdateNotice.tsx +++ b/src/app/(main)/UpdateNotice.tsx @@ -1,10 +1,10 @@ import { useEffect, useCallback, useState } from 'react'; import { createPortal } from 'react-dom'; import { Button } from 'react-basics'; -import { setItem } from 'lib/storage'; -import useStore, { checkVersion } from 'store/version'; -import { REPO_URL, VERSION_CHECK } from 'lib/constants'; -import { useMessages } from 'components/hooks'; +import { setItem } from '@/lib/storage'; +import useStore, { checkVersion } from '@/store/version'; +import { REPO_URL, VERSION_CHECK } from '@/lib/constants'; +import { useMessages } from '@/components/hooks'; import { usePathname } from 'next/navigation'; import styles from './UpdateNotice.module.css'; diff --git a/src/app/(main)/console/TestConsole.tsx b/src/app/(main)/console/TestConsole.tsx index 6842b26de..21b98df6d 100644 --- a/src/app/(main)/console/TestConsole.tsx +++ b/src/app/(main)/console/TestConsole.tsx @@ -1,12 +1,12 @@ import { Button } from 'react-basics'; import Link from 'next/link'; import Script from 'next/script'; -import WebsiteSelect from 'components/input/WebsiteSelect'; -import Page from 'components/layout/Page'; -import PageHeader from 'components/layout/PageHeader'; -import EventsChart from 'components/metrics/EventsChart'; +import WebsiteSelect from '@/components/input/WebsiteSelect'; +import Page from '@/components/layout/Page'; +import PageHeader from '@/components/layout/PageHeader'; +import EventsChart from '@/components/metrics/EventsChart'; import WebsiteChart from '../websites/[websiteId]/WebsiteChart'; -import { useApi, useNavigation } from 'components/hooks'; +import { useApi, useNavigation } from '@/components/hooks'; import styles from './TestConsole.module.css'; export function TestConsole({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/dashboard/DashboardEdit.tsx b/src/app/(main)/dashboard/DashboardEdit.tsx index 3360aaee2..d15ae1977 100644 --- a/src/app/(main)/dashboard/DashboardEdit.tsx +++ b/src/app/(main)/dashboard/DashboardEdit.tsx @@ -3,8 +3,8 @@ import { DragDropContext, Draggable, Droppable } from '@hello-pangea/dnd'; import classNames from 'classnames'; import { Button, Loading, Toggle, SearchField } from 'react-basics'; import { firstBy } from 'thenby'; -import useDashboard, { saveDashboard } from 'store/dashboard'; -import { useMessages, useWebsites } from 'components/hooks'; +import useDashboard, { saveDashboard } from '@/store/dashboard'; +import { useMessages, useWebsites } from '@/components/hooks'; import styles from './DashboardEdit.module.css'; const DRAG_ID = 'dashboard-website-ordering'; diff --git a/src/app/(main)/dashboard/DashboardPage.tsx b/src/app/(main)/dashboard/DashboardPage.tsx index 2a4bb9165..83b27e095 100644 --- a/src/app/(main)/dashboard/DashboardPage.tsx +++ b/src/app/(main)/dashboard/DashboardPage.tsx @@ -1,14 +1,14 @@ 'use client'; import { Icon, Icons, Loading, Text } from 'react-basics'; -import PageHeader from 'components/layout/PageHeader'; -import Pager from 'components/common/Pager'; +import PageHeader from '@/components/layout/PageHeader'; +import Pager from '@/components/common/Pager'; import WebsiteChartList from '../websites/[websiteId]/WebsiteChartList'; -import DashboardSettingsButton from 'app/(main)/dashboard/DashboardSettingsButton'; -import DashboardEdit from 'app/(main)/dashboard/DashboardEdit'; -import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; -import { useMessages, useLocale, useTeamUrl, useWebsites } from 'components/hooks'; -import useDashboard from 'store/dashboard'; -import LinkButton from 'components/common/LinkButton'; +import DashboardSettingsButton from '@/app/(main)/dashboard/DashboardSettingsButton'; +import DashboardEdit from '@/app/(main)/dashboard/DashboardEdit'; +import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; +import { useMessages, useLocale, useTeamUrl, useWebsites } from '@/components/hooks'; +import useDashboard from '@/store/dashboard'; +import LinkButton from '@/components/common/LinkButton'; export function DashboardPage() { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/dashboard/DashboardSettingsButton.tsx b/src/app/(main)/dashboard/DashboardSettingsButton.tsx index 9e1d3dbc6..1c473a220 100644 --- a/src/app/(main)/dashboard/DashboardSettingsButton.tsx +++ b/src/app/(main)/dashboard/DashboardSettingsButton.tsx @@ -1,7 +1,7 @@ import { TooltipPopup, Icon, Text, Flexbox, Button } from 'react-basics'; -import Icons from 'components/icons'; -import { saveDashboard } from 'store/dashboard'; -import { useMessages } from 'components/hooks'; +import Icons from '@/components/icons'; +import { saveDashboard } from '@/store/dashboard'; +import { useMessages } from '@/components/hooks'; export function DashboardSettingsButton() { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/layout.tsx b/src/app/(main)/layout.tsx index 8e47d7ee2..dd1baec82 100644 --- a/src/app/(main)/layout.tsx +++ b/src/app/(main)/layout.tsx @@ -1,7 +1,7 @@ import { Metadata } from 'next'; import App from './App'; import NavBar from './NavBar'; -import Page from 'components/layout/Page'; +import Page from '@/components/layout/Page'; import styles from './layout.module.css'; export default async function ({ children }) { diff --git a/src/app/(main)/profile/DateRangeSetting.tsx b/src/app/(main)/profile/DateRangeSetting.tsx index 25b5afbd7..37d2ca437 100644 --- a/src/app/(main)/profile/DateRangeSetting.tsx +++ b/src/app/(main)/profile/DateRangeSetting.tsx @@ -1,8 +1,8 @@ -import DateFilter from 'components/input/DateFilter'; +import DateFilter from '@/components/input/DateFilter'; import { Button, Flexbox } from 'react-basics'; -import { useDateRange, useMessages } from 'components/hooks'; -import { DEFAULT_DATE_RANGE } from 'lib/constants'; -import { DateRange } from 'lib/types'; +import { useDateRange, useMessages } from '@/components/hooks'; +import { DEFAULT_DATE_RANGE } from '@/lib/constants'; +import { DateRange } from '@/lib/types'; import styles from './DateRangeSetting.module.css'; export function DateRangeSetting() { diff --git a/src/app/(main)/profile/LanguageSetting.tsx b/src/app/(main)/profile/LanguageSetting.tsx index 41ff3dde2..a47394b33 100644 --- a/src/app/(main)/profile/LanguageSetting.tsx +++ b/src/app/(main)/profile/LanguageSetting.tsx @@ -1,8 +1,8 @@ import { useState } from 'react'; import { Button, Dropdown, Item, Flexbox } from 'react-basics'; -import { useLocale, useMessages } from 'components/hooks'; -import { DEFAULT_LOCALE } from 'lib/constants'; -import { languages } from 'lib/lang'; +import { useLocale, useMessages } from '@/components/hooks'; +import { DEFAULT_LOCALE } from '@/lib/constants'; +import { languages } from '@/lib/lang'; import styles from './LanguageSetting.module.css'; export function LanguageSetting() { diff --git a/src/app/(main)/profile/PasswordChangeButton.tsx b/src/app/(main)/profile/PasswordChangeButton.tsx index 552663ca9..63249a2bd 100644 --- a/src/app/(main)/profile/PasswordChangeButton.tsx +++ b/src/app/(main)/profile/PasswordChangeButton.tsx @@ -1,7 +1,7 @@ import { Button, Icon, Text, useToasts, ModalTrigger, Modal } from 'react-basics'; -import PasswordEditForm from 'app/(main)/profile/PasswordEditForm'; -import Icons from 'components/icons'; -import { useMessages } from 'components/hooks'; +import PasswordEditForm from '@/app/(main)/profile/PasswordEditForm'; +import Icons from '@/components/icons'; +import { useMessages } from '@/components/hooks'; export function PasswordChangeButton() { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/profile/PasswordEditForm.tsx b/src/app/(main)/profile/PasswordEditForm.tsx index 1402efa2d..c352d5165 100644 --- a/src/app/(main)/profile/PasswordEditForm.tsx +++ b/src/app/(main)/profile/PasswordEditForm.tsx @@ -1,6 +1,6 @@ import { useRef } from 'react'; import { Form, FormRow, FormInput, FormButtons, PasswordField, Button } from 'react-basics'; -import { useApi, useMessages } from 'components/hooks'; +import { useApi, useMessages } from '@/components/hooks'; export function PasswordEditForm({ onSave, onClose }) { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/profile/ProfileHeader.tsx b/src/app/(main)/profile/ProfileHeader.tsx index e2d69cc7a..05871fba0 100644 --- a/src/app/(main)/profile/ProfileHeader.tsx +++ b/src/app/(main)/profile/ProfileHeader.tsx @@ -1,5 +1,5 @@ -import PageHeader from 'components/layout/PageHeader'; -import { useMessages } from 'components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; +import { useMessages } from '@/components/hooks'; export function ProfileHeader() { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/profile/ProfileSettings.tsx b/src/app/(main)/profile/ProfileSettings.tsx index 9c7db39fb..f9dfe06dc 100644 --- a/src/app/(main)/profile/ProfileSettings.tsx +++ b/src/app/(main)/profile/ProfileSettings.tsx @@ -1,11 +1,11 @@ import { Form, FormRow } from 'react-basics'; -import TimezoneSetting from 'app/(main)/profile/TimezoneSetting'; -import DateRangeSetting from 'app/(main)/profile/DateRangeSetting'; -import LanguageSetting from 'app/(main)/profile/LanguageSetting'; -import ThemeSetting from 'app/(main)/profile/ThemeSetting'; +import TimezoneSetting from '@/app/(main)/profile/TimezoneSetting'; +import DateRangeSetting from '@/app/(main)/profile/DateRangeSetting'; +import LanguageSetting from '@/app/(main)/profile/LanguageSetting'; +import ThemeSetting from '@/app/(main)/profile/ThemeSetting'; import PasswordChangeButton from './PasswordChangeButton'; -import { useLogin, useMessages } from 'components/hooks'; -import { ROLES } from 'lib/constants'; +import { useLogin, useMessages } from '@/components/hooks'; +import { ROLES } from '@/lib/constants'; export function ProfileSettings() { const { user } = useLogin(); diff --git a/src/app/(main)/profile/ThemeSetting.tsx b/src/app/(main)/profile/ThemeSetting.tsx index 577728b73..49ea71617 100644 --- a/src/app/(main)/profile/ThemeSetting.tsx +++ b/src/app/(main)/profile/ThemeSetting.tsx @@ -1,8 +1,8 @@ import classNames from 'classnames'; import { Button, Icon } from 'react-basics'; -import { useTheme } from 'components/hooks'; -import Sun from 'assets/sun.svg'; -import Moon from 'assets/moon.svg'; +import { useTheme } from '@/components/hooks'; +import Sun from '@/assets/sun.svg'; +import Moon from '@/assets/moon.svg'; import styles from './ThemeSetting.module.css'; export function ThemeSetting() { diff --git a/src/app/(main)/profile/TimezoneSetting.tsx b/src/app/(main)/profile/TimezoneSetting.tsx index 00858ac70..56c858136 100644 --- a/src/app/(main)/profile/TimezoneSetting.tsx +++ b/src/app/(main)/profile/TimezoneSetting.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import { Dropdown, Item, Button, Flexbox } from 'react-basics'; -import { useTimezone, useMessages } from 'components/hooks'; -import { getTimezone } from 'lib/date'; +import { useTimezone, useMessages } from '@/components/hooks'; +import { getTimezone } from '@/lib/date'; import styles from './TimezoneSetting.module.css'; const timezones = Intl.supportedValuesOf('timeZone'); diff --git a/src/app/(main)/reports/ReportDeleteButton.tsx b/src/app/(main)/reports/ReportDeleteButton.tsx index d51f71447..504f4ee39 100644 --- a/src/app/(main)/reports/ReportDeleteButton.tsx +++ b/src/app/(main)/reports/ReportDeleteButton.tsx @@ -1,6 +1,6 @@ import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; -import { useApi, useMessages, useModified } from 'components/hooks'; -import ConfirmationForm from 'components/common/ConfirmationForm'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import ConfirmationForm from '@/components/common/ConfirmationForm'; export function ReportDeleteButton({ reportId, diff --git a/src/app/(main)/reports/ReportsDataTable.tsx b/src/app/(main)/reports/ReportsDataTable.tsx index b03edfc27..0cc5a96c4 100644 --- a/src/app/(main)/reports/ReportsDataTable.tsx +++ b/src/app/(main)/reports/ReportsDataTable.tsx @@ -1,6 +1,6 @@ -import { useReports } from 'components/hooks'; +import { useReports } from '@/components/hooks'; import ReportsTable from './ReportsTable'; -import DataTable from 'components/common/DataTable'; +import DataTable from '@/components/common/DataTable'; import { ReactNode } from 'react'; export default function ReportsDataTable({ diff --git a/src/app/(main)/reports/ReportsHeader.tsx b/src/app/(main)/reports/ReportsHeader.tsx index 92f538ea8..ff9cb2941 100644 --- a/src/app/(main)/reports/ReportsHeader.tsx +++ b/src/app/(main)/reports/ReportsHeader.tsx @@ -1,8 +1,8 @@ -import PageHeader from 'components/layout/PageHeader'; +import PageHeader from '@/components/layout/PageHeader'; import { Icon, Icons, Text } from 'react-basics'; -import { useLogin, useMessages, useTeamUrl } from 'components/hooks'; -import LinkButton from 'components/common/LinkButton'; -import { ROLES } from 'lib/constants'; +import { useLogin, useMessages, useTeamUrl } from '@/components/hooks'; +import LinkButton from '@/components/common/LinkButton'; +import { ROLES } from '@/lib/constants'; export function ReportsHeader() { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/reports/ReportsPage.tsx b/src/app/(main)/reports/ReportsPage.tsx index 5b031cfae..64d43c702 100644 --- a/src/app/(main)/reports/ReportsPage.tsx +++ b/src/app/(main)/reports/ReportsPage.tsx @@ -2,7 +2,7 @@ import { Metadata } from 'next'; import ReportsHeader from './ReportsHeader'; import ReportsDataTable from './ReportsDataTable'; -import { useTeamUrl } from 'components/hooks'; +import { useTeamUrl } from '@/components/hooks'; export default function ReportsPage() { const { teamId } = useTeamUrl(); diff --git a/src/app/(main)/reports/ReportsTable.tsx b/src/app/(main)/reports/ReportsTable.tsx index c35468aaa..a891b6d08 100644 --- a/src/app/(main)/reports/ReportsTable.tsx +++ b/src/app/(main)/reports/ReportsTable.tsx @@ -1,7 +1,7 @@ import { GridColumn, GridTable, Icon, Icons, Text } from 'react-basics'; -import LinkButton from 'components/common/LinkButton'; -import { useMessages, useLogin, useTeamUrl } from 'components/hooks'; -import { REPORT_TYPES } from 'lib/constants'; +import LinkButton from '@/components/common/LinkButton'; +import { useMessages, useLogin, useTeamUrl } from '@/components/hooks'; +import { REPORT_TYPES } from '@/lib/constants'; import ReportDeleteButton from './ReportDeleteButton'; export function ReportsTable({ data = [], showDomain }: { data: any[]; showDomain?: boolean }) { diff --git a/src/app/(main)/reports/[reportId]/BaseParameters.tsx b/src/app/(main)/reports/[reportId]/BaseParameters.tsx index 77de51f33..1f4881bec 100644 --- a/src/app/(main)/reports/[reportId]/BaseParameters.tsx +++ b/src/app/(main)/reports/[reportId]/BaseParameters.tsx @@ -1,9 +1,9 @@ import { useContext } from 'react'; import { FormRow } from 'react-basics'; -import { parseDateRange } from 'lib/date'; -import DateFilter from 'components/input/DateFilter'; -import WebsiteSelect from 'components/input/WebsiteSelect'; -import { useMessages, useTeamUrl, useWebsite } from 'components/hooks'; +import { parseDateRange } from '@/lib/date'; +import DateFilter from '@/components/input/DateFilter'; +import WebsiteSelect from '@/components/input/WebsiteSelect'; +import { useMessages, useTeamUrl, useWebsite } from '@/components/hooks'; import { ReportContext } from './Report'; import styles from './BaseParameters.module.css'; diff --git a/src/app/(main)/reports/[reportId]/FieldAddForm.tsx b/src/app/(main)/reports/[reportId]/FieldAddForm.tsx index 9217ce4df..6560a947a 100644 --- a/src/app/(main)/reports/[reportId]/FieldAddForm.tsx +++ b/src/app/(main)/reports/[reportId]/FieldAddForm.tsx @@ -1,6 +1,6 @@ import { useState } from 'react'; import { createPortal } from 'react-dom'; -import { REPORT_PARAMETERS } from 'lib/constants'; +import { REPORT_PARAMETERS } from '@/lib/constants'; import PopupForm from './PopupForm'; import FieldSelectForm from './FieldSelectForm'; diff --git a/src/app/(main)/reports/[reportId]/FieldAggregateForm.tsx b/src/app/(main)/reports/[reportId]/FieldAggregateForm.tsx index 6b5bf6360..5db0e5801 100644 --- a/src/app/(main)/reports/[reportId]/FieldAggregateForm.tsx +++ b/src/app/(main)/reports/[reportId]/FieldAggregateForm.tsx @@ -1,5 +1,5 @@ import { Form, FormRow, Menu, Item } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export default function FieldAggregateForm({ name, diff --git a/src/app/(main)/reports/[reportId]/FieldFilterEditForm.tsx b/src/app/(main)/reports/[reportId]/FieldFilterEditForm.tsx index bfe4ff5fb..d171c7806 100644 --- a/src/app/(main)/reports/[reportId]/FieldFilterEditForm.tsx +++ b/src/app/(main)/reports/[reportId]/FieldFilterEditForm.tsx @@ -1,6 +1,12 @@ -import { useFilters, useFormat, useLocale, useMessages, useWebsiteValues } from 'components/hooks'; -import { OPERATORS } from 'lib/constants'; -import { isEqualsOperator } from 'lib/params'; +import { + useFilters, + useFormat, + useLocale, + useMessages, + useWebsiteValues, +} from '@/components/hooks'; +import { OPERATORS } from '@/lib/constants'; +import { isEqualsOperator } from '@/lib/params'; import { useMemo, useState } from 'react'; import { Button, diff --git a/src/app/(main)/reports/[reportId]/FieldParameters.tsx b/src/app/(main)/reports/[reportId]/FieldParameters.tsx index 36cfbda9b..de80cc69d 100644 --- a/src/app/(main)/reports/[reportId]/FieldParameters.tsx +++ b/src/app/(main)/reports/[reportId]/FieldParameters.tsx @@ -1,5 +1,5 @@ -import { useFields, useMessages } from 'components/hooks'; -import Icons from 'components/icons'; +import { useFields, useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; import { useContext } from 'react'; import { Button, FormRow, Icon, Popup, PopupTrigger } from 'react-basics'; import FieldSelectForm from '../[reportId]/FieldSelectForm'; diff --git a/src/app/(main)/reports/[reportId]/FieldSelectForm.tsx b/src/app/(main)/reports/[reportId]/FieldSelectForm.tsx index dfd402cf0..f73d59f79 100644 --- a/src/app/(main)/reports/[reportId]/FieldSelectForm.tsx +++ b/src/app/(main)/reports/[reportId]/FieldSelectForm.tsx @@ -1,5 +1,5 @@ import { Menu, Item, Form, FormRow } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './FieldSelectForm.module.css'; import { Key } from 'react'; diff --git a/src/app/(main)/reports/[reportId]/FilterParameters.tsx b/src/app/(main)/reports/[reportId]/FilterParameters.tsx index ddbe4d1e8..538c4ce51 100644 --- a/src/app/(main)/reports/[reportId]/FilterParameters.tsx +++ b/src/app/(main)/reports/[reportId]/FilterParameters.tsx @@ -1,13 +1,13 @@ import { useContext } from 'react'; -import { useMessages, useFormat, useFilters, useFields } from 'components/hooks'; -import Icons from 'components/icons'; +import { useMessages, useFormat, useFilters, useFields } from '@/components/hooks'; +import Icons from '@/components/icons'; import { Button, FormRow, Icon, Popup, PopupTrigger } from 'react-basics'; import FilterSelectForm from '../[reportId]/FilterSelectForm'; import ParameterList from '../[reportId]/ParameterList'; import PopupForm from '../[reportId]/PopupForm'; import { ReportContext } from './Report'; import FieldFilterEditForm from '../[reportId]/FieldFilterEditForm'; -import { isSearchOperator } from 'lib/params'; +import { isSearchOperator } from '@/lib/params'; import styles from './FilterParameters.module.css'; export function FilterParameters() { diff --git a/src/app/(main)/reports/[reportId]/ParameterList.tsx b/src/app/(main)/reports/[reportId]/ParameterList.tsx index d4b6477bb..3c0401a04 100644 --- a/src/app/(main)/reports/[reportId]/ParameterList.tsx +++ b/src/app/(main)/reports/[reportId]/ParameterList.tsx @@ -1,8 +1,8 @@ import { ReactNode } from 'react'; import { Icon } from 'react-basics'; -import Icons from 'components/icons'; -import Empty from 'components/common/Empty'; -import { useMessages } from 'components/hooks'; +import Icons from '@/components/icons'; +import Empty from '@/components/common/Empty'; +import { useMessages } from '@/components/hooks'; import styles from './ParameterList.module.css'; import classNames from 'classnames'; diff --git a/src/app/(main)/reports/[reportId]/Report.tsx b/src/app/(main)/reports/[reportId]/Report.tsx index d6de9d425..1aed007cf 100644 --- a/src/app/(main)/reports/[reportId]/Report.tsx +++ b/src/app/(main)/reports/[reportId]/Report.tsx @@ -1,7 +1,7 @@ import { createContext, ReactNode } from 'react'; import { Loading } from 'react-basics'; import classNames from 'classnames'; -import { useReport } from 'components/hooks'; +import { useReport } from '@/components/hooks'; import styles from './Report.module.css'; export const ReportContext = createContext(null); diff --git a/src/app/(main)/reports/[reportId]/ReportHeader.tsx b/src/app/(main)/reports/[reportId]/ReportHeader.tsx index 7ab80fcdf..816a2df33 100644 --- a/src/app/(main)/reports/[reportId]/ReportHeader.tsx +++ b/src/app/(main)/reports/[reportId]/ReportHeader.tsx @@ -1,10 +1,10 @@ import { useContext } from 'react'; import { Icon, LoadingButton, InlineEditField, useToasts } from 'react-basics'; -import { useMessages, useApi, useNavigation, useTeamUrl } from 'components/hooks'; +import { useMessages, useApi, useNavigation, useTeamUrl } from '@/components/hooks'; import { ReportContext } from './Report'; import styles from './ReportHeader.module.css'; -import { REPORT_TYPES } from 'lib/constants'; -import Breadcrumb from 'components/common/Breadcrumb'; +import { REPORT_TYPES } from '@/lib/constants'; +import Breadcrumb from '@/components/common/Breadcrumb'; export function ReportHeader({ icon }) { const { report, updateReport } = useContext(ReportContext); diff --git a/src/app/(main)/reports/[reportId]/ReportPage.tsx b/src/app/(main)/reports/[reportId]/ReportPage.tsx index da1a0342e..8a3a94ad3 100644 --- a/src/app/(main)/reports/[reportId]/ReportPage.tsx +++ b/src/app/(main)/reports/[reportId]/ReportPage.tsx @@ -1,5 +1,5 @@ 'use client'; -import { useReport } from 'components/hooks'; +import { useReport } from '@/components/hooks'; import EventDataReport from '../event-data/EventDataReport'; import FunnelReport from '../funnel/FunnelReport'; import GoalReport from '../goals/GoalsReport'; diff --git a/src/app/(main)/reports/create/ReportTemplates.tsx b/src/app/(main)/reports/create/ReportTemplates.tsx index af19d4aac..c26e3a919 100644 --- a/src/app/(main)/reports/create/ReportTemplates.tsx +++ b/src/app/(main)/reports/create/ReportTemplates.tsx @@ -1,12 +1,12 @@ -import Funnel from 'assets/funnel.svg'; -import Money from 'assets/money.svg'; -import Lightbulb from 'assets/lightbulb.svg'; -import Magnet from 'assets/magnet.svg'; -import Path from 'assets/path.svg'; -import Tag from 'assets/tag.svg'; -import Target from 'assets/target.svg'; -import { useMessages, useTeamUrl } from 'components/hooks'; -import PageHeader from 'components/layout/PageHeader'; +import Funnel from '@/assets/funnel.svg'; +import Money from '@/assets/money.svg'; +import Lightbulb from '@/assets/lightbulb.svg'; +import Magnet from '@/assets/magnet.svg'; +import Path from '@/assets/path.svg'; +import Tag from '@/assets/tag.svg'; +import Target from '@/assets/target.svg'; +import { useMessages, useTeamUrl } from '@/components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; import Link from 'next/link'; import { Button, Icon, Icons, Text } from 'react-basics'; import styles from './ReportTemplates.module.css'; diff --git a/src/app/(main)/reports/event-data/EventDataParameters.tsx b/src/app/(main)/reports/event-data/EventDataParameters.tsx index 7b61c1129..9e931cf5a 100644 --- a/src/app/(main)/reports/event-data/EventDataParameters.tsx +++ b/src/app/(main)/reports/event-data/EventDataParameters.tsx @@ -1,9 +1,9 @@ import { useContext } from 'react'; import { Form, FormRow, FormButtons, SubmitButton, PopupTrigger, Icon, Popup } from 'react-basics'; -import Empty from 'components/common/Empty'; -import Icons from 'components/icons'; -import { useApi, useMessages } from 'components/hooks'; -import { DATA_TYPES, REPORT_PARAMETERS } from 'lib/constants'; +import Empty from '@/components/common/Empty'; +import Icons from '@/components/icons'; +import { useApi, useMessages } from '@/components/hooks'; +import { DATA_TYPES, REPORT_PARAMETERS } from '@/lib/constants'; import { ReportContext } from '../[reportId]/Report'; import FieldAddForm from '../[reportId]/FieldAddForm'; import ParameterList from '../[reportId]/ParameterList'; diff --git a/src/app/(main)/reports/event-data/EventDataReport.tsx b/src/app/(main)/reports/event-data/EventDataReport.tsx index fb786b31e..8205a4881 100644 --- a/src/app/(main)/reports/event-data/EventDataReport.tsx +++ b/src/app/(main)/reports/event-data/EventDataReport.tsx @@ -4,7 +4,7 @@ import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; import EventDataParameters from './EventDataParameters'; import EventDataTable from './EventDataTable'; -import Nodes from 'assets/nodes.svg'; +import Nodes from '@/assets/nodes.svg'; const defaultParameters = { type: 'event-data', diff --git a/src/app/(main)/reports/event-data/EventDataTable.tsx b/src/app/(main)/reports/event-data/EventDataTable.tsx index 740cbce4d..f42e792d6 100644 --- a/src/app/(main)/reports/event-data/EventDataTable.tsx +++ b/src/app/(main)/reports/event-data/EventDataTable.tsx @@ -1,6 +1,6 @@ import { useContext } from 'react'; import { GridTable, GridColumn } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { ReportContext } from '../[reportId]/Report'; export function EventDataTable() { diff --git a/src/app/(main)/reports/funnel/FunnelChart.tsx b/src/app/(main)/reports/funnel/FunnelChart.tsx index 0da71d6f5..be3da6143 100644 --- a/src/app/(main)/reports/funnel/FunnelChart.tsx +++ b/src/app/(main)/reports/funnel/FunnelChart.tsx @@ -1,8 +1,8 @@ import { useContext } from 'react'; import classNames from 'classnames'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { ReportContext } from '../[reportId]/Report'; -import { formatLongNumber } from 'lib/format'; +import { formatLongNumber } from '@/lib/format'; import styles from './FunnelChart.module.css'; export interface FunnelChartProps { diff --git a/src/app/(main)/reports/funnel/FunnelParameters.tsx b/src/app/(main)/reports/funnel/FunnelParameters.tsx index ef4ffbfb5..3db57135e 100644 --- a/src/app/(main)/reports/funnel/FunnelParameters.tsx +++ b/src/app/(main)/reports/funnel/FunnelParameters.tsx @@ -1,5 +1,5 @@ import { useContext } from 'react'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { Icon, Form, @@ -12,7 +12,7 @@ import { TextField, Button, } from 'react-basics'; -import Icons from 'components/icons'; +import Icons from '@/components/icons'; import FunnelStepAddForm from './FunnelStepAddForm'; import { ReportContext } from '../[reportId]/Report'; import BaseParameters from '../[reportId]/BaseParameters'; diff --git a/src/app/(main)/reports/funnel/FunnelReport.tsx b/src/app/(main)/reports/funnel/FunnelReport.tsx index 850bbd906..e0c90e4aa 100644 --- a/src/app/(main)/reports/funnel/FunnelReport.tsx +++ b/src/app/(main)/reports/funnel/FunnelReport.tsx @@ -4,8 +4,8 @@ import Report from '../[reportId]/Report'; import ReportHeader from '../[reportId]/ReportHeader'; import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; -import Funnel from 'assets/funnel.svg'; -import { REPORT_TYPES } from 'lib/constants'; +import Funnel from '@/assets/funnel.svg'; +import { REPORT_TYPES } from '@/lib/constants'; const defaultParameters = { type: REPORT_TYPES.funnel, diff --git a/src/app/(main)/reports/funnel/FunnelStepAddForm.tsx b/src/app/(main)/reports/funnel/FunnelStepAddForm.tsx index 7d77b0c72..d7917d7d9 100644 --- a/src/app/(main)/reports/funnel/FunnelStepAddForm.tsx +++ b/src/app/(main)/reports/funnel/FunnelStepAddForm.tsx @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { Button, FormRow, TextField, Flexbox, Dropdown, Item } from 'react-basics'; import styles from './FunnelStepAddForm.module.css'; diff --git a/src/app/(main)/reports/goals/GoalsAddForm.tsx b/src/app/(main)/reports/goals/GoalsAddForm.tsx index a82eea28c..b73545337 100644 --- a/src/app/(main)/reports/goals/GoalsAddForm.tsx +++ b/src/app/(main)/reports/goals/GoalsAddForm.tsx @@ -1,4 +1,4 @@ -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { useState } from 'react'; import { Button, Dropdown, Flexbox, FormRow, Item, TextField } from 'react-basics'; import styles from './GoalsAddForm.module.css'; diff --git a/src/app/(main)/reports/goals/GoalsChart.tsx b/src/app/(main)/reports/goals/GoalsChart.tsx index dedbd07cb..34ea485e6 100644 --- a/src/app/(main)/reports/goals/GoalsChart.tsx +++ b/src/app/(main)/reports/goals/GoalsChart.tsx @@ -1,8 +1,8 @@ import { useContext } from 'react'; import classNames from 'classnames'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { ReportContext } from '../[reportId]/Report'; -import { formatLongNumber } from 'lib/format'; +import { formatLongNumber } from '@/lib/format'; import styles from './GoalsChart.module.css'; export function GoalsChart({ className }: { className?: string; isLoading?: boolean }) { diff --git a/src/app/(main)/reports/goals/GoalsParameters.tsx b/src/app/(main)/reports/goals/GoalsParameters.tsx index 8d85dc204..518666450 100644 --- a/src/app/(main)/reports/goals/GoalsParameters.tsx +++ b/src/app/(main)/reports/goals/GoalsParameters.tsx @@ -1,6 +1,6 @@ -import { useMessages } from 'components/hooks'; -import Icons from 'components/icons'; -import { formatNumber } from 'lib/format'; +import { useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; +import { formatNumber } from '@/lib/format'; import { useContext } from 'react'; import { Button, diff --git a/src/app/(main)/reports/goals/GoalsReport.tsx b/src/app/(main)/reports/goals/GoalsReport.tsx index 020d7d090..ae540f3b9 100644 --- a/src/app/(main)/reports/goals/GoalsReport.tsx +++ b/src/app/(main)/reports/goals/GoalsReport.tsx @@ -4,8 +4,8 @@ import Report from '../[reportId]/Report'; import ReportHeader from '../[reportId]/ReportHeader'; import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; -import Target from 'assets/target.svg'; -import { REPORT_TYPES } from 'lib/constants'; +import Target from '@/assets/target.svg'; +import { REPORT_TYPES } from '@/lib/constants'; const defaultParameters = { type: REPORT_TYPES.goals, diff --git a/src/app/(main)/reports/insights/InsightsParameters.tsx b/src/app/(main)/reports/insights/InsightsParameters.tsx index 7f58de6a4..6b3402fb4 100644 --- a/src/app/(main)/reports/insights/InsightsParameters.tsx +++ b/src/app/(main)/reports/insights/InsightsParameters.tsx @@ -1,4 +1,4 @@ -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { useContext } from 'react'; import { Form, FormButtons, SubmitButton } from 'react-basics'; import BaseParameters from '../[reportId]/BaseParameters'; diff --git a/src/app/(main)/reports/insights/InsightsReport.tsx b/src/app/(main)/reports/insights/InsightsReport.tsx index adfbbd20f..d43576fab 100644 --- a/src/app/(main)/reports/insights/InsightsReport.tsx +++ b/src/app/(main)/reports/insights/InsightsReport.tsx @@ -4,8 +4,8 @@ import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; import InsightsParameters from './InsightsParameters'; import InsightsTable from './InsightsTable'; -import Lightbulb from 'assets/lightbulb.svg'; -import { REPORT_TYPES } from 'lib/constants'; +import Lightbulb from '@/assets/lightbulb.svg'; +import { REPORT_TYPES } from '@/lib/constants'; const defaultParameters = { type: REPORT_TYPES.insights, diff --git a/src/app/(main)/reports/insights/InsightsTable.tsx b/src/app/(main)/reports/insights/InsightsTable.tsx index 692d7824b..6864d9196 100644 --- a/src/app/(main)/reports/insights/InsightsTable.tsx +++ b/src/app/(main)/reports/insights/InsightsTable.tsx @@ -1,9 +1,9 @@ import { useContext, useEffect, useState } from 'react'; import { GridTable, GridColumn } from 'react-basics'; -import { useFormat, useMessages } from 'components/hooks'; +import { useFormat, useMessages } from '@/components/hooks'; import { ReportContext } from '../[reportId]/Report'; -import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; -import { formatShortTime } from 'lib/format'; +import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; +import { formatShortTime } from '@/lib/format'; export function InsightsTable() { const [fields, setFields] = useState([]); diff --git a/src/app/(main)/reports/journey/JourneyParameters.tsx b/src/app/(main)/reports/journey/JourneyParameters.tsx index eca9c42d5..ffa5df89c 100644 --- a/src/app/(main)/reports/journey/JourneyParameters.tsx +++ b/src/app/(main)/reports/journey/JourneyParameters.tsx @@ -1,5 +1,5 @@ import { useContext } from 'react'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { Dropdown, Form, diff --git a/src/app/(main)/reports/journey/JourneyReport.tsx b/src/app/(main)/reports/journey/JourneyReport.tsx index 9048b3d13..4322fa2a1 100644 --- a/src/app/(main)/reports/journey/JourneyReport.tsx +++ b/src/app/(main)/reports/journey/JourneyReport.tsx @@ -5,8 +5,8 @@ import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; import JourneyParameters from './JourneyParameters'; import JourneyView from './JourneyView'; -import Path from 'assets/path.svg'; -import { REPORT_TYPES } from 'lib/constants'; +import Path from '@/assets/path.svg'; +import { REPORT_TYPES } from '@/lib/constants'; const defaultParameters = { type: REPORT_TYPES.journey, diff --git a/src/app/(main)/reports/journey/JourneyView.tsx b/src/app/(main)/reports/journey/JourneyView.tsx index ae980a6e4..abddf0231 100644 --- a/src/app/(main)/reports/journey/JourneyView.tsx +++ b/src/app/(main)/reports/journey/JourneyView.tsx @@ -2,11 +2,11 @@ import { useContext, useMemo, useState } from 'react'; import { TextOverflow, TooltipPopup } from 'react-basics'; import { firstBy } from 'thenby'; import classNames from 'classnames'; -import { useEscapeKey, useMessages } from 'components/hooks'; -import { objectToArray } from 'lib/data'; +import { useEscapeKey, useMessages } from '@/components/hooks'; +import { objectToArray } from '@/lib/data'; import { ReportContext } from '../[reportId]/Report'; import styles from './JourneyView.module.css'; -import { formatLongNumber } from 'lib/format'; +import { formatLongNumber } from '@/lib/format'; const NODE_HEIGHT = 60; const NODE_GAP = 10; diff --git a/src/app/(main)/reports/retention/RetentionParameters.tsx b/src/app/(main)/reports/retention/RetentionParameters.tsx index f441177c0..56cbdbd38 100644 --- a/src/app/(main)/reports/retention/RetentionParameters.tsx +++ b/src/app/(main)/reports/retention/RetentionParameters.tsx @@ -1,10 +1,10 @@ import { useContext } from 'react'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { Form, FormButtons, FormRow, SubmitButton } from 'react-basics'; import { ReportContext } from '../[reportId]/Report'; -import { MonthSelect } from 'components/input/MonthSelect'; +import { MonthSelect } from '@/components/input/MonthSelect'; import BaseParameters from '../[reportId]/BaseParameters'; -import { parseDateRange } from 'lib/date'; +import { parseDateRange } from '@/lib/date'; export function RetentionParameters() { const { report, runReport, isRunning, updateReport } = useContext(ReportContext); diff --git a/src/app/(main)/reports/retention/RetentionReport.tsx b/src/app/(main)/reports/retention/RetentionReport.tsx index 81b565dc1..054a1a66b 100644 --- a/src/app/(main)/reports/retention/RetentionReport.tsx +++ b/src/app/(main)/reports/retention/RetentionReport.tsx @@ -4,9 +4,9 @@ import Report from '../[reportId]/Report'; import ReportHeader from '../[reportId]/ReportHeader'; import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; -import Magnet from 'assets/magnet.svg'; -import { REPORT_TYPES } from 'lib/constants'; -import { parseDateRange } from 'lib/date'; +import Magnet from '@/assets/magnet.svg'; +import { REPORT_TYPES } from '@/lib/constants'; +import { parseDateRange } from '@/lib/date'; import { endOfMonth, startOfMonth } from 'date-fns'; const defaultParameters = { diff --git a/src/app/(main)/reports/retention/RetentionTable.tsx b/src/app/(main)/reports/retention/RetentionTable.tsx index 6d825567d..23f0a8b0e 100644 --- a/src/app/(main)/reports/retention/RetentionTable.tsx +++ b/src/app/(main)/reports/retention/RetentionTable.tsx @@ -1,9 +1,9 @@ import { useContext } from 'react'; import classNames from 'classnames'; import { ReportContext } from '../[reportId]/Report'; -import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; -import { useMessages, useLocale } from 'components/hooks'; -import { formatDate } from 'lib/date'; +import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; +import { useMessages, useLocale } from '@/components/hooks'; +import { formatDate } from '@/lib/date'; import styles from './RetentionTable.module.css'; const DAYS = [1, 2, 3, 4, 5, 6, 7, 14, 21, 28]; diff --git a/src/app/(main)/reports/revenue/RevenueParameters.tsx b/src/app/(main)/reports/revenue/RevenueParameters.tsx index 8e344e4dc..5cee14de9 100644 --- a/src/app/(main)/reports/revenue/RevenueParameters.tsx +++ b/src/app/(main)/reports/revenue/RevenueParameters.tsx @@ -1,5 +1,5 @@ -import { useMessages } from 'components/hooks'; -import useRevenueValues from 'components/hooks/queries/useRevenueValues'; +import { useMessages } from '@/components/hooks'; +import useRevenueValues from '@/components/hooks/queries/useRevenueValues'; import { useContext } from 'react'; import { Dropdown, Form, FormButtons, FormInput, FormRow, Item, SubmitButton } from 'react-basics'; import BaseParameters from '../[reportId]/BaseParameters'; diff --git a/src/app/(main)/reports/revenue/RevenueReport.tsx b/src/app/(main)/reports/revenue/RevenueReport.tsx index 7b75ebd24..8400c6516 100644 --- a/src/app/(main)/reports/revenue/RevenueReport.tsx +++ b/src/app/(main)/reports/revenue/RevenueReport.tsx @@ -1,5 +1,5 @@ -import Money from 'assets/money.svg'; -import { REPORT_TYPES } from 'lib/constants'; +import Money from '@/assets/money.svg'; +import { REPORT_TYPES } from '@/lib/constants'; import Report from '../[reportId]/Report'; import ReportBody from '../[reportId]/ReportBody'; import ReportHeader from '../[reportId]/ReportHeader'; diff --git a/src/app/(main)/reports/revenue/RevenueTable.tsx b/src/app/(main)/reports/revenue/RevenueTable.tsx index 0b9fcdc3d..184797e99 100644 --- a/src/app/(main)/reports/revenue/RevenueTable.tsx +++ b/src/app/(main)/reports/revenue/RevenueTable.tsx @@ -1,9 +1,9 @@ -import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; -import { useMessages } from 'components/hooks'; +import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; +import { useMessages } from '@/components/hooks'; import { useContext } from 'react'; import { GridColumn, GridTable } from 'react-basics'; import { ReportContext } from '../[reportId]/Report'; -import { formatLongCurrency } from 'lib/format'; +import { formatLongCurrency } from '@/lib/format'; export function RevenueTable() { const { report } = useContext(ReportContext); diff --git a/src/app/(main)/reports/revenue/RevenueView.tsx b/src/app/(main)/reports/revenue/RevenueView.tsx index 2d559893f..bd3d6c637 100644 --- a/src/app/(main)/reports/revenue/RevenueView.tsx +++ b/src/app/(main)/reports/revenue/RevenueView.tsx @@ -1,16 +1,16 @@ import classNames from 'classnames'; import { colord } from 'colord'; -import BarChart from 'components/charts/BarChart'; -import PieChart from 'components/charts/PieChart'; -import TypeIcon from 'components/common/TypeIcon'; -import { useCountryNames, useLocale, useMessages } from 'components/hooks'; -import { GridRow } from 'components/layout/Grid'; -import ListTable from 'components/metrics/ListTable'; -import MetricCard from 'components/metrics/MetricCard'; -import MetricsBar from 'components/metrics/MetricsBar'; -import { renderDateLabels } from 'lib/charts'; -import { CHART_COLORS } from 'lib/constants'; -import { formatLongCurrency, formatLongNumber } from 'lib/format'; +import BarChart from '@/components/charts/BarChart'; +import PieChart from '@/components/charts/PieChart'; +import TypeIcon from '@/components/common/TypeIcon'; +import { useCountryNames, useLocale, useMessages } from '@/components/hooks'; +import { GridRow } from '@/components/layout/Grid'; +import ListTable from '@/components/metrics/ListTable'; +import MetricCard from '@/components/metrics/MetricCard'; +import MetricsBar from '@/components/metrics/MetricsBar'; +import { renderDateLabels } from '@/lib/charts'; +import { CHART_COLORS } from '@/lib/constants'; +import { formatLongCurrency, formatLongNumber } from '@/lib/format'; import { useCallback, useContext, useMemo } from 'react'; import { ReportContext } from '../[reportId]/Report'; import RevenueTable from './RevenueTable'; diff --git a/src/app/(main)/reports/utm/UTMParameters.tsx b/src/app/(main)/reports/utm/UTMParameters.tsx index c76df77d9..5ae6017f2 100644 --- a/src/app/(main)/reports/utm/UTMParameters.tsx +++ b/src/app/(main)/reports/utm/UTMParameters.tsx @@ -1,5 +1,5 @@ import { useContext } from 'react'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import { Form, FormButtons, SubmitButton } from 'react-basics'; import { ReportContext } from '../[reportId]/Report'; import BaseParameters from '../[reportId]/BaseParameters'; diff --git a/src/app/(main)/reports/utm/UTMReport.tsx b/src/app/(main)/reports/utm/UTMReport.tsx index 7183b9f73..d9d2f579a 100644 --- a/src/app/(main)/reports/utm/UTMReport.tsx +++ b/src/app/(main)/reports/utm/UTMReport.tsx @@ -5,8 +5,8 @@ import ReportMenu from '../[reportId]/ReportMenu'; import ReportBody from '../[reportId]/ReportBody'; import UTMParameters from './UTMParameters'; import UTMView from './UTMView'; -import Tag from 'assets/tag.svg'; -import { REPORT_TYPES } from 'lib/constants'; +import Tag from '@/assets/tag.svg'; +import { REPORT_TYPES } from '@/lib/constants'; const defaultParameters = { type: REPORT_TYPES.utm, diff --git a/src/app/(main)/reports/utm/UTMView.tsx b/src/app/(main)/reports/utm/UTMView.tsx index f10a68d8c..ba0258243 100644 --- a/src/app/(main)/reports/utm/UTMView.tsx +++ b/src/app/(main)/reports/utm/UTMView.tsx @@ -1,11 +1,11 @@ import { useContext } from 'react'; import { firstBy } from 'thenby'; import { ReportContext } from '../[reportId]/Report'; -import { CHART_COLORS, UTM_PARAMS } from 'lib/constants'; -import PieChart from 'components/charts/PieChart'; -import ListTable from 'components/metrics/ListTable'; +import { CHART_COLORS, UTM_PARAMS } from '@/lib/constants'; +import PieChart from '@/components/charts/PieChart'; +import ListTable from '@/components/metrics/ListTable'; import styles from './UTMView.module.css'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; function toArray(data: { [key: string]: number } = {}) { return Object.keys(data) diff --git a/src/app/(main)/settings/SettingsLayout.tsx b/src/app/(main)/settings/SettingsLayout.tsx index 28e9a0742..08dcc3eb1 100644 --- a/src/app/(main)/settings/SettingsLayout.tsx +++ b/src/app/(main)/settings/SettingsLayout.tsx @@ -1,7 +1,7 @@ 'use client'; import { ReactNode } from 'react'; -import { useLogin, useMessages } from 'components/hooks'; -import MenuLayout from 'components/layout/MenuLayout'; +import { useLogin, useMessages } from '@/components/hooks'; +import MenuLayout from '@/components/layout/MenuLayout'; export default function SettingsLayout({ children }: { children: ReactNode }) { const { user } = useLogin(); diff --git a/src/app/(main)/settings/teams/TeamAddForm.tsx b/src/app/(main)/settings/teams/TeamAddForm.tsx index c0fc75137..e940aa17a 100644 --- a/src/app/(main)/settings/teams/TeamAddForm.tsx +++ b/src/app/(main)/settings/teams/TeamAddForm.tsx @@ -1,4 +1,4 @@ -import { useApi, useMessages } from 'components/hooks'; +import { useApi, useMessages } from '@/components/hooks'; import { Button, Form, diff --git a/src/app/(main)/settings/teams/TeamJoinForm.tsx b/src/app/(main)/settings/teams/TeamJoinForm.tsx index 939b5d4ba..0a82260c7 100644 --- a/src/app/(main)/settings/teams/TeamJoinForm.tsx +++ b/src/app/(main)/settings/teams/TeamJoinForm.tsx @@ -8,7 +8,7 @@ import { Button, SubmitButton, } from 'react-basics'; -import { useApi, useMessages, useModified } from 'components/hooks'; +import { useApi, useMessages, useModified } from '@/components/hooks'; export function TeamJoinForm({ onSave, onClose }: { onSave: () => void; onClose: () => void }) { const { formatMessage, labels, getMessage } = useMessages(); diff --git a/src/app/(main)/settings/teams/TeamLeaveButton.tsx b/src/app/(main)/settings/teams/TeamLeaveButton.tsx index b8a24c7e9..5f5b54f3e 100644 --- a/src/app/(main)/settings/teams/TeamLeaveButton.tsx +++ b/src/app/(main)/settings/teams/TeamLeaveButton.tsx @@ -1,4 +1,4 @@ -import { useLocale, useLogin, useMessages, useModified } from 'components/hooks'; +import { useLocale, useLogin, useMessages, useModified } from '@/components/hooks'; import { useRouter } from 'next/navigation'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import TeamDeleteForm from './TeamLeaveForm'; diff --git a/src/app/(main)/settings/teams/TeamLeaveForm.tsx b/src/app/(main)/settings/teams/TeamLeaveForm.tsx index 8c9726be2..9951aa933 100644 --- a/src/app/(main)/settings/teams/TeamLeaveForm.tsx +++ b/src/app/(main)/settings/teams/TeamLeaveForm.tsx @@ -1,5 +1,5 @@ -import { useApi, useMessages, useModified } from 'components/hooks'; -import ConfirmationForm from 'components/common/ConfirmationForm'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import ConfirmationForm from '@/components/common/ConfirmationForm'; export function TeamLeaveForm({ teamId, diff --git a/src/app/(main)/settings/teams/TeamsAddButton.tsx b/src/app/(main)/settings/teams/TeamsAddButton.tsx index 6ec4cf39c..58c138a8a 100644 --- a/src/app/(main)/settings/teams/TeamsAddButton.tsx +++ b/src/app/(main)/settings/teams/TeamsAddButton.tsx @@ -1,8 +1,8 @@ import { Button, Icon, Modal, ModalTrigger, Text, useToasts } from 'react-basics'; -import Icons from 'components/icons'; -import { useMessages, useModified } from 'components/hooks'; +import Icons from '@/components/icons'; +import { useMessages, useModified } from '@/components/hooks'; import TeamAddForm from './TeamAddForm'; -import { messages } from 'components/messages'; +import { messages } from '@/components/messages'; export function TeamsAddButton({ onSave }: { onSave?: () => void }) { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/settings/teams/TeamsDataTable.tsx b/src/app/(main)/settings/teams/TeamsDataTable.tsx index e8563b2ea..9b8c9b278 100644 --- a/src/app/(main)/settings/teams/TeamsDataTable.tsx +++ b/src/app/(main)/settings/teams/TeamsDataTable.tsx @@ -1,6 +1,6 @@ -import DataTable from 'components/common/DataTable'; -import TeamsTable from 'app/(main)/settings/teams/TeamsTable'; -import { useLogin, useTeams } from 'components/hooks'; +import DataTable from '@/components/common/DataTable'; +import TeamsTable from '@/app/(main)/settings/teams/TeamsTable'; +import { useLogin, useTeams } from '@/components/hooks'; import { ReactNode } from 'react'; export function TeamsDataTable({ diff --git a/src/app/(main)/settings/teams/TeamsHeader.tsx b/src/app/(main)/settings/teams/TeamsHeader.tsx index 8aa5e7a34..e1911a197 100644 --- a/src/app/(main)/settings/teams/TeamsHeader.tsx +++ b/src/app/(main)/settings/teams/TeamsHeader.tsx @@ -1,7 +1,7 @@ import { Flexbox } from 'react-basics'; -import PageHeader from 'components/layout/PageHeader'; -import { ROLES } from 'lib/constants'; -import { useLogin, useMessages } from 'components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; +import { ROLES } from '@/lib/constants'; +import { useLogin, useMessages } from '@/components/hooks'; import TeamsJoinButton from './TeamsJoinButton'; import TeamsAddButton from './TeamsAddButton'; diff --git a/src/app/(main)/settings/teams/TeamsJoinButton.tsx b/src/app/(main)/settings/teams/TeamsJoinButton.tsx index 24925bb69..bbf2d6858 100644 --- a/src/app/(main)/settings/teams/TeamsJoinButton.tsx +++ b/src/app/(main)/settings/teams/TeamsJoinButton.tsx @@ -1,6 +1,6 @@ import { Button, Icon, Modal, ModalTrigger, Text, useToasts } from 'react-basics'; -import Icons from 'components/icons'; -import { useMessages, useModified } from 'components/hooks'; +import Icons from '@/components/icons'; +import { useMessages, useModified } from '@/components/hooks'; import TeamJoinForm from './TeamJoinForm'; export function TeamsJoinButton() { diff --git a/src/app/(main)/settings/teams/TeamsTable.tsx b/src/app/(main)/settings/teams/TeamsTable.tsx index a7a039580..8e7efa275 100644 --- a/src/app/(main)/settings/teams/TeamsTable.tsx +++ b/src/app/(main)/settings/teams/TeamsTable.tsx @@ -1,8 +1,8 @@ import { GridColumn, GridTable, Icon, Text } from 'react-basics'; -import { useMessages } from 'components/hooks'; -import Icons from 'components/icons'; -import { ROLES } from 'lib/constants'; -import LinkButton from 'components/common/LinkButton'; +import { useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; +import { ROLES } from '@/lib/constants'; +import LinkButton from '@/components/common/LinkButton'; export function TeamsTable({ data = [], diff --git a/src/app/(main)/settings/users/UserAddButton.tsx b/src/app/(main)/settings/users/UserAddButton.tsx index 832cf75b0..e1b048420 100644 --- a/src/app/(main)/settings/users/UserAddButton.tsx +++ b/src/app/(main)/settings/users/UserAddButton.tsx @@ -1,6 +1,6 @@ import { Button, Icon, Text, Modal, Icons, ModalTrigger, useToasts } from 'react-basics'; import UserAddForm from './UserAddForm'; -import { useMessages, useModified } from 'components/hooks'; +import { useMessages, useModified } from '@/components/hooks'; export function UserAddButton({ onSave }: { onSave?: () => void }) { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/settings/users/UserAddForm.tsx b/src/app/(main)/settings/users/UserAddForm.tsx index 979f399fe..13f2faf59 100644 --- a/src/app/(main)/settings/users/UserAddForm.tsx +++ b/src/app/(main)/settings/users/UserAddForm.tsx @@ -10,8 +10,8 @@ import { SubmitButton, Button, } from 'react-basics'; -import { useApi, useMessages } from 'components/hooks'; -import { ROLES } from 'lib/constants'; +import { useApi, useMessages } from '@/components/hooks'; +import { ROLES } from '@/lib/constants'; export function UserAddForm({ onSave, onClose }) { const { post, useMutation } = useApi(); diff --git a/src/app/(main)/settings/users/UserDeleteButton.tsx b/src/app/(main)/settings/users/UserDeleteButton.tsx index 9f1f84591..0909720e1 100644 --- a/src/app/(main)/settings/users/UserDeleteButton.tsx +++ b/src/app/(main)/settings/users/UserDeleteButton.tsx @@ -1,5 +1,5 @@ import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; -import { useMessages, useLogin } from 'components/hooks'; +import { useMessages, useLogin } from '@/components/hooks'; import UserDeleteForm from './UserDeleteForm'; export function UserDeleteButton({ diff --git a/src/app/(main)/settings/users/UserDeleteForm.tsx b/src/app/(main)/settings/users/UserDeleteForm.tsx index 9b49647fc..68a3e85e6 100644 --- a/src/app/(main)/settings/users/UserDeleteForm.tsx +++ b/src/app/(main)/settings/users/UserDeleteForm.tsx @@ -1,5 +1,5 @@ -import { useApi, useMessages, useModified } from 'components/hooks'; -import ConfirmationForm from 'components/common/ConfirmationForm'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import ConfirmationForm from '@/components/common/ConfirmationForm'; export function UserDeleteForm({ userId, username, onSave, onClose }) { const { FormattedMessage, messages, labels, formatMessage } = useMessages(); diff --git a/src/app/(main)/settings/users/UsersDataTable.tsx b/src/app/(main)/settings/users/UsersDataTable.tsx index 03addc749..867f4090d 100644 --- a/src/app/(main)/settings/users/UsersDataTable.tsx +++ b/src/app/(main)/settings/users/UsersDataTable.tsx @@ -1,5 +1,5 @@ -import DataTable from 'components/common/DataTable'; -import { useUsers } from 'components/hooks'; +import DataTable from '@/components/common/DataTable'; +import { useUsers } from '@/components/hooks'; import UsersTable from './UsersTable'; import { ReactNode } from 'react'; diff --git a/src/app/(main)/settings/users/UsersHeader.tsx b/src/app/(main)/settings/users/UsersHeader.tsx index 6f4387c7c..d07a159f6 100644 --- a/src/app/(main)/settings/users/UsersHeader.tsx +++ b/src/app/(main)/settings/users/UsersHeader.tsx @@ -1,5 +1,5 @@ -import PageHeader from 'components/layout/PageHeader'; -import { useMessages } from 'components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; +import { useMessages } from '@/components/hooks'; import UserAddButton from './UserAddButton'; export function UsersHeader({ onAdd }: { onAdd?: () => void }) { diff --git a/src/app/(main)/settings/users/UsersTable.tsx b/src/app/(main)/settings/users/UsersTable.tsx index e074be24e..c698f38b5 100644 --- a/src/app/(main)/settings/users/UsersTable.tsx +++ b/src/app/(main)/settings/users/UsersTable.tsx @@ -1,9 +1,9 @@ import { Text, Icon, Icons, GridTable, GridColumn } from 'react-basics'; import { formatDistance } from 'date-fns'; -import { ROLES } from 'lib/constants'; -import { useMessages, useLocale } from 'components/hooks'; +import { ROLES } from '@/lib/constants'; +import { useMessages, useLocale } from '@/components/hooks'; import UserDeleteButton from './UserDeleteButton'; -import LinkButton from 'components/common/LinkButton'; +import LinkButton from '@/components/common/LinkButton'; export function UsersTable({ data = [], diff --git a/src/app/(main)/settings/users/[userId]/UserEditForm.tsx b/src/app/(main)/settings/users/[userId]/UserEditForm.tsx index 1acfc581a..70f21f632 100644 --- a/src/app/(main)/settings/users/[userId]/UserEditForm.tsx +++ b/src/app/(main)/settings/users/[userId]/UserEditForm.tsx @@ -9,8 +9,8 @@ import { SubmitButton, PasswordField, } from 'react-basics'; -import { useApi, useLogin, useMessages } from 'components/hooks'; -import { ROLES } from 'lib/constants'; +import { useApi, useLogin, useMessages } from '@/components/hooks'; +import { ROLES } from '@/lib/constants'; import { useContext, useRef } from 'react'; import { UserContext } from './UserProvider'; diff --git a/src/app/(main)/settings/users/[userId]/UserProvider.tsx b/src/app/(main)/settings/users/[userId]/UserProvider.tsx index b289fca0a..ed559c910 100644 --- a/src/app/(main)/settings/users/[userId]/UserProvider.tsx +++ b/src/app/(main)/settings/users/[userId]/UserProvider.tsx @@ -1,5 +1,5 @@ import { createContext, ReactNode, useEffect } from 'react'; -import { useModified, useUser } from 'components/hooks'; +import { useModified, useUser } from '@/components/hooks'; import { Loading } from 'react-basics'; export const UserContext = createContext(null); diff --git a/src/app/(main)/settings/users/[userId]/UserSettings.tsx b/src/app/(main)/settings/users/[userId]/UserSettings.tsx index f9e17a85b..0d98205ff 100644 --- a/src/app/(main)/settings/users/[userId]/UserSettings.tsx +++ b/src/app/(main)/settings/users/[userId]/UserSettings.tsx @@ -1,12 +1,12 @@ import { Key, useContext, useState } from 'react'; import { Item, Tabs, useToasts } from 'react-basics'; -import Icons from 'components/icons'; +import Icons from '@/components/icons'; import UserEditForm from './UserEditForm'; -import PageHeader from 'components/layout/PageHeader'; -import { useMessages } from 'components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; +import { useMessages } from '@/components/hooks'; import UserWebsites from './UserWebsites'; import { UserContext } from './UserProvider'; -import Breadcrumb from 'components/common/Breadcrumb'; +import Breadcrumb from '@/components/common/Breadcrumb'; export function UserSettings({ userId }: { userId: string }) { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/settings/users/[userId]/UserWebsites.tsx b/src/app/(main)/settings/users/[userId]/UserWebsites.tsx index bfc6f74b0..15521b17b 100644 --- a/src/app/(main)/settings/users/[userId]/UserWebsites.tsx +++ b/src/app/(main)/settings/users/[userId]/UserWebsites.tsx @@ -1,6 +1,6 @@ -import WebsitesTable from 'app/(main)/settings/websites/WebsitesTable'; -import DataTable from 'components/common/DataTable'; -import { useWebsites } from 'components/hooks'; +import WebsitesTable from '@/app/(main)/settings/websites/WebsitesTable'; +import DataTable from '@/components/common/DataTable'; +import { useWebsites } from '@/components/hooks'; export function UserWebsites({ userId }) { const queryResult = useWebsites({ userId }); diff --git a/src/app/(main)/settings/websites/WebsiteAddButton.tsx b/src/app/(main)/settings/websites/WebsiteAddButton.tsx index e534461c9..6f32fc9f8 100644 --- a/src/app/(main)/settings/websites/WebsiteAddButton.tsx +++ b/src/app/(main)/settings/websites/WebsiteAddButton.tsx @@ -1,4 +1,4 @@ -import { useMessages, useModified } from 'components/hooks'; +import { useMessages, useModified } from '@/components/hooks'; import { Button, Icon, Icons, Modal, ModalTrigger, Text, useToasts } from 'react-basics'; import WebsiteAddForm from './WebsiteAddForm'; diff --git a/src/app/(main)/settings/websites/WebsiteAddForm.tsx b/src/app/(main)/settings/websites/WebsiteAddForm.tsx index 2bb4a0a8e..906724120 100644 --- a/src/app/(main)/settings/websites/WebsiteAddForm.tsx +++ b/src/app/(main)/settings/websites/WebsiteAddForm.tsx @@ -7,9 +7,9 @@ import { Button, SubmitButton, } from 'react-basics'; -import { useApi } from 'components/hooks'; -import { DOMAIN_REGEX } from 'lib/constants'; -import { useMessages } from 'components/hooks'; +import { useApi } from '@/components/hooks'; +import { DOMAIN_REGEX } from '@/lib/constants'; +import { useMessages } from '@/components/hooks'; export function WebsiteAddForm({ teamId, diff --git a/src/app/(main)/settings/websites/WebsitesDataTable.tsx b/src/app/(main)/settings/websites/WebsitesDataTable.tsx index d91bbeefa..023df8573 100644 --- a/src/app/(main)/settings/websites/WebsitesDataTable.tsx +++ b/src/app/(main)/settings/websites/WebsitesDataTable.tsx @@ -1,7 +1,7 @@ import { ReactNode } from 'react'; -import WebsitesTable from 'app/(main)/settings/websites/WebsitesTable'; -import DataTable from 'components/common/DataTable'; -import { useWebsites } from 'components/hooks'; +import WebsitesTable from '@/app/(main)/settings/websites/WebsitesTable'; +import DataTable from '@/components/common/DataTable'; +import { useWebsites } from '@/components/hooks'; export function WebsitesDataTable({ teamId, diff --git a/src/app/(main)/settings/websites/WebsitesHeader.tsx b/src/app/(main)/settings/websites/WebsitesHeader.tsx index 6f3223715..34e87a13e 100644 --- a/src/app/(main)/settings/websites/WebsitesHeader.tsx +++ b/src/app/(main)/settings/websites/WebsitesHeader.tsx @@ -1,5 +1,5 @@ -import { useMessages } from 'components/hooks'; -import PageHeader from 'components/layout/PageHeader'; +import { useMessages } from '@/components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; import WebsiteAddButton from './WebsiteAddButton'; export interface WebsitesHeaderProps { diff --git a/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx b/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx index ff0938d11..61909a9e5 100644 --- a/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx +++ b/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx @@ -1,8 +1,8 @@ 'use client'; -import { useLogin } from 'components/hooks'; +import { useLogin } from '@/components/hooks'; import WebsitesDataTable from './WebsitesDataTable'; import WebsitesHeader from './WebsitesHeader'; -import { ROLES } from 'lib/constants'; +import { ROLES } from '@/lib/constants'; export default function WebsitesSettingsPage({ teamId }: { teamId: string }) { const { user } = useLogin(); diff --git a/src/app/(main)/settings/websites/WebsitesTable.tsx b/src/app/(main)/settings/websites/WebsitesTable.tsx index 5e9aef2c2..79749b972 100644 --- a/src/app/(main)/settings/websites/WebsitesTable.tsx +++ b/src/app/(main)/settings/websites/WebsitesTable.tsx @@ -1,7 +1,7 @@ import { ReactNode } from 'react'; import { Text, Icon, Icons, GridTable, GridColumn } from 'react-basics'; -import { useMessages, useTeamUrl } from 'components/hooks'; -import LinkButton from 'components/common/LinkButton'; +import { useMessages, useTeamUrl } from '@/components/hooks'; +import LinkButton from '@/components/common/LinkButton'; export interface WebsitesTableProps { data: any[]; diff --git a/src/app/(main)/settings/websites/[websiteId]/ShareUrl.tsx b/src/app/(main)/settings/websites/[websiteId]/ShareUrl.tsx index 1e53e9c36..318e4e95b 100644 --- a/src/app/(main)/settings/websites/[websiteId]/ShareUrl.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/ShareUrl.tsx @@ -9,9 +9,9 @@ import { LoadingButton, } from 'react-basics'; import { useContext, useState } from 'react'; -import { getRandomChars } from 'lib/crypto'; -import { useApi, useMessages, useModified } from 'components/hooks'; -import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; +import { getRandomChars } from '@/lib/crypto'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import { WebsiteContext } from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; const generateId = () => getRandomChars(16); diff --git a/src/app/(main)/settings/websites/[websiteId]/TrackingCode.tsx b/src/app/(main)/settings/websites/[websiteId]/TrackingCode.tsx index 95fb7068c..cacdf689b 100644 --- a/src/app/(main)/settings/websites/[websiteId]/TrackingCode.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/TrackingCode.tsx @@ -1,5 +1,5 @@ import { TextArea } from 'react-basics'; -import { useMessages, useConfig } from 'components/hooks'; +import { useMessages, useConfig } from '@/components/hooks'; const SCRIPT_NAME = 'script.js'; diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx index bc6a31696..d11f24df7 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx @@ -1,10 +1,10 @@ import { Button, Modal, ModalTrigger, ActionForm } from 'react-basics'; import { useRouter } from 'next/navigation'; -import { useLogin, useMessages, useModified, useTeams, useTeamUrl } from 'components/hooks'; +import { useLogin, useMessages, useModified, useTeams, useTeamUrl } from '@/components/hooks'; import WebsiteDeleteForm from './WebsiteDeleteForm'; import WebsiteResetForm from './WebsiteResetForm'; import WebsiteTransferForm from './WebsiteTransferForm'; -import { ROLES } from 'lib/constants'; +import { ROLES } from '@/lib/constants'; export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: () => void }) { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteDeleteForm.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteDeleteForm.tsx index 077a8f4ae..5eef35442 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteDeleteForm.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteDeleteForm.tsx @@ -1,5 +1,5 @@ -import { useApi, useMessages } from 'components/hooks'; -import TypeConfirmationForm from 'components/common/TypeConfirmationForm'; +import { useApi, useMessages } from '@/components/hooks'; +import TypeConfirmationForm from '@/components/common/TypeConfirmationForm'; const CONFIRM_VALUE = 'DELETE'; diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteEditForm.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteEditForm.tsx index 155386614..aeef7f343 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteEditForm.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteEditForm.tsx @@ -1,8 +1,8 @@ import { useContext, useRef } from 'react'; import { SubmitButton, Form, FormInput, FormRow, FormButtons, TextField } from 'react-basics'; -import { useApi, useMessages, useModified } from 'components/hooks'; -import { DOMAIN_REGEX } from 'lib/constants'; -import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import { DOMAIN_REGEX } from '@/lib/constants'; +import { WebsiteContext } from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSave?: () => void }) { const website = useContext(WebsiteContext); diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteResetForm.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteResetForm.tsx index c43f3efb7..73886aa92 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteResetForm.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteResetForm.tsx @@ -1,5 +1,5 @@ -import { useApi, useMessages } from 'components/hooks'; -import TypeConfirmationForm from 'components/common/TypeConfirmationForm'; +import { useApi, useMessages } from '@/components/hooks'; +import TypeConfirmationForm from '@/components/common/TypeConfirmationForm'; const CONFIRM_VALUE = 'RESET'; diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx index 11f662b19..5bea27049 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx @@ -1,8 +1,8 @@ -import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; -import Breadcrumb from 'components/common/Breadcrumb'; -import { useMessages } from 'components/hooks'; -import Icons from 'components/icons'; -import PageHeader from 'components/layout/PageHeader'; +import { WebsiteContext } from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; +import Breadcrumb from '@/components/common/Breadcrumb'; +import { useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; +import PageHeader from '@/components/layout/PageHeader'; import Link from 'next/link'; import { Key, useContext, useState } from 'react'; import { Button, Icon, Item, Tabs, Text, useToasts } from 'react-basics'; diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteSettingsPage.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteSettingsPage.tsx index 001476298..8d7badb83 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteSettingsPage.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteSettingsPage.tsx @@ -1,5 +1,5 @@ 'use client'; -import WebsiteProvider from 'app/(main)/websites/[websiteId]/WebsiteProvider'; +import WebsiteProvider from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; import WebsiteSettings from './WebsiteSettings'; export default function WebsiteSettingsPage({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx index eb568a7f8..8214fb163 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx @@ -10,9 +10,9 @@ import { Item, Flexbox, } from 'react-basics'; -import { useApi, useLogin, useMessages, useTeams } from 'components/hooks'; -import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; -import { ROLES } from 'lib/constants'; +import { useApi, useLogin, useMessages, useTeams } from '@/components/hooks'; +import { WebsiteContext } from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; +import { ROLES } from '@/lib/constants'; export function WebsiteTransferForm({ websiteId, @@ -71,7 +71,8 @@ export function WebsiteTransferForm({ {result.data .filter(({ teamUser }) => teamUser.find( - ({ role, userId }) => [ ROLES.teamOwner, ROLES.teamManager ].includes(role) && userId === user.id, + ({ role, userId }) => + [ROLES.teamOwner, ROLES.teamManager].includes(role) && userId === user.id, ), ) .map(({ id, name }) => { diff --git a/src/app/(main)/teams/[teamId]/TeamProvider.tsx b/src/app/(main)/teams/[teamId]/TeamProvider.tsx index 467a5d227..ed2d5467e 100644 --- a/src/app/(main)/teams/[teamId]/TeamProvider.tsx +++ b/src/app/(main)/teams/[teamId]/TeamProvider.tsx @@ -1,6 +1,6 @@ 'use client'; import { createContext, ReactNode, useEffect } from 'react'; -import { useTeam, useModified } from 'components/hooks'; +import { useTeam, useModified } from '@/components/hooks'; import { Loading } from 'react-basics'; export const TeamContext = createContext(null); diff --git a/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx b/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx index f7df620a7..8c638d294 100644 --- a/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx +++ b/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx @@ -1,7 +1,7 @@ 'use client'; import { ReactNode } from 'react'; -import { useMessages, useTeamUrl } from 'components/hooks'; -import MenuLayout from 'components/layout/MenuLayout'; +import { useMessages, useTeamUrl } from '@/components/hooks'; +import MenuLayout from '@/components/layout/MenuLayout'; export default function TeamSettingsLayout({ children }: { children: ReactNode }) { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx index 9cc998699..85292f60d 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx @@ -1,4 +1,4 @@ -import { useMessages, useModified } from 'components/hooks'; +import { useMessages, useModified } from '@/components/hooks'; import { Button, Icon, Icons, Modal, ModalTrigger, Text, useToasts } from 'react-basics'; import TeamMemberEditForm from './TeamMemberEditForm'; diff --git a/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx index 401839896..4ce605dff 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx @@ -1,5 +1,5 @@ -import { useApi, useMessages } from 'components/hooks'; -import { ROLES } from 'lib/constants'; +import { useApi, useMessages } from '@/components/hooks'; +import { ROLES } from '@/lib/constants'; import { Button, Dropdown, diff --git a/src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx index 3f024395a..7344f263d 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx @@ -1,6 +1,6 @@ -import ConfirmationForm from 'components/common/ConfirmationForm'; -import { useApi, useMessages, useModified } from 'components/hooks'; -import { messages } from 'components/messages'; +import ConfirmationForm from '@/components/common/ConfirmationForm'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import { messages } from '@/components/messages'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import { FormattedMessage } from 'react-intl'; diff --git a/src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx index 996283a79..9de26415c 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx @@ -1,6 +1,6 @@ -import DataTable from 'components/common/DataTable'; +import DataTable from '@/components/common/DataTable'; import TeamMembersTable from './TeamMembersTable'; -import { useTeamMembers } from 'components/hooks'; +import { useTeamMembers } from '@/components/hooks'; export function TeamMembersDataTable({ teamId, diff --git a/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx index de0c4c0a2..557a40bad 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx @@ -1,9 +1,9 @@ 'use client'; -import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider'; +import { TeamContext } from '@/app/(main)/teams/[teamId]/TeamProvider'; import TeamMembersDataTable from './TeamMembersDataTable'; -import PageHeader from 'components/layout/PageHeader'; -import { useLogin, useMessages } from 'components/hooks'; -import { ROLES } from 'lib/constants'; +import PageHeader from '@/components/layout/PageHeader'; +import { useLogin, useMessages } from '@/components/hooks'; +import { ROLES } from '@/lib/constants'; import { useContext } from 'react'; export function TeamMembersPage({ teamId }: { teamId: string }) { diff --git a/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx index 67cb23c7d..0054437a2 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx @@ -1,6 +1,6 @@ import { GridColumn, GridTable } from 'react-basics'; -import { useMessages, useLogin } from 'components/hooks'; -import { ROLES } from 'lib/constants'; +import { useMessages, useLogin } from '@/components/hooks'; +import { ROLES } from '@/lib/constants'; import TeamMemberRemoveButton from './TeamMemberRemoveButton'; import TeamMemberEditButton from './TeamMemberEditButton'; diff --git a/src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx index 3cbdf5502..5e7f5cf8b 100644 --- a/src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx @@ -1,5 +1,5 @@ -import TypeConfirmationForm from 'components/common/TypeConfirmationForm'; -import { useApi, useMessages } from 'components/hooks'; +import TypeConfirmationForm from '@/components/common/TypeConfirmationForm'; +import { useApi, useMessages } from '@/components/hooks'; const CONFIRM_VALUE = 'DELETE'; diff --git a/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx index 70858ee4f..f3f258bde 100644 --- a/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx @@ -1,11 +1,11 @@ -import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider'; -import { useLogin, useMessages } from 'components/hooks'; -import Icons from 'components/icons'; -import PageHeader from 'components/layout/PageHeader'; -import { ROLES } from 'lib/constants'; +import { TeamContext } from '@/app/(main)/teams/[teamId]/TeamProvider'; +import { useLogin, useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; +import PageHeader from '@/components/layout/PageHeader'; +import { ROLES } from '@/lib/constants'; import { useContext, useState } from 'react'; import { Flexbox, Item, Tabs } from 'react-basics'; -import TeamLeaveButton from 'app/(main)/settings/teams/TeamLeaveButton'; +import TeamLeaveButton from '@/app/(main)/settings/teams/TeamLeaveButton'; import TeamManage from './TeamManage'; import TeamEditForm from './TeamEditForm'; diff --git a/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx index 192049651..ac158fa70 100644 --- a/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx @@ -9,10 +9,10 @@ import { Flexbox, useToasts, } from 'react-basics'; -import { getRandomChars } from 'lib/crypto'; +import { getRandomChars } from '@/lib/crypto'; import { useContext, useRef, useState } from 'react'; -import { useApi, useMessages, useModified } from 'components/hooks'; -import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider'; +import { useApi, useMessages, useModified } from '@/components/hooks'; +import { TeamContext } from '@/app/(main)/teams/[teamId]/TeamProvider'; const generateId = () => getRandomChars(16); diff --git a/src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx index 40cbee04d..24ca93d37 100644 --- a/src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx @@ -1,4 +1,4 @@ -import { useMessages, useModified } from 'components/hooks'; +import { useMessages, useModified } from '@/components/hooks'; import { useRouter } from 'next/navigation'; import { ActionForm, Button, Modal, ModalTrigger } from 'react-basics'; import TeamDeleteForm from './TeamDeleteForm'; diff --git a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx index 336e151a1..fdd76cd20 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx @@ -1,4 +1,4 @@ -import { useApi, useMessages } from 'components/hooks'; +import { useApi, useMessages } from '@/components/hooks'; import { Icon, Icons, LoadingButton, Text } from 'react-basics'; export function TeamWebsiteRemoveButton({ teamId, websiteId, onSave }) { diff --git a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx index 9e2985d49..63aa47f5d 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx @@ -1,5 +1,5 @@ -import DataTable from 'components/common/DataTable'; -import { useTeamWebsites } from 'components/hooks'; +import DataTable from '@/components/common/DataTable'; +import { useTeamWebsites } from '@/components/hooks'; import TeamWebsitesTable from './TeamWebsitesTable'; export function TeamWebsitesDataTable({ diff --git a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx index 882ef8ecc..d46d928ad 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx @@ -1,10 +1,10 @@ 'use client'; -import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider'; -import WebsiteAddButton from 'app/(main)/settings/websites/WebsiteAddButton'; -import { useLogin, useMessages } from 'components/hooks'; -import PageHeader from 'components/layout/PageHeader'; +import { TeamContext } from '@/app/(main)/teams/[teamId]/TeamProvider'; +import WebsiteAddButton from '@/app/(main)/settings/websites/WebsiteAddButton'; +import { useLogin, useMessages } from '@/components/hooks'; +import PageHeader from '@/components/layout/PageHeader'; import TeamWebsitesDataTable from './TeamWebsitesDataTable'; -import { ROLES } from 'lib/constants'; +import { ROLES } from '@/lib/constants'; import { useContext } from 'react'; export function TeamWebsitesPage({ teamId }: { teamId: string }) { diff --git a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx index dc6760a6b..76c343b17 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx @@ -1,7 +1,7 @@ import { GridColumn, GridTable, Icon, Text } from 'react-basics'; -import { useLogin, useMessages } from 'components/hooks'; -import Icons from 'components/icons'; -import LinkButton from 'components/common/LinkButton'; +import { useLogin, useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; +import LinkButton from '@/components/common/LinkButton'; export function TeamWebsitesTable({ teamId, diff --git a/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx b/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx index a68952968..a18f8a2eb 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx @@ -1,4 +1,4 @@ -import Page from 'app/(main)/settings/websites/[websiteId]/page'; +import Page from '@/app/(main)/settings/websites/[websiteId]/page'; export default function ({ params }) { return ; diff --git a/src/app/(main)/websites/WebsitesPage.tsx b/src/app/(main)/websites/WebsitesPage.tsx index d6f8524b2..b5e40b303 100644 --- a/src/app/(main)/websites/WebsitesPage.tsx +++ b/src/app/(main)/websites/WebsitesPage.tsx @@ -1,7 +1,7 @@ 'use client'; -import WebsitesHeader from 'app/(main)/settings/websites/WebsitesHeader'; -import WebsitesDataTable from 'app/(main)/settings/websites/WebsitesDataTable'; -import { useTeamUrl } from 'components/hooks'; +import WebsitesHeader from '@/app/(main)/settings/websites/WebsitesHeader'; +import WebsitesDataTable from '@/app/(main)/settings/websites/WebsitesDataTable'; +import { useTeamUrl } from '@/components/hooks'; export default function WebsitesPage() { const { teamId } = useTeamUrl(); diff --git a/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx b/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx index ddeba789d..681923077 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react'; -import PageviewsChart from 'components/metrics/PageviewsChart'; -import useWebsitePageviews from 'components/hooks/queries/useWebsitePageviews'; -import { useDateRange } from 'components/hooks'; +import PageviewsChart from '@/components/metrics/PageviewsChart'; +import useWebsitePageviews from '@/components/hooks/queries/useWebsitePageviews'; +import { useDateRange } from '@/components/hooks'; export function WebsiteChart({ websiteId, diff --git a/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx b/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx index e33e948af..b27f9870d 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx @@ -3,10 +3,10 @@ import { useMemo } from 'react'; import { firstBy } from 'thenby'; import Link from 'next/link'; import WebsiteChart from './WebsiteChart'; -import useDashboard from 'store/dashboard'; +import useDashboard from '@/store/dashboard'; import WebsiteHeader from './WebsiteHeader'; import { WebsiteMetricsBar } from './WebsiteMetricsBar'; -import { useMessages, useLocale, useTeamUrl } from 'components/hooks'; +import { useMessages, useLocale, useTeamUrl } from '@/components/hooks'; export default function WebsiteChartList({ websites, diff --git a/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx b/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx index 3eeeb18fd..460792efc 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx @@ -1,13 +1,13 @@ 'use client'; import { usePathname } from 'next/navigation'; -import FilterTags from 'components/metrics/FilterTags'; -import { useNavigation } from 'components/hooks'; +import FilterTags from '@/components/metrics/FilterTags'; +import { useNavigation } from '@/components/hooks'; import WebsiteChart from './WebsiteChart'; import WebsiteExpandedView from './WebsiteExpandedView'; import WebsiteHeader from './WebsiteHeader'; import WebsiteMetricsBar from './WebsiteMetricsBar'; import WebsiteTableView from './WebsiteTableView'; -import { FILTER_COLUMNS } from 'lib/constants'; +import { FILTER_COLUMNS } from '@/lib/constants'; export default function WebsiteDetailsPage({ websiteId }: { websiteId: string }) { const pathname = usePathname(); diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx index 95e718b42..e4a08b05e 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx @@ -1,21 +1,22 @@ -import LinkButton from 'components/common/LinkButton'; -import { useLocale, useMessages, useNavigation } from 'components/hooks'; -import SideNav from 'components/layout/SideNav'; -import BrowsersTable from 'components/metrics/BrowsersTable'; -import CitiesTable from 'components/metrics/CitiesTable'; -import CountriesTable from 'components/metrics/CountriesTable'; -import DevicesTable from 'components/metrics/DevicesTable'; -import EventsTable from 'components/metrics/EventsTable'; -import HostsTable from 'components/metrics/HostsTable'; -import LanguagesTable from 'components/metrics/LanguagesTable'; -import OSTable from 'components/metrics/OSTable'; -import PagesTable from 'components/metrics/PagesTable'; -import QueryParametersTable from 'components/metrics/QueryParametersTable'; -import ReferrersTable from 'components/metrics/ReferrersTable'; -import RegionsTable from 'components/metrics/RegionsTable'; -import ScreenTable from 'components/metrics/ScreenTable'; -import TagsTable from 'components/metrics/TagsTable'; import { Dropdown, Icon, Icons, Item, Text } from 'react-basics'; +import LinkButton from '@/components/common/LinkButton'; +import { useLocale, useMessages, useNavigation } from '@/components/hooks'; +import SideNav from '@/components/layout/SideNav'; +import BrowsersTable from '@/components/metrics/BrowsersTable'; +import CitiesTable from '@/components/metrics/CitiesTable'; +import CountriesTable from '@/components/metrics/CountriesTable'; +import DevicesTable from '@/components/metrics/DevicesTable'; +import EventsTable from '@/components/metrics/EventsTable'; +import HostsTable from '@/components/metrics/HostsTable'; +import LanguagesTable from '@/components/metrics/LanguagesTable'; +import OSTable from '@/components/metrics/OSTable'; +import PagesTable from '@/components/metrics/PagesTable'; +import QueryParametersTable from '@/components/metrics/QueryParametersTable'; +import ReferrersTable from '@/components/metrics/ReferrersTable'; +import RegionsTable from '@/components/metrics/RegionsTable'; +import ScreenTable from '@/components/metrics/ScreenTable'; +import TagsTable from '@/components/metrics/TagsTable'; +import ChannelsTable from '@/components/metrics/ChannelsTable'; import styles from './WebsiteExpandedView.module.css'; const views = { @@ -36,6 +37,7 @@ const views = { event: EventsTable, query: QueryParametersTable, tag: TagsTable, + channel: ChannelsTable, }; export default function WebsiteExpandedView({ @@ -64,6 +66,11 @@ export default function WebsiteExpandedView({ label: formatMessage(labels.referrers), url: renderUrl({ view: 'referrer' }), }, + { + key: 'channel', + label: formatMessage(labels.channels), + url: renderUrl({ view: 'channel' }), + }, { key: 'browser', label: formatMessage(labels.browsers), diff --git a/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx b/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx index a6229e958..02b744184 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx @@ -1,8 +1,8 @@ import { Button, Icon, Icons, Popup, PopupTrigger, Text } from 'react-basics'; -import PopupForm from 'app/(main)/reports/[reportId]/PopupForm'; -import FilterSelectForm from 'app/(main)/reports/[reportId]/FilterSelectForm'; -import { useFields, useMessages, useNavigation, useDateRange } from 'components/hooks'; -import { OPERATOR_PREFIXES } from 'lib/constants'; +import PopupForm from '@/app/(main)/reports/[reportId]/PopupForm'; +import FilterSelectForm from '@/app/(main)/reports/[reportId]/FilterSelectForm'; +import { useFields, useMessages, useNavigation, useDateRange } from '@/components/hooks'; +import { OPERATOR_PREFIXES } from '@/lib/constants'; import styles from './WebsiteFilterButton.module.css'; export function WebsiteFilterButton({ diff --git a/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx b/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx index edd10b99b..b568dd3dc 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx @@ -1,13 +1,13 @@ import classNames from 'classnames'; -import Favicon from 'components/common/Favicon'; -import { useMessages, useTeamUrl, useWebsite } from 'components/hooks'; -import Icons from 'components/icons'; -import ActiveUsers from 'components/metrics/ActiveUsers'; +import Favicon from '@/components/common/Favicon'; +import { useMessages, useTeamUrl, useWebsite } from '@/components/hooks'; +import Icons from '@/components/icons'; +import ActiveUsers from '@/components/metrics/ActiveUsers'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { ReactNode } from 'react'; import { Button, Icon, Text } from 'react-basics'; -import Lightning from 'assets/lightning.svg'; +import Lightning from '@/assets/lightning.svg'; import styles from './WebsiteHeader.module.css'; export function WebsiteHeader({ diff --git a/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx b/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx index a6e7ad408..f206d3c9e 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx @@ -1,14 +1,14 @@ -import classNames from 'classnames'; -import { useDateRange, useMessages, useSticky } from 'components/hooks'; -import WebsiteDateFilter from 'components/input/WebsiteDateFilter'; -import MetricCard from 'components/metrics/MetricCard'; -import MetricsBar from 'components/metrics/MetricsBar'; -import { formatShortTime, formatLongNumber } from 'lib/format'; -import WebsiteFilterButton from './WebsiteFilterButton'; -import useWebsiteStats from 'components/hooks/queries/useWebsiteStats'; -import styles from './WebsiteMetricsBar.module.css'; import { Dropdown, Item } from 'react-basics'; -import useStore, { setWebsiteDateCompare } from 'store/websites'; +import classNames from 'classnames'; +import { useDateRange, useMessages, useSticky } from '@/components/hooks'; +import WebsiteDateFilter from '@/components/input/WebsiteDateFilter'; +import MetricCard from '@/components/metrics/MetricCard'; +import MetricsBar from '@/components/metrics/MetricsBar'; +import { formatShortTime, formatLongNumber } from '@/lib/format'; +import useWebsiteStats from '@/components/hooks/queries/useWebsiteStats'; +import useStore, { setWebsiteDateCompare } from '@/store/websites'; +import WebsiteFilterButton from './WebsiteFilterButton'; +import styles from './WebsiteMetricsBar.module.css'; export function WebsiteMetricsBar({ websiteId, diff --git a/src/app/(main)/websites/[websiteId]/WebsiteProvider.tsx b/src/app/(main)/websites/[websiteId]/WebsiteProvider.tsx index 3cdfdd5df..198ad030f 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteProvider.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteProvider.tsx @@ -1,6 +1,6 @@ 'use client'; import { createContext, ReactNode, useEffect } from 'react'; -import { useModified, useWebsite } from 'components/hooks'; +import { useModified, useWebsite } from '@/components/hooks'; import { Loading } from 'react-basics'; export const WebsiteContext = createContext(null); diff --git a/src/app/(main)/websites/[websiteId]/WebsiteTableView.tsx b/src/app/(main)/websites/[websiteId]/WebsiteTableView.tsx index 2782cac62..02422075c 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteTableView.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteTableView.tsx @@ -1,13 +1,13 @@ -import { Grid, GridRow } from 'components/layout/Grid'; -import PagesTable from 'components/metrics/PagesTable'; -import ReferrersTable from 'components/metrics/ReferrersTable'; -import BrowsersTable from 'components/metrics/BrowsersTable'; -import OSTable from 'components/metrics/OSTable'; -import DevicesTable from 'components/metrics/DevicesTable'; -import WorldMap from 'components/metrics/WorldMap'; -import CountriesTable from 'components/metrics/CountriesTable'; -import EventsTable from 'components/metrics/EventsTable'; -import EventsChart from 'components/metrics/EventsChart'; +import { Grid, GridRow } from '@/components/layout/Grid'; +import PagesTable from '@/components/metrics/PagesTable'; +import ReferrersTable from '@/components/metrics/ReferrersTable'; +import BrowsersTable from '@/components/metrics/BrowsersTable'; +import OSTable from '@/components/metrics/OSTable'; +import DevicesTable from '@/components/metrics/DevicesTable'; +import WorldMap from '@/components/metrics/WorldMap'; +import CountriesTable from '@/components/metrics/CountriesTable'; +import EventsTable from '@/components/metrics/EventsTable'; +import EventsChart from '@/components/metrics/EventsChart'; import { usePathname } from 'next/navigation'; export default function WebsiteTableView({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/websites/[websiteId]/compare/WebsiteComparePage.tsx b/src/app/(main)/websites/[websiteId]/compare/WebsiteComparePage.tsx index 21cd65972..10a2eed15 100644 --- a/src/app/(main)/websites/[websiteId]/compare/WebsiteComparePage.tsx +++ b/src/app/(main)/websites/[websiteId]/compare/WebsiteComparePage.tsx @@ -1,9 +1,9 @@ 'use client'; import WebsiteHeader from '../WebsiteHeader'; import WebsiteMetricsBar from '../WebsiteMetricsBar'; -import FilterTags from 'components/metrics/FilterTags'; -import { useNavigation } from 'components/hooks'; -import { FILTER_COLUMNS } from 'lib/constants'; +import FilterTags from '@/components/metrics/FilterTags'; +import { useNavigation } from '@/components/hooks'; +import { FILTER_COLUMNS } from '@/lib/constants'; import WebsiteChart from '../WebsiteChart'; import WebsiteCompareTables from './WebsiteCompareTables'; diff --git a/src/app/(main)/websites/[websiteId]/compare/WebsiteCompareTables.tsx b/src/app/(main)/websites/[websiteId]/compare/WebsiteCompareTables.tsx index af5a06d49..ce7f5b47b 100644 --- a/src/app/(main)/websites/[websiteId]/compare/WebsiteCompareTables.tsx +++ b/src/app/(main)/websites/[websiteId]/compare/WebsiteCompareTables.tsx @@ -1,25 +1,25 @@ -import { useDateRange, useMessages, useNavigation } from 'components/hooks'; -import { Grid, GridRow } from 'components/layout/Grid'; -import SideNav from 'components/layout/SideNav'; -import BrowsersTable from 'components/metrics/BrowsersTable'; -import ChangeLabel from 'components/metrics/ChangeLabel'; -import CitiesTable from 'components/metrics/CitiesTable'; -import CountriesTable from 'components/metrics/CountriesTable'; -import DevicesTable from 'components/metrics/DevicesTable'; -import EventsTable from 'components/metrics/EventsTable'; -import LanguagesTable from 'components/metrics/LanguagesTable'; -import MetricsTable from 'components/metrics/MetricsTable'; -import OSTable from 'components/metrics/OSTable'; -import PagesTable from 'components/metrics/PagesTable'; -import QueryParametersTable from 'components/metrics/QueryParametersTable'; -import ReferrersTable from 'components/metrics/ReferrersTable'; -import RegionsTable from 'components/metrics/RegionsTable'; -import ScreenTable from 'components/metrics/ScreenTable'; -import TagsTable from 'components/metrics/TagsTable'; -import { getCompareDate } from 'lib/date'; -import { formatNumber } from 'lib/format'; +import { useDateRange, useMessages, useNavigation } from '@/components/hooks'; +import { Grid, GridRow } from '@/components/layout/Grid'; +import SideNav from '@/components/layout/SideNav'; +import BrowsersTable from '@/components/metrics/BrowsersTable'; +import ChangeLabel from '@/components/metrics/ChangeLabel'; +import CitiesTable from '@/components/metrics/CitiesTable'; +import CountriesTable from '@/components/metrics/CountriesTable'; +import DevicesTable from '@/components/metrics/DevicesTable'; +import EventsTable from '@/components/metrics/EventsTable'; +import LanguagesTable from '@/components/metrics/LanguagesTable'; +import MetricsTable from '@/components/metrics/MetricsTable'; +import OSTable from '@/components/metrics/OSTable'; +import PagesTable from '@/components/metrics/PagesTable'; +import QueryParametersTable from '@/components/metrics/QueryParametersTable'; +import ReferrersTable from '@/components/metrics/ReferrersTable'; +import RegionsTable from '@/components/metrics/RegionsTable'; +import ScreenTable from '@/components/metrics/ScreenTable'; +import TagsTable from '@/components/metrics/TagsTable'; +import { getCompareDate } from '@/lib/date'; +import { formatNumber } from '@/lib/format'; import { useState } from 'react'; -import useStore from 'store/websites'; +import useStore from '@/store/websites'; import styles from './WebsiteCompareTables.module.css'; const views = { diff --git a/src/app/(main)/websites/[websiteId]/events/EventProperties.tsx b/src/app/(main)/websites/[websiteId]/events/EventProperties.tsx index 760f34f90..453aa9a85 100644 --- a/src/app/(main)/websites/[websiteId]/events/EventProperties.tsx +++ b/src/app/(main)/websites/[websiteId]/events/EventProperties.tsx @@ -1,9 +1,9 @@ import { GridColumn, GridTable } from 'react-basics'; -import { useEventDataProperties, useEventDataValues, useMessages } from 'components/hooks'; -import { LoadingPanel } from 'components/common/LoadingPanel'; -import PieChart from 'components/charts/PieChart'; +import { useEventDataProperties, useEventDataValues, useMessages } from '@/components/hooks'; +import { LoadingPanel } from '@/components/common/LoadingPanel'; +import PieChart from '@/components/charts/PieChart'; import { useState } from 'react'; -import { CHART_COLORS } from 'lib/constants'; +import { CHART_COLORS } from '@/lib/constants'; import styles from './EventProperties.module.css'; export function EventProperties({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/websites/[websiteId]/events/EventsDataTable.tsx b/src/app/(main)/websites/[websiteId]/events/EventsDataTable.tsx index 32eb985c6..ce9048d31 100644 --- a/src/app/(main)/websites/[websiteId]/events/EventsDataTable.tsx +++ b/src/app/(main)/websites/[websiteId]/events/EventsDataTable.tsx @@ -1,6 +1,6 @@ -import { useWebsiteEvents } from 'components/hooks'; +import { useWebsiteEvents } from '@/components/hooks'; import EventsTable from './EventsTable'; -import DataTable from 'components/common/DataTable'; +import DataTable from '@/components/common/DataTable'; import { ReactNode } from 'react'; export default function EventsDataTable({ diff --git a/src/app/(main)/websites/[websiteId]/events/EventsMetricsBar.tsx b/src/app/(main)/websites/[websiteId]/events/EventsMetricsBar.tsx index d039b67f7..e90a7790a 100644 --- a/src/app/(main)/websites/[websiteId]/events/EventsMetricsBar.tsx +++ b/src/app/(main)/websites/[websiteId]/events/EventsMetricsBar.tsx @@ -1,9 +1,9 @@ -import { useMessages } from 'components/hooks'; -import useWebsiteSessionStats from 'components/hooks/queries/useWebsiteSessionStats'; -import WebsiteDateFilter from 'components/input/WebsiteDateFilter'; -import MetricCard from 'components/metrics/MetricCard'; -import MetricsBar from 'components/metrics/MetricsBar'; -import { formatLongNumber } from 'lib/format'; +import { useMessages } from '@/components/hooks'; +import useWebsiteSessionStats from '@/components/hooks/queries/useWebsiteSessionStats'; +import WebsiteDateFilter from '@/components/input/WebsiteDateFilter'; +import MetricCard from '@/components/metrics/MetricCard'; +import MetricsBar from '@/components/metrics/MetricsBar'; +import { formatLongNumber } from '@/lib/format'; import { Flexbox } from 'react-basics'; export function EventsMetricsBar({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/websites/[websiteId]/events/EventsPage.tsx b/src/app/(main)/websites/[websiteId]/events/EventsPage.tsx index 7dfc0394c..cf4c19ef4 100644 --- a/src/app/(main)/websites/[websiteId]/events/EventsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/events/EventsPage.tsx @@ -2,10 +2,10 @@ import WebsiteHeader from '../WebsiteHeader'; import EventsDataTable from './EventsDataTable'; import EventsMetricsBar from './EventsMetricsBar'; -import EventsChart from 'components/metrics/EventsChart'; -import { GridRow } from 'components/layout/Grid'; -import MetricsTable from 'components/metrics/MetricsTable'; -import { useMessages } from 'components/hooks'; +import EventsChart from '@/components/metrics/EventsChart'; +import { GridRow } from '@/components/layout/Grid'; +import MetricsTable from '@/components/metrics/MetricsTable'; +import { useMessages } from '@/components/hooks'; import { Item, Tabs } from 'react-basics'; import { useState } from 'react'; import EventProperties from './EventProperties'; diff --git a/src/app/(main)/websites/[websiteId]/events/EventsTable.tsx b/src/app/(main)/websites/[websiteId]/events/EventsTable.tsx index 42eb8f7ad..8e6cdf764 100644 --- a/src/app/(main)/websites/[websiteId]/events/EventsTable.tsx +++ b/src/app/(main)/websites/[websiteId]/events/EventsTable.tsx @@ -1,9 +1,9 @@ import { GridTable, GridColumn, Icon } from 'react-basics'; -import { useMessages, useTeamUrl, useTimezone } from 'components/hooks'; -import Empty from 'components/common/Empty'; -import Avatar from 'components/common/Avatar'; +import { useMessages, useTeamUrl, useTimezone } from '@/components/hooks'; +import Empty from '@/components/common/Empty'; +import Avatar from '@/components/common/Avatar'; import Link from 'next/link'; -import Icons from 'components/icons'; +import Icons from '@/components/icons'; export function EventsTable({ data = [] }) { const { formatTimezoneDate } = useTimezone(); diff --git a/src/app/(main)/websites/[websiteId]/layout.tsx b/src/app/(main)/websites/[websiteId]/layout.tsx index 1df69cd31..2542f65af 100644 --- a/src/app/(main)/websites/[websiteId]/layout.tsx +++ b/src/app/(main)/websites/[websiteId]/layout.tsx @@ -6,7 +6,7 @@ export default async function ({ params, }: { children: any; - params: { websiteId: string }; + params: Promise<{ websiteId: string }>; }) { const { websiteId } = await params; diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeCountries.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeCountries.tsx index 516634410..c3a3b8f70 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeCountries.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeCountries.tsx @@ -1,9 +1,9 @@ import { useCallback } from 'react'; -import ListTable from 'components/metrics/ListTable'; -import { useLocale, useCountryNames, useMessages } from 'components/hooks'; +import ListTable from '@/components/metrics/ListTable'; +import { useLocale, useCountryNames, useMessages } from '@/components/hooks'; import classNames from 'classnames'; import styles from './RealtimeCountries.module.css'; -import TypeIcon from 'components/common/TypeIcon'; +import TypeIcon from '@/components/common/TypeIcon'; export function RealtimeCountries({ data }) { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx index c27143aac..6db56b76e 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx @@ -1,6 +1,6 @@ -import MetricCard from 'components/metrics/MetricCard'; -import { useMessages } from 'components/hooks'; -import { RealtimeData } from 'lib/types'; +import MetricCard from '@/components/metrics/MetricCard'; +import { useMessages } from '@/components/hooks'; +import { RealtimeData } from '@/lib/types'; import styles from './RealtimeHeader.module.css'; export function RealtimeHeader({ data }: { data: RealtimeData }) { diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeHome.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeHome.tsx index 0ed5fbdec..104cf3347 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeHome.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeHome.tsx @@ -1,9 +1,9 @@ import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; -import Page from 'components/layout/Page'; -import PageHeader from 'components/layout/PageHeader'; -import { useApi, useMessages } from 'components/hooks'; -import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; +import Page from '@/components/layout/Page'; +import PageHeader from '@/components/layout/PageHeader'; +import { useApi, useMessages } from '@/components/hooks'; +import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; export function RealtimeHome() { const { formatMessage, labels, messages } = useMessages(); diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx index 103b5eba6..1f56983d6 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx @@ -1,11 +1,11 @@ -import useFormat from 'components//hooks/useFormat'; -import Empty from 'components/common/Empty'; -import FilterButtons from 'components/common/FilterButtons'; -import { useCountryNames, useLocale, useMessages, useTimezone } from 'components/hooks'; -import Icons from 'components/icons'; -import { BROWSERS, OS_NAMES } from 'lib/constants'; -import { stringToColor } from 'lib/format'; -import { RealtimeData } from 'lib/types'; +import useFormat from '@/components//hooks/useFormat'; +import Empty from '@/components/common/Empty'; +import FilterButtons from '@/components/common/FilterButtons'; +import { useCountryNames, useLocale, useMessages, useTimezone } from '@/components/hooks'; +import Icons from '@/components/icons'; +import { BROWSERS, OS_NAMES } from '@/lib/constants'; +import { stringToColor } from '@/lib/format'; +import { RealtimeData } from '@/lib/types'; import { useContext, useMemo, useState } from 'react'; import { Icon, SearchField, StatusLight, Text } from 'react-basics'; import { FixedSizeList } from 'react-window'; diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx index 15b40f015..ce95bf41d 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx @@ -1,11 +1,11 @@ import { Key, useContext, useState } from 'react'; import { ButtonGroup, Button, Flexbox } from 'react-basics'; import thenby from 'thenby'; -import { percentFilter } from 'lib/filters'; -import ListTable from 'components/metrics/ListTable'; -import { FILTER_PAGES, FILTER_REFERRERS } from 'lib/constants'; -import { useMessages } from 'components/hooks'; -import { RealtimeData } from 'lib/types'; +import { percentFilter } from '@/lib/filters'; +import ListTable from '@/components/metrics/ListTable'; +import { FILTER_PAGES, FILTER_REFERRERS } from '@/lib/constants'; +import { useMessages } from '@/components/hooks'; +import { RealtimeData } from '@/lib/types'; import { WebsiteContext } from '../WebsiteProvider'; export function RealtimeUrls({ data }: { data: RealtimeData }) { diff --git a/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx b/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx index 7030cc32e..6edc28f97 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx @@ -1,16 +1,16 @@ 'use client'; import { firstBy } from 'thenby'; -import { Grid, GridRow } from 'components/layout/Grid'; -import Page from 'components/layout/Page'; -import RealtimeChart from 'components/metrics/RealtimeChart'; -import WorldMap from 'components/metrics/WorldMap'; -import { useRealtime } from 'components/hooks'; +import { Grid, GridRow } from '@/components/layout/Grid'; +import Page from '@/components/layout/Page'; +import RealtimeChart from '@/components/metrics/RealtimeChart'; +import WorldMap from '@/components/metrics/WorldMap'; +import { useRealtime } from '@/components/hooks'; import RealtimeLog from './RealtimeLog'; import RealtimeHeader from './RealtimeHeader'; import RealtimeUrls from './RealtimeUrls'; import RealtimeCountries from './RealtimeCountries'; import WebsiteHeader from '../WebsiteHeader'; -import { percentFilter } from 'lib/filters'; +import { percentFilter } from '@/lib/filters'; export function WebsiteRealtimePage({ websiteId }) { const { data, isLoading, error } = useRealtime(websiteId); diff --git a/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx b/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx index 051f6ed39..e61aacb14 100644 --- a/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx @@ -1,9 +1,9 @@ 'use client'; import Link from 'next/link'; import { Button, Flexbox, Icon, Icons, Text } from 'react-basics'; -import { useMessages, useTeamUrl } from 'components/hooks'; +import { useMessages, useTeamUrl } from '@/components/hooks'; import WebsiteHeader from '../WebsiteHeader'; -import ReportsDataTable from 'app/(main)/reports/ReportsDataTable'; +import ReportsDataTable from '@/app/(main)/reports/ReportsDataTable'; export function WebsiteReportsPage({ websiteId }) { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionProperties.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionProperties.tsx index 49b63e748..a0b47bc9a 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionProperties.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionProperties.tsx @@ -1,9 +1,9 @@ import { GridColumn, GridTable } from 'react-basics'; -import { useSessionDataProperties, useSessionDataValues, useMessages } from 'components/hooks'; -import { LoadingPanel } from 'components/common/LoadingPanel'; -import PieChart from 'components/charts/PieChart'; +import { useSessionDataProperties, useSessionDataValues, useMessages } from '@/components/hooks'; +import { LoadingPanel } from '@/components/common/LoadingPanel'; +import PieChart from '@/components/charts/PieChart'; import { useState } from 'react'; -import { CHART_COLORS } from 'lib/constants'; +import { CHART_COLORS } from '@/lib/constants'; import styles from './SessionProperties.module.css'; export function SessionProperties({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsDataTable.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsDataTable.tsx index 788d0066c..56e0df628 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsDataTable.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsDataTable.tsx @@ -1,6 +1,6 @@ -import { useWebsiteSessions } from 'components/hooks'; +import { useWebsiteSessions } from '@/components/hooks'; import SessionsTable from './SessionsTable'; -import DataTable from 'components/common/DataTable'; +import DataTable from '@/components/common/DataTable'; import { ReactNode } from 'react'; export default function SessionsDataTable({ diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx index 803e7a069..62d60de8b 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx @@ -1,9 +1,9 @@ -import { useMessages } from 'components/hooks'; -import useWebsiteSessionStats from 'components/hooks/queries/useWebsiteSessionStats'; -import WebsiteDateFilter from 'components/input/WebsiteDateFilter'; -import MetricCard from 'components/metrics/MetricCard'; -import MetricsBar from 'components/metrics/MetricsBar'; -import { formatLongNumber } from 'lib/format'; +import { useMessages } from '@/components/hooks'; +import useWebsiteSessionStats from '@/components/hooks/queries/useWebsiteSessionStats'; +import WebsiteDateFilter from '@/components/input/WebsiteDateFilter'; +import MetricCard from '@/components/metrics/MetricCard'; +import MetricsBar from '@/components/metrics/MetricsBar'; +import { formatLongNumber } from '@/lib/format'; import { Flexbox } from 'react-basics'; export function SessionsMetricsBar({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx index 30fd193db..2ee044db6 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx @@ -3,11 +3,11 @@ import WebsiteHeader from '../WebsiteHeader'; import SessionsDataTable from './SessionsDataTable'; import SessionsMetricsBar from './SessionsMetricsBar'; import SessionProperties from './SessionProperties'; -import WorldMap from 'components/metrics/WorldMap'; -import { GridRow } from 'components/layout/Grid'; +import WorldMap from '@/components/metrics/WorldMap'; +import { GridRow } from '@/components/layout/Grid'; import { Item, Tabs } from 'react-basics'; import { useState } from 'react'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import SessionsWeekly from './SessionsWeekly'; export function SessionsPage({ websiteId }) { diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx index 3fea4836c..ddb3ed65b 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx @@ -1,9 +1,9 @@ import Link from 'next/link'; import { GridColumn, GridTable } from 'react-basics'; -import { useFormat, useMessages, useTimezone } from 'components/hooks'; -import Avatar from 'components/common/Avatar'; +import { useFormat, useMessages, useTimezone } from '@/components/hooks'; +import Avatar from '@/components/common/Avatar'; import styles from './SessionsTable.module.css'; -import TypeIcon from 'components/common/TypeIcon'; +import TypeIcon from '@/components/common/TypeIcon'; export function SessionsTable({ data = [] }: { data: any[]; showDomain?: boolean }) { const { formatTimezoneDate } = useTimezone(); diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsWeekly.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsWeekly.tsx index 4280b7e9c..6082f0e2d 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsWeekly.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsWeekly.tsx @@ -1,7 +1,7 @@ import { format, startOfDay, addHours } from 'date-fns'; -import { useLocale, useMessages, useWebsiteSessionsWeekly } from 'components/hooks'; -import { LoadingPanel } from 'components/common/LoadingPanel'; -import { getDayOfWeekAsDate } from 'lib/date'; +import { useLocale, useMessages, useWebsiteSessionsWeekly } from '@/components/hooks'; +import { LoadingPanel } from '@/components/common/LoadingPanel'; +import { getDayOfWeekAsDate } from '@/lib/date'; import styles from './SessionsWeekly.module.css'; import classNames from 'classnames'; import { TooltipPopup } from 'react-basics'; diff --git a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionActivity.tsx b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionActivity.tsx index 15b02758d..0a020d5cb 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionActivity.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionActivity.tsx @@ -1,7 +1,7 @@ import { isSameDay } from 'date-fns'; import { Loading, Icon, StatusLight } from 'react-basics'; -import Icons from 'components/icons'; -import { useSessionActivity, useTimezone } from 'components/hooks'; +import Icons from '@/components/icons'; +import { useSessionActivity, useTimezone } from '@/components/hooks'; import styles from './SessionActivity.module.css'; import { Fragment } from 'react'; diff --git a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionData.tsx b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionData.tsx index 39b6afd1f..56d4a0d91 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionData.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionData.tsx @@ -1,9 +1,9 @@ import { TextOverflow } from 'react-basics'; -import { useMessages, useSessionData } from 'components/hooks'; -import Empty from 'components/common/Empty'; -import { DATA_TYPES } from 'lib/constants'; +import { useMessages, useSessionData } from '@/components/hooks'; +import Empty from '@/components/common/Empty'; +import { DATA_TYPES } from '@/lib/constants'; import styles from './SessionData.module.css'; -import { LoadingPanel } from 'components/common/LoadingPanel'; +import { LoadingPanel } from '@/components/common/LoadingPanel'; export function SessionData({ websiteId, sessionId }: { websiteId: string; sessionId: string }) { const { formatMessage, labels } = useMessages(); diff --git a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionDetailsPage.tsx b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionDetailsPage.tsx index d6a07edcf..9ccf275f6 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionDetailsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionDetailsPage.tsx @@ -1,7 +1,7 @@ 'use client'; -import Avatar from 'components/common/Avatar'; -import { LoadingPanel } from 'components/common/LoadingPanel'; -import { useWebsiteSession } from 'components/hooks'; +import Avatar from '@/components/common/Avatar'; +import { LoadingPanel } from '@/components/common/LoadingPanel'; +import { useWebsiteSession } from '@/components/hooks'; import WebsiteHeader from '../../WebsiteHeader'; import { SessionActivity } from './SessionActivity'; import { SessionData } from './SessionData'; diff --git a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionInfo.tsx b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionInfo.tsx index 6f9a8f3d5..889eb972f 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionInfo.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionInfo.tsx @@ -1,7 +1,7 @@ -import { useFormat, useLocale, useMessages, useRegionNames, useTimezone } from 'components/hooks'; -import TypeIcon from 'components/common/TypeIcon'; +import { useFormat, useLocale, useMessages, useRegionNames, useTimezone } from '@/components/hooks'; +import TypeIcon from '@/components/common/TypeIcon'; import { Icon, CopyIcon } from 'react-basics'; -import Icons from 'components/icons'; +import Icons from '@/components/icons'; import styles from './SessionInfo.module.css'; export default function SessionInfo({ data }) { diff --git a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionStats.tsx b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionStats.tsx index ea606582f..eb385e9bb 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionStats.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/[sessionId]/SessionStats.tsx @@ -1,7 +1,7 @@ -import { useMessages } from 'components/hooks'; -import MetricCard from 'components/metrics/MetricCard'; -import MetricsBar from 'components/metrics/MetricsBar'; -import { formatShortTime } from 'lib/format'; +import { useMessages } from '@/components/hooks'; +import MetricCard from '@/components/metrics/MetricCard'; +import MetricsBar from '@/components/metrics/MetricsBar'; +import { formatShortTime } from '@/lib/format'; export function SessionStats({ data }) { const { formatMessage, labels } = useMessages(); diff --git a/src/app/Providers.tsx b/src/app/Providers.tsx index bbc10a35c..66884c2fc 100644 --- a/src/app/Providers.tsx +++ b/src/app/Providers.tsx @@ -2,8 +2,8 @@ import { IntlProvider } from 'react-intl'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactBasicsProvider } from 'react-basics'; -import ErrorBoundary from 'components/common/ErrorBoundary'; -import { useLocale } from 'components/hooks'; +import ErrorBoundary from '@/components/common/ErrorBoundary'; +import { useLocale } from '@/components/hooks'; import 'chartjs-adapter-date-fns'; import { useEffect } from 'react'; diff --git a/src/app/api/admin/users/route.ts b/src/app/api/admin/users/route.ts index 5ed4a8ffe..2185e03e7 100644 --- a/src/app/api/admin/users/route.ts +++ b/src/app/api/admin/users/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { json, unauthorized } from 'lib/response'; -import { pagingParams } from 'lib/schema'; -import { canViewUsers } from 'lib/auth'; -import { getUsers } from 'queries/prisma/user'; +import { parseRequest } from '@/lib/request'; +import { json, unauthorized } from '@/lib/response'; +import { pagingParams } from '@/lib/schema'; +import { canViewUsers } from '@/lib/auth'; +import { getUsers } from '@/queries/prisma/user'; export async function GET(request: Request) { const schema = z.object({ diff --git a/src/app/api/admin/websites/route.ts b/src/app/api/admin/websites/route.ts index 014ef8d55..ec399c0d7 100644 --- a/src/app/api/admin/websites/route.ts +++ b/src/app/api/admin/websites/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { json, unauthorized } from 'lib/response'; -import { pagingParams } from 'lib/schema'; -import { canViewAllWebsites } from 'lib/auth'; -import { getWebsites } from 'queries/prisma/website'; -import { ROLES } from 'lib/constants'; +import { parseRequest } from '@/lib/request'; +import { json, unauthorized } from '@/lib/response'; +import { pagingParams } from '@/lib/schema'; +import { canViewAllWebsites } from '@/lib/auth'; +import { getWebsites } from '@/queries/prisma/website'; +import { ROLES } from '@/lib/constants'; export async function GET(request: Request) { const schema = z.object({ diff --git a/src/app/api/auth/login/route.ts b/src/app/api/auth/login/route.ts index f972fa05b..0b48fe830 100644 --- a/src/app/api/auth/login/route.ts +++ b/src/app/api/auth/login/route.ts @@ -1,13 +1,13 @@ import { z } from 'zod'; -import { checkPassword } from 'lib/auth'; -import { createSecureToken } from 'lib/jwt'; +import { checkPassword } from '@/lib/auth'; +import { createSecureToken } from '@/lib/jwt'; import { redisEnabled } from '@umami/redis-client'; -import { getUserByUsername } from 'queries'; -import { json, unauthorized } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { saveAuth } from 'lib/auth'; -import { secret } from 'lib/crypto'; -import { ROLES } from 'lib/constants'; +import { getUserByUsername } from '@/queries'; +import { json, unauthorized } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { saveAuth } from '@/lib/auth'; +import { secret } from '@/lib/crypto'; +import { ROLES } from '@/lib/constants'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/auth/logout/route.ts b/src/app/api/auth/logout/route.ts index ce7ce7f81..22bb3091d 100644 --- a/src/app/api/auth/logout/route.ts +++ b/src/app/api/auth/logout/route.ts @@ -1,5 +1,5 @@ import { getClient, redisEnabled } from '@umami/redis-client'; -import { ok } from 'lib/response'; +import { ok } from '@/lib/response'; export async function POST(request: Request) { if (redisEnabled) { diff --git a/src/app/api/auth/sso/route.ts b/src/app/api/auth/sso/route.ts index e06e403cd..4a7134241 100644 --- a/src/app/api/auth/sso/route.ts +++ b/src/app/api/auth/sso/route.ts @@ -1,7 +1,7 @@ import { redisEnabled } from '@umami/redis-client'; -import { json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { saveAuth } from 'lib/auth'; +import { json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { saveAuth } from '@/lib/auth'; export async function POST(request: Request) { const { auth, error } = await parseRequest(request); diff --git a/src/app/api/auth/verify/route.ts b/src/app/api/auth/verify/route.ts index db62a3392..4d98b5543 100644 --- a/src/app/api/auth/verify/route.ts +++ b/src/app/api/auth/verify/route.ts @@ -1,5 +1,5 @@ -import { parseRequest } from 'lib/request'; -import { json } from 'lib/response'; +import { parseRequest } from '@/lib/request'; +import { json } from '@/lib/response'; export async function GET(request: Request) { const { auth, error } = await parseRequest(request); diff --git a/src/app/api/me/password/route.ts b/src/app/api/me/password/route.ts index b4089bf47..69bef49b3 100644 --- a/src/app/api/me/password/route.ts +++ b/src/app/api/me/password/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { checkPassword, hashPassword } from 'lib/auth'; -import { parseRequest } from 'lib/request'; -import { json, badRequest } from 'lib/response'; -import { getUser, updateUser } from 'queries/prisma/user'; +import { checkPassword, hashPassword } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; +import { json, badRequest } from '@/lib/response'; +import { getUser, updateUser } from '@/queries/prisma/user'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/me/route.ts b/src/app/api/me/route.ts index 60a14271b..59a325525 100644 --- a/src/app/api/me/route.ts +++ b/src/app/api/me/route.ts @@ -1,5 +1,5 @@ -import { parseRequest } from 'lib/request'; -import { json } from 'lib/response'; +import { parseRequest } from '@/lib/request'; +import { json } from '@/lib/response'; export async function GET(request: Request) { const { auth, error } = await parseRequest(request); diff --git a/src/app/api/me/teams/route.ts b/src/app/api/me/teams/route.ts index 0624e94f0..2ea6575eb 100644 --- a/src/app/api/me/teams/route.ts +++ b/src/app/api/me/teams/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { pagingParams } from 'lib/schema'; -import { getUserTeams } from 'queries'; -import { json } from 'lib/response'; -import { parseRequest } from 'lib/request'; +import { pagingParams } from '@/lib/schema'; +import { getUserTeams } from '@/queries'; +import { json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; export async function GET(request: Request) { const schema = z.object({ diff --git a/src/app/api/me/websites/route.ts b/src/app/api/me/websites/route.ts index 725ca94be..a8df856a4 100644 --- a/src/app/api/me/websites/route.ts +++ b/src/app/api/me/websites/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { pagingParams } from 'lib/schema'; -import { getUserWebsites } from 'queries'; -import { json } from 'lib/response'; -import { parseRequest } from 'lib/request'; +import { pagingParams } from '@/lib/schema'; +import { getUserWebsites } from '@/queries'; +import { json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; export async function GET(request: Request) { const schema = z.object({ diff --git a/src/app/api/realtime/[websiteId]/route.ts b/src/app/api/realtime/[websiteId]/route.ts index b575ac127..7f9c1a9a2 100644 --- a/src/app/api/realtime/[websiteId]/route.ts +++ b/src/app/api/realtime/[websiteId]/route.ts @@ -1,9 +1,9 @@ -import { json, unauthorized } from 'lib/response'; -import { getRealtimeData } from 'queries'; -import { canViewWebsite } from 'lib/auth'; +import { json, unauthorized } from '@/lib/response'; +import { getRealtimeData } from '@/queries'; +import { canViewWebsite } from '@/lib/auth'; import { startOfMinute, subMinutes } from 'date-fns'; -import { REALTIME_RANGE } from 'lib/constants'; -import { parseRequest } from 'lib/request'; +import { REALTIME_RANGE } from '@/lib/constants'; +import { parseRequest } from '@/lib/request'; export async function GET( request: Request, diff --git a/src/app/api/reports/[reportId]/route.ts b/src/app/api/reports/[reportId]/route.ts index 0d7c08451..ba90ee082 100644 --- a/src/app/api/reports/[reportId]/route.ts +++ b/src/app/api/reports/[reportId]/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { deleteReport, getReport, updateReport } from 'queries'; -import { canDeleteReport, canUpdateReport, canViewReport } from 'lib/auth'; -import { unauthorized, json, notFound, ok } from 'lib/response'; -import { reportTypeParam } from 'lib/schema'; +import { parseRequest } from '@/lib/request'; +import { deleteReport, getReport, updateReport } from '@/queries'; +import { canDeleteReport, canUpdateReport, canViewReport } from '@/lib/auth'; +import { unauthorized, json, notFound, ok } from '@/lib/response'; +import { reportTypeParam } from '@/lib/schema'; export async function GET(request: Request, { params }: { params: Promise<{ reportId: string }> }) { const { auth, error } = await parseRequest(request); diff --git a/src/app/api/reports/funnel/route.ts b/src/app/api/reports/funnel/route.ts index 23a05014a..471ae7098 100644 --- a/src/app/api/reports/funnel/route.ts +++ b/src/app/api/reports/funnel/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { getFunnel } from 'queries'; -import { reportParms } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { getFunnel } from '@/queries'; +import { reportParms } from '@/lib/schema'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/reports/goals/route.ts b/src/app/api/reports/goals/route.ts index 7aceabc86..b419c5697 100644 --- a/src/app/api/reports/goals/route.ts +++ b/src/app/api/reports/goals/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { getGoals } from 'queries/analytics/reports/getGoals'; -import { reportParms } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { getGoals } from '@/queries/analytics/reports/getGoals'; +import { reportParms } from '@/lib/schema'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/reports/insights/route.ts b/src/app/api/reports/insights/route.ts index a7ed1c155..b3569cba6 100644 --- a/src/app/api/reports/insights/route.ts +++ b/src/app/api/reports/insights/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { getInsights } from 'queries'; -import { reportParms } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { getInsights } from '@/queries'; +import { reportParms } from '@/lib/schema'; function convertFilters(filters: any[]) { return filters.reduce((obj, filter) => { diff --git a/src/app/api/reports/journey/route.ts b/src/app/api/reports/journey/route.ts index f5121fdc6..b8a0a0a44 100644 --- a/src/app/api/reports/journey/route.ts +++ b/src/app/api/reports/journey/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { getJourney } from 'queries'; -import { reportParms } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { getJourney } from '@/queries'; +import { reportParms } from '@/lib/schema'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/reports/retention/route.ts b/src/app/api/reports/retention/route.ts index 8e854fa96..83220bb4c 100644 --- a/src/app/api/reports/retention/route.ts +++ b/src/app/api/reports/retention/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { getRetention } from 'queries'; -import { reportParms, timezoneParam } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { getRetention } from '@/queries'; +import { reportParms, timezoneParam } from '@/lib/schema'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/reports/revenue/route.ts b/src/app/api/reports/revenue/route.ts index abece8a16..db7d036bb 100644 --- a/src/app/api/reports/revenue/route.ts +++ b/src/app/api/reports/revenue/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { reportParms, timezoneParam } from 'lib/schema'; -import { getRevenue } from 'queries/analytics/reports/getRevenue'; -import { getRevenueValues } from 'queries/analytics/reports/getRevenueValues'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { reportParms, timezoneParam } from '@/lib/schema'; +import { getRevenue } from '@/queries/analytics/reports/getRevenue'; +import { getRevenueValues } from '@/queries/analytics/reports/getRevenueValues'; export async function GET(request: Request) { const { auth, query, error } = await parseRequest(request); diff --git a/src/app/api/reports/route.ts b/src/app/api/reports/route.ts index 19c175bd9..e50c57bc2 100644 --- a/src/app/api/reports/route.ts +++ b/src/app/api/reports/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { uuid } from 'lib/crypto'; -import { pagingParams, reportTypeParam } from 'lib/schema'; -import { parseRequest } from 'lib/request'; -import { canViewTeam, canViewWebsite, canUpdateWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { getReports, createReport } from 'queries'; +import { uuid } from '@/lib/crypto'; +import { pagingParams, reportTypeParam } from '@/lib/schema'; +import { parseRequest } from '@/lib/request'; +import { canViewTeam, canViewWebsite, canUpdateWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { getReports, createReport } from '@/queries'; export async function GET(request: Request) { const schema = z.object({ diff --git a/src/app/api/reports/utm/route.ts b/src/app/api/reports/utm/route.ts index 2412134d2..38e88a6de 100644 --- a/src/app/api/reports/utm/route.ts +++ b/src/app/api/reports/utm/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; -import { getUTM } from 'queries'; -import { reportParms } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; +import { getUTM } from '@/queries'; +import { reportParms } from '@/lib/schema'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/scripts/telemetry/route.ts b/src/app/api/scripts/telemetry/route.ts index ecd83fcb1..54cee5656 100644 --- a/src/app/api/scripts/telemetry/route.ts +++ b/src/app/api/scripts/telemetry/route.ts @@ -1,4 +1,4 @@ -import { CURRENT_VERSION, TELEMETRY_PIXEL } from 'lib/constants'; +import { CURRENT_VERSION, TELEMETRY_PIXEL } from '@/lib/constants'; export async function GET() { if ( diff --git a/src/app/api/send/route.ts b/src/app/api/send/route.ts index dd3253ba5..8c9acad99 100644 --- a/src/app/api/send/route.ts +++ b/src/app/api/send/route.ts @@ -1,15 +1,15 @@ import { z } from 'zod'; import { isbot } from 'isbot'; -import { createToken, parseToken } from 'lib/jwt'; -import { safeDecodeURI } from 'lib/url'; -import clickhouse from 'lib/clickhouse'; -import { parseRequest } from 'lib/request'; -import { badRequest, json, forbidden, serverError } from 'lib/response'; -import { fetchSession, fetchWebsite } from 'lib/load'; -import { getClientInfo, hasBlockedIp } from 'lib/detect'; -import { secret, uuid, visitSalt } from 'lib/crypto'; -import { COLLECTION_TYPE } from 'lib/constants'; -import { createSession, saveEvent, saveSessionData } from 'queries'; +import { createToken, parseToken } from '@/lib/jwt'; +import { safeDecodeURI } from '@/lib/url'; +import clickhouse from '@/lib/clickhouse'; +import { parseRequest } from '@/lib/request'; +import { badRequest, json, forbidden, serverError } from '@/lib/response'; +import { fetchSession, fetchWebsite } from '@/lib/load'; +import { getClientInfo, hasBlockedIp } from '@/lib/detect'; +import { secret, uuid, visitSalt } from '@/lib/crypto'; +import { COLLECTION_TYPE } from '@/lib/constants'; +import { createSession, saveEvent, saveSessionData } from '@/queries'; export async function POST(request: Request) { // Bot check diff --git a/src/app/api/share/[shareId]/route.ts b/src/app/api/share/[shareId]/route.ts index 934d51a18..e387938d2 100644 --- a/src/app/api/share/[shareId]/route.ts +++ b/src/app/api/share/[shareId]/route.ts @@ -1,7 +1,7 @@ -import { json, notFound } from 'lib/response'; -import { createToken } from 'lib/jwt'; -import { secret } from 'lib/crypto'; -import { getSharedWebsite } from 'queries'; +import { json, notFound } from '@/lib/response'; +import { createToken } from '@/lib/jwt'; +import { secret } from '@/lib/crypto'; +import { getSharedWebsite } from '@/queries'; export async function GET(request: Request, { params }: { params: Promise<{ shareId: string }> }) { const { shareId } = await params; diff --git a/src/app/api/teams/[teamId]/route.ts b/src/app/api/teams/[teamId]/route.ts index 0c5db3802..f7f4b3316 100644 --- a/src/app/api/teams/[teamId]/route.ts +++ b/src/app/api/teams/[teamId]/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { unauthorized, json, notFound, ok } from 'lib/response'; -import { canDeleteTeam, canUpdateTeam, canViewTeam } from 'lib/auth'; -import { parseRequest } from 'lib/request'; -import { deleteTeam, getTeam, updateTeam } from 'queries'; +import { unauthorized, json, notFound, ok } from '@/lib/response'; +import { canDeleteTeam, canUpdateTeam, canViewTeam } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; +import { deleteTeam, getTeam, updateTeam } from '@/queries'; export async function GET(request: Request, { params }: { params: Promise<{ teamId: string }> }) { const { auth, error } = await parseRequest(request); diff --git a/src/app/api/teams/[teamId]/users/[userId]/route.ts b/src/app/api/teams/[teamId]/users/[userId]/route.ts index 9276c194d..cadcd8b02 100644 --- a/src/app/api/teams/[teamId]/users/[userId]/route.ts +++ b/src/app/api/teams/[teamId]/users/[userId]/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { unauthorized, json, badRequest, ok } from 'lib/response'; -import { canDeleteTeam, canUpdateTeam } from 'lib/auth'; -import { parseRequest } from 'lib/request'; -import { deleteTeam, getTeamUser, updateTeamUser } from 'queries'; +import { unauthorized, json, badRequest, ok } from '@/lib/response'; +import { canDeleteTeam, canUpdateTeam } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; +import { deleteTeam, getTeamUser, updateTeamUser } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/teams/[teamId]/users/route.ts b/src/app/api/teams/[teamId]/users/route.ts index a69a6b851..5ec9435f6 100644 --- a/src/app/api/teams/[teamId]/users/route.ts +++ b/src/app/api/teams/[teamId]/users/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { unauthorized, json, badRequest } from 'lib/response'; -import { canAddUserToTeam, canUpdateTeam } from 'lib/auth'; -import { parseRequest } from 'lib/request'; -import { pagingParams, roleParam } from 'lib/schema'; -import { createTeamUser, getTeamUser, getTeamUsers } from 'queries'; +import { unauthorized, json, badRequest } from '@/lib/response'; +import { canAddUserToTeam, canUpdateTeam } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; +import { pagingParams, roleParam } from '@/lib/schema'; +import { createTeamUser, getTeamUser, getTeamUsers } from '@/queries'; export async function GET(request: Request, { params }: { params: Promise<{ teamId: string }> }) { const schema = z.object({ diff --git a/src/app/api/teams/[teamId]/websites/route.ts b/src/app/api/teams/[teamId]/websites/route.ts index 9f800e0e3..f69ab4658 100644 --- a/src/app/api/teams/[teamId]/websites/route.ts +++ b/src/app/api/teams/[teamId]/websites/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { unauthorized, json } from 'lib/response'; -import { canViewTeam } from 'lib/auth'; -import { parseRequest } from 'lib/request'; -import { pagingParams } from 'lib/schema'; -import { getTeamWebsites } from 'queries'; +import { unauthorized, json } from '@/lib/response'; +import { canViewTeam } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; +import { pagingParams } from '@/lib/schema'; +import { getTeamWebsites } from '@/queries'; export async function GET(request: Request, { params }: { params: Promise<{ teamId: string }> }) { const schema = z.object({ diff --git a/src/app/api/teams/join/route.ts b/src/app/api/teams/join/route.ts index 76d4a83f4..3464054cf 100644 --- a/src/app/api/teams/join/route.ts +++ b/src/app/api/teams/join/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { unauthorized, json, badRequest, notFound } from 'lib/response'; -import { canCreateTeam } from 'lib/auth'; -import { parseRequest } from 'lib/request'; -import { ROLES } from 'lib/constants'; -import { createTeamUser, findTeam, getTeamUser } from 'queries'; +import { unauthorized, json, badRequest, notFound } from '@/lib/response'; +import { canCreateTeam } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; +import { ROLES } from '@/lib/constants'; +import { createTeamUser, findTeam, getTeamUser } from '@/queries'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/teams/route.ts b/src/app/api/teams/route.ts index 11be6c5fa..d319d87b8 100644 --- a/src/app/api/teams/route.ts +++ b/src/app/api/teams/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { getRandomChars } from 'lib/crypto'; -import { unauthorized, json } from 'lib/response'; -import { canCreateTeam } from 'lib/auth'; -import { uuid } from 'lib/crypto'; -import { parseRequest } from 'lib/request'; -import { createTeam } from 'queries'; +import { getRandomChars } from '@/lib/crypto'; +import { unauthorized, json } from '@/lib/response'; +import { canCreateTeam } from '@/lib/auth'; +import { uuid } from '@/lib/crypto'; +import { parseRequest } from '@/lib/request'; +import { createTeam } from '@/queries'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/users/[userId]/route.ts b/src/app/api/users/[userId]/route.ts index 6bf776f32..abb3331d0 100644 --- a/src/app/api/users/[userId]/route.ts +++ b/src/app/api/users/[userId]/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canUpdateUser, canViewUser, canDeleteUser } from 'lib/auth'; -import { getUser, getUserByUsername, updateUser, deleteUser } from 'queries'; -import { json, unauthorized, badRequest, ok } from 'lib/response'; -import { hashPassword } from 'lib/auth'; -import { parseRequest } from 'lib/request'; +import { canUpdateUser, canViewUser, canDeleteUser } from '@/lib/auth'; +import { getUser, getUserByUsername, updateUser, deleteUser } from '@/queries'; +import { json, unauthorized, badRequest, ok } from '@/lib/response'; +import { hashPassword } from '@/lib/auth'; +import { parseRequest } from '@/lib/request'; export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) { const { auth, error } = await parseRequest(request); diff --git a/src/app/api/users/[userId]/teams/route.ts b/src/app/api/users/[userId]/teams/route.ts index 329e74134..ff6595250 100644 --- a/src/app/api/users/[userId]/teams/route.ts +++ b/src/app/api/users/[userId]/teams/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { pagingParams } from 'lib/schema'; -import { getUserTeams } from 'queries'; -import { unauthorized, json } from 'lib/response'; -import { parseRequest } from 'lib/request'; +import { pagingParams } from '@/lib/schema'; +import { getUserTeams } from '@/queries'; +import { unauthorized, json } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) { const schema = z.object({ diff --git a/src/app/api/users/[userId]/usage/route.ts b/src/app/api/users/[userId]/usage/route.ts index 72510bd32..168ae42e0 100644 --- a/src/app/api/users/[userId]/usage/route.ts +++ b/src/app/api/users/[userId]/usage/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { json, unauthorized } from 'lib/response'; -import { getAllUserWebsitesIncludingTeamOwner } from 'queries/prisma/website'; -import { getEventUsage } from 'queries/analytics/events/getEventUsage'; -import { getEventDataUsage } from 'queries/analytics/events/getEventDataUsage'; -import { parseRequest } from 'lib/request'; +import { json, unauthorized } from '@/lib/response'; +import { getAllUserWebsitesIncludingTeamOwner } from '@/queries/prisma/website'; +import { getEventUsage } from '@/queries/analytics/events/getEventUsage'; +import { getEventDataUsage } from '@/queries/analytics/events/getEventDataUsage'; +import { parseRequest } from '@/lib/request'; export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) { const schema = z.object({ diff --git a/src/app/api/users/[userId]/websites/route.ts b/src/app/api/users/[userId]/websites/route.ts index 22aced514..77d410845 100644 --- a/src/app/api/users/[userId]/websites/route.ts +++ b/src/app/api/users/[userId]/websites/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { unauthorized, json } from 'lib/response'; -import { getUserWebsites } from 'queries/prisma/website'; -import { pagingParams } from 'lib/schema'; -import { parseRequest } from 'lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { getUserWebsites } from '@/queries/prisma/website'; +import { pagingParams } from '@/lib/schema'; +import { parseRequest } from '@/lib/request'; export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) { const schema = z.object({ diff --git a/src/app/api/users/route.ts b/src/app/api/users/route.ts index 06c95b5e3..320f72bd7 100644 --- a/src/app/api/users/route.ts +++ b/src/app/api/users/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { hashPassword, canCreateUser } from 'lib/auth'; -import { ROLES } from 'lib/constants'; -import { uuid } from 'lib/crypto'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json, badRequest } from 'lib/response'; -import { createUser, getUserByUsername } from 'queries'; +import { hashPassword, canCreateUser } from '@/lib/auth'; +import { ROLES } from '@/lib/constants'; +import { uuid } from '@/lib/crypto'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json, badRequest } from '@/lib/response'; +import { createUser, getUserByUsername } from '@/queries'; export async function POST(request: Request) { const schema = z.object({ diff --git a/src/app/api/version/route.ts b/src/app/api/version/route.ts index 605d25834..275a41184 100644 --- a/src/app/api/version/route.ts +++ b/src/app/api/version/route.ts @@ -1,5 +1,5 @@ -import { json } from 'lib/response'; -import { CURRENT_VERSION } from 'lib/constants'; +import { json } from '@/lib/response'; +import { CURRENT_VERSION } from '@/lib/constants'; export async function GET() { return json({ version: CURRENT_VERSION }); diff --git a/src/app/api/websites/[websiteId]/active/route.ts b/src/app/api/websites/[websiteId]/active/route.ts index 9e25cea6e..88c0fd178 100644 --- a/src/app/api/websites/[websiteId]/active/route.ts +++ b/src/app/api/websites/[websiteId]/active/route.ts @@ -1,7 +1,7 @@ -import { canViewWebsite } from 'lib/auth'; -import { json, unauthorized } from 'lib/response'; -import { getActiveVisitors } from 'queries'; -import { parseRequest } from 'lib/request'; +import { canViewWebsite } from '@/lib/auth'; +import { json, unauthorized } from '@/lib/response'; +import { getActiveVisitors } from '@/queries'; +import { parseRequest } from '@/lib/request'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/daterange/route.ts b/src/app/api/websites/[websiteId]/daterange/route.ts index 754234540..ea2d10d2c 100644 --- a/src/app/api/websites/[websiteId]/daterange/route.ts +++ b/src/app/api/websites/[websiteId]/daterange/route.ts @@ -1,7 +1,7 @@ -import { canViewWebsite } from 'lib/auth'; -import { getWebsiteDateRange } from 'queries'; -import { json, unauthorized } from 'lib/response'; -import { parseRequest } from 'lib/request'; +import { canViewWebsite } from '@/lib/auth'; +import { getWebsiteDateRange } from '@/queries'; +import { json, unauthorized } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/event-data/events/route.ts b/src/app/api/websites/[websiteId]/event-data/events/route.ts index 4937482a4..3e32aa838 100644 --- a/src/app/api/websites/[websiteId]/event-data/events/route.ts +++ b/src/app/api/websites/[websiteId]/event-data/events/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getEventDataEvents } from 'queries/analytics/events/getEventDataEvents'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getEventDataEvents } from '@/queries/analytics/events/getEventDataEvents'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/event-data/fields/route.ts b/src/app/api/websites/[websiteId]/event-data/fields/route.ts index e95998ed0..60101e45c 100644 --- a/src/app/api/websites/[websiteId]/event-data/fields/route.ts +++ b/src/app/api/websites/[websiteId]/event-data/fields/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getEventDataFields } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getEventDataFields } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/event-data/properties/route.ts b/src/app/api/websites/[websiteId]/event-data/properties/route.ts index 25f915b1d..fe085f74e 100644 --- a/src/app/api/websites/[websiteId]/event-data/properties/route.ts +++ b/src/app/api/websites/[websiteId]/event-data/properties/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getEventDataProperties } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getEventDataProperties } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/event-data/stats/route.ts b/src/app/api/websites/[websiteId]/event-data/stats/route.ts index a8093e617..6928aa1e6 100644 --- a/src/app/api/websites/[websiteId]/event-data/stats/route.ts +++ b/src/app/api/websites/[websiteId]/event-data/stats/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getEventDataStats } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getEventDataStats } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/event-data/values/route.ts b/src/app/api/websites/[websiteId]/event-data/values/route.ts index 7734d920e..2a912439c 100644 --- a/src/app/api/websites/[websiteId]/event-data/values/route.ts +++ b/src/app/api/websites/[websiteId]/event-data/values/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getEventDataValues } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getEventDataValues } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/events/route.ts b/src/app/api/websites/[websiteId]/events/route.ts index 71046b3cb..66eaba2c0 100644 --- a/src/app/api/websites/[websiteId]/events/route.ts +++ b/src/app/api/websites/[websiteId]/events/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { pagingParams } from 'lib/schema'; -import { getWebsiteEvents } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { pagingParams } from '@/lib/schema'; +import { getWebsiteEvents } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/events/series/route.ts b/src/app/api/websites/[websiteId]/events/series/route.ts index f8646e49c..da4b0d4f8 100644 --- a/src/app/api/websites/[websiteId]/events/series/route.ts +++ b/src/app/api/websites/[websiteId]/events/series/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest, getRequestDateRange, getRequestFilters } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { filterParams, timezoneParam, unitParam } from 'lib/schema'; -import { getEventMetrics } from 'queries'; +import { parseRequest, getRequestDateRange, getRequestFilters } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { filterParams, timezoneParam, unitParam } from '@/lib/schema'; +import { getEventMetrics } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/metrics/route.ts b/src/app/api/websites/[websiteId]/metrics/route.ts index 44312429c..17c8676f0 100644 --- a/src/app/api/websites/[websiteId]/metrics/route.ts +++ b/src/app/api/websites/[websiteId]/metrics/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { SESSION_COLUMNS, EVENT_COLUMNS, FILTER_COLUMNS, OPERATORS } from 'lib/constants'; -import { getRequestFilters, getRequestDateRange, parseRequest } from 'lib/request'; -import { json, unauthorized, badRequest } from 'lib/response'; -import { getPageviewMetrics, getSessionMetrics } from 'queries'; -import { filterParams } from 'lib/schema'; +import { canViewWebsite } from '@/lib/auth'; +import { SESSION_COLUMNS, EVENT_COLUMNS, FILTER_COLUMNS, OPERATORS } from '@/lib/constants'; +import { getRequestFilters, getRequestDateRange, parseRequest } from '@/lib/request'; +import { json, unauthorized, badRequest } from '@/lib/response'; +import { getPageviewMetrics, getSessionMetrics } from '@/queries'; +import { filterParams } from '@/lib/schema'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/pageviews/route.ts b/src/app/api/websites/[websiteId]/pageviews/route.ts index 020e139b7..e603ae9c0 100644 --- a/src/app/api/websites/[websiteId]/pageviews/route.ts +++ b/src/app/api/websites/[websiteId]/pageviews/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { getRequestFilters, getRequestDateRange, parseRequest } from 'lib/request'; -import { unitParam, timezoneParam, filterParams } from 'lib/schema'; -import { getCompareDate } from 'lib/date'; -import { unauthorized, json } from 'lib/response'; -import { getPageviewStats, getSessionStats } from 'queries'; +import { canViewWebsite } from '@/lib/auth'; +import { getRequestFilters, getRequestDateRange, parseRequest } from '@/lib/request'; +import { unitParam, timezoneParam, filterParams } from '@/lib/schema'; +import { getCompareDate } from '@/lib/date'; +import { unauthorized, json } from '@/lib/response'; +import { getPageviewStats, getSessionStats } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/reports/route.ts b/src/app/api/websites/[websiteId]/reports/route.ts index 44f626252..c6941f537 100644 --- a/src/app/api/websites/[websiteId]/reports/route.ts +++ b/src/app/api/websites/[websiteId]/reports/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { getWebsiteReports } from 'queries'; -import { pagingParams } from 'lib/schema'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getWebsiteReports } from '@/queries'; +import { pagingParams } from '@/lib/schema'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/reset/route.ts b/src/app/api/websites/[websiteId]/reset/route.ts index 8f2df289e..62edceeae 100644 --- a/src/app/api/websites/[websiteId]/reset/route.ts +++ b/src/app/api/websites/[websiteId]/reset/route.ts @@ -1,7 +1,7 @@ -import { canUpdateWebsite } from 'lib/auth'; -import { resetWebsite } from 'queries'; -import { unauthorized, ok } from 'lib/response'; -import { parseRequest } from 'lib/request'; +import { canUpdateWebsite } from '@/lib/auth'; +import { resetWebsite } from '@/queries'; +import { unauthorized, ok } from '@/lib/response'; +import { parseRequest } from '@/lib/request'; export async function POST( request: Request, diff --git a/src/app/api/websites/[websiteId]/route.ts b/src/app/api/websites/[websiteId]/route.ts index b72a5e1de..f4ea327b9 100644 --- a/src/app/api/websites/[websiteId]/route.ts +++ b/src/app/api/websites/[websiteId]/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canUpdateWebsite, canDeleteWebsite, canViewWebsite } from 'lib/auth'; -import { SHARE_ID_REGEX } from 'lib/constants'; -import { parseRequest } from 'lib/request'; -import { ok, json, unauthorized, serverError } from 'lib/response'; -import { deleteWebsite, getWebsite, updateWebsite } from 'queries'; +import { canUpdateWebsite, canDeleteWebsite, canViewWebsite } from '@/lib/auth'; +import { SHARE_ID_REGEX } from '@/lib/constants'; +import { parseRequest } from '@/lib/request'; +import { ok, json, unauthorized, serverError } from '@/lib/response'; +import { deleteWebsite, getWebsite, updateWebsite } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/session-data/properties/route.ts b/src/app/api/websites/[websiteId]/session-data/properties/route.ts index 5729ddbd8..a6d9e2a4a 100644 --- a/src/app/api/websites/[websiteId]/session-data/properties/route.ts +++ b/src/app/api/websites/[websiteId]/session-data/properties/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getSessionDataProperties } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getSessionDataProperties } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/session-data/values/route.ts b/src/app/api/websites/[websiteId]/session-data/values/route.ts index f14b19161..1c12f00d9 100644 --- a/src/app/api/websites/[websiteId]/session-data/values/route.ts +++ b/src/app/api/websites/[websiteId]/session-data/values/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getEventDataEvents } from 'queries/analytics/events/getEventDataEvents'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getEventDataEvents } from '@/queries/analytics/events/getEventDataEvents'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/sessions/[sessionId]/activity/route.ts b/src/app/api/websites/[websiteId]/sessions/[sessionId]/activity/route.ts index ccd05d4d7..aac40c38f 100644 --- a/src/app/api/websites/[websiteId]/sessions/[sessionId]/activity/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/[sessionId]/activity/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getSessionActivity } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getSessionActivity } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/sessions/[sessionId]/properties/route.ts b/src/app/api/websites/[websiteId]/sessions/[sessionId]/properties/route.ts index a95a02334..9c389c827 100644 --- a/src/app/api/websites/[websiteId]/sessions/[sessionId]/properties/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/[sessionId]/properties/route.ts @@ -1,7 +1,7 @@ -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getSessionData } from 'queries'; -import { parseRequest } from 'lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getSessionData } from '@/queries'; +import { parseRequest } from '@/lib/request'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/sessions/[sessionId]/route.ts b/src/app/api/websites/[websiteId]/sessions/[sessionId]/route.ts index 0a968eb28..c4621ef42 100644 --- a/src/app/api/websites/[websiteId]/sessions/[sessionId]/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/[sessionId]/route.ts @@ -1,7 +1,7 @@ -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getWebsiteSession } from 'queries'; -import { parseRequest } from 'lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getWebsiteSession } from '@/queries'; +import { parseRequest } from '@/lib/request'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/sessions/route.ts b/src/app/api/websites/[websiteId]/sessions/route.ts index da8d9d092..5a14f00f7 100644 --- a/src/app/api/websites/[websiteId]/sessions/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { pagingParams } from 'lib/schema'; -import { getWebsiteSessions } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { pagingParams } from '@/lib/schema'; +import { getWebsiteSessions } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/sessions/stats/route.ts b/src/app/api/websites/[websiteId]/sessions/stats/route.ts index a45784f79..e8e8e6c86 100644 --- a/src/app/api/websites/[websiteId]/sessions/stats/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/stats/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest, getRequestDateRange, getRequestFilters } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { filterParams } from 'lib/schema'; -import { getWebsiteSessionStats } from 'queries'; +import { parseRequest, getRequestDateRange, getRequestFilters } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { filterParams } from '@/lib/schema'; +import { getWebsiteSessionStats } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/sessions/weekly/route.ts b/src/app/api/websites/[websiteId]/sessions/weekly/route.ts index b57bb95c2..20be378d7 100644 --- a/src/app/api/websites/[websiteId]/sessions/weekly/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/weekly/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { parseRequest } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { pagingParams, timezoneParam } from 'lib/schema'; -import { getWebsiteSessionsWeekly } from 'queries'; +import { parseRequest } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { pagingParams, timezoneParam } from '@/lib/schema'; +import { getWebsiteSessionsWeekly } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/stats/route.ts b/src/app/api/websites/[websiteId]/stats/route.ts index 55dc4e3ec..c146271f9 100644 --- a/src/app/api/websites/[websiteId]/stats/route.ts +++ b/src/app/api/websites/[websiteId]/stats/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { parseRequest, getRequestDateRange, getRequestFilters } from 'lib/request'; -import { unauthorized, json } from 'lib/response'; -import { canViewWebsite } from 'lib/auth'; -import { getCompareDate } from 'lib/date'; -import { filterParams } from 'lib/schema'; -import { getWebsiteStats } from 'queries'; +import { parseRequest, getRequestDateRange, getRequestFilters } from '@/lib/request'; +import { unauthorized, json } from '@/lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { getCompareDate } from '@/lib/date'; +import { filterParams } from '@/lib/schema'; +import { getWebsiteStats } from '@/queries'; export async function GET( request: Request, diff --git a/src/app/api/websites/[websiteId]/transfer/route.ts b/src/app/api/websites/[websiteId]/transfer/route.ts index d3e497cda..03c0ae7f4 100644 --- a/src/app/api/websites/[websiteId]/transfer/route.ts +++ b/src/app/api/websites/[websiteId]/transfer/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { canTransferWebsiteToTeam, canTransferWebsiteToUser } from 'lib/auth'; -import { updateWebsite } from 'queries'; -import { parseRequest } from 'lib/request'; -import { badRequest, unauthorized, json } from 'lib/response'; +import { canTransferWebsiteToTeam, canTransferWebsiteToUser } from '@/lib/auth'; +import { updateWebsite } from '@/queries'; +import { parseRequest } from '@/lib/request'; +import { badRequest, unauthorized, json } from '@/lib/response'; export async function POST( request: Request, diff --git a/src/app/api/websites/[websiteId]/values/route.ts b/src/app/api/websites/[websiteId]/values/route.ts index b81bdcc83..ed3cfae69 100644 --- a/src/app/api/websites/[websiteId]/values/route.ts +++ b/src/app/api/websites/[websiteId]/values/route.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { canViewWebsite } from 'lib/auth'; -import { EVENT_COLUMNS, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; -import { getValues } from 'queries'; -import { parseRequest, getRequestDateRange } from 'lib/request'; -import { badRequest, json, unauthorized } from 'lib/response'; +import { canViewWebsite } from '@/lib/auth'; +import { EVENT_COLUMNS, FILTER_COLUMNS, SESSION_COLUMNS } from '@/lib/constants'; +import { getValues } from '@/queries'; +import { parseRequest, getRequestDateRange } from '@/lib/request'; +import { badRequest, json, unauthorized } from '@/lib/response'; export async function GET( request: Request, diff --git a/src/app/api/websites/route.ts b/src/app/api/websites/route.ts index dfc48cee1..b8fb2a0b8 100644 --- a/src/app/api/websites/route.ts +++ b/src/app/api/websites/route.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { canCreateTeamWebsite, canCreateWebsite } from 'lib/auth'; -import { json, unauthorized } from 'lib/response'; -import { uuid } from 'lib/crypto'; -import { parseRequest } from 'lib/request'; -import { createWebsite, getUserWebsites } from 'queries'; -import { pagingParams } from 'lib/schema'; +import { canCreateTeamWebsite, canCreateWebsite } from '@/lib/auth'; +import { json, unauthorized } from '@/lib/response'; +import { uuid } from '@/lib/crypto'; +import { parseRequest } from '@/lib/request'; +import { createWebsite, getUserWebsites } from '@/queries'; +import { pagingParams } from '@/lib/schema'; export async function GET(request: Request) { const schema = z.object({ ...pagingParams }); diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 3c0ed43c9..f88d8169c 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,8 +5,8 @@ import '@fontsource/inter/400.css'; import '@fontsource/inter/500.css'; import '@fontsource/inter/700.css'; import 'react-basics/dist/styles.css'; -import 'styles/index.css'; -import 'styles/variables.css'; +import '@/styles/index.css'; +import '@/styles/variables.css'; export default function ({ children }) { return ( diff --git a/src/app/login/LoginForm.tsx b/src/app/login/LoginForm.tsx index 3101bf486..a808c622d 100644 --- a/src/app/login/LoginForm.tsx +++ b/src/app/login/LoginForm.tsx @@ -9,10 +9,10 @@ import { Icon, } from 'react-basics'; import { useRouter } from 'next/navigation'; -import { useApi, useMessages } from 'components/hooks'; -import { setUser } from 'store/app'; -import { setClientAuthToken } from 'lib/client'; -import Logo from 'assets/logo.svg'; +import { useApi, useMessages } from '@/components/hooks'; +import { setUser } from '@/store/app'; +import { setClientAuthToken } from '@/lib/client'; +import Logo from '@/assets/logo.svg'; import styles from './LoginForm.module.css'; export function LoginForm() { diff --git a/src/app/logout/LogoutPage.tsx b/src/app/logout/LogoutPage.tsx index 11d963290..d3dc481ab 100644 --- a/src/app/logout/LogoutPage.tsx +++ b/src/app/logout/LogoutPage.tsx @@ -1,9 +1,9 @@ 'use client'; import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; -import { useApi } from 'components/hooks'; -import { setUser } from 'store/app'; -import { removeClientAuthToken } from 'lib/client'; +import { useApi } from '@/components/hooks'; +import { setUser } from '@/store/app'; +import { removeClientAuthToken } from '@/lib/client'; export function LogoutPage() { const disabled = !!(process.env.disableLogin || process.env.cloudMode); diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index 7a2bbb53c..c673e40f4 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -1,6 +1,6 @@ 'use client'; import { Flexbox } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export default function () { const { formatMessage, labels } = useMessages(); diff --git a/src/app/share/[...shareId]/Footer.tsx b/src/app/share/[...shareId]/Footer.tsx index 3a07c12a8..e1ba9833c 100644 --- a/src/app/share/[...shareId]/Footer.tsx +++ b/src/app/share/[...shareId]/Footer.tsx @@ -1,4 +1,4 @@ -import { CURRENT_VERSION, HOMEPAGE_URL } from 'lib/constants'; +import { CURRENT_VERSION, HOMEPAGE_URL } from '@/lib/constants'; import styles from './Footer.module.css'; export function Footer() { diff --git a/src/app/share/[...shareId]/Header.module.css b/src/app/share/[...shareId]/Header.module.css index d353d79a1..044781995 100644 --- a/src/app/share/[...shareId]/Header.module.css +++ b/src/app/share/[...shareId]/Header.module.css @@ -7,10 +7,6 @@ height: 100px; } -.row { - align-items: center; -} - .title { display: flex; flex-direction: row; diff --git a/src/app/share/[...shareId]/Header.tsx b/src/app/share/[...shareId]/Header.tsx index ddfb52a55..a71a5b560 100644 --- a/src/app/share/[...shareId]/Header.tsx +++ b/src/app/share/[...shareId]/Header.tsx @@ -1,9 +1,9 @@ import { Icon, Text } from 'react-basics'; import Link from 'next/link'; -import LanguageButton from 'components/input/LanguageButton'; -import ThemeButton from 'components/input/ThemeButton'; -import SettingsButton from 'components/input/SettingsButton'; -import Icons from 'components/icons'; +import LanguageButton from '@/components/input/LanguageButton'; +import ThemeButton from '@/components/input/ThemeButton'; +import SettingsButton from '@/components/input/SettingsButton'; +import Icons from '@/components/icons'; import styles from './Header.module.css'; export function Header() { diff --git a/src/app/share/[...shareId]/SharePage.tsx b/src/app/share/[...shareId]/SharePage.tsx index c4d9af62d..00c7ec3f2 100644 --- a/src/app/share/[...shareId]/SharePage.tsx +++ b/src/app/share/[...shareId]/SharePage.tsx @@ -1,11 +1,11 @@ 'use client'; import WebsiteDetailsPage from '../../(main)/websites/[websiteId]/WebsiteDetailsPage'; -import { useShareToken } from 'components/hooks'; -import Page from 'components/layout/Page'; +import { useShareToken } from '@/components/hooks'; +import Page from '@/components/layout/Page'; import Header from './Header'; import Footer from './Footer'; import styles from './SharePage.module.css'; -import { WebsiteProvider } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; +import { WebsiteProvider } from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; export default function SharePage({ shareId }) { const { shareToken, isLoading } = useShareToken(shareId); diff --git a/src/app/sso/SSOPage.tsx b/src/app/sso/SSOPage.tsx index e577767a8..eb7c0f0a9 100644 --- a/src/app/sso/SSOPage.tsx +++ b/src/app/sso/SSOPage.tsx @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import { Loading } from 'react-basics'; import { useRouter, useSearchParams } from 'next/navigation'; -import { setClientAuthToken } from 'lib/client'; +import { setClientAuthToken } from '@/lib/client'; export default function SSOPage() { const router = useRouter(); diff --git a/src/components/charts/BarChart.tsx b/src/components/charts/BarChart.tsx index 7c16730e7..f6a6e5e05 100644 --- a/src/components/charts/BarChart.tsx +++ b/src/components/charts/BarChart.tsx @@ -1,7 +1,7 @@ -import BarChartTooltip from 'components/charts/BarChartTooltip'; -import Chart, { ChartProps } from 'components/charts/Chart'; -import { useTheme } from 'components/hooks'; -import { renderNumberLabels } from 'lib/charts'; +import BarChartTooltip from '@/components/charts/BarChartTooltip'; +import Chart, { ChartProps } from '@/components/charts/Chart'; +import { useTheme } from '@/components/hooks'; +import { renderNumberLabels } from '@/lib/charts'; import { useMemo, useState } from 'react'; export interface BarChartProps extends ChartProps { diff --git a/src/components/charts/BarChartTooltip.tsx b/src/components/charts/BarChartTooltip.tsx index 201c6e4c1..af31c8747 100644 --- a/src/components/charts/BarChartTooltip.tsx +++ b/src/components/charts/BarChartTooltip.tsx @@ -1,6 +1,6 @@ -import { useLocale } from 'components/hooks'; -import { formatDate } from 'lib/date'; -import { formatLongCurrency, formatLongNumber } from 'lib/format'; +import { useLocale } from '@/components/hooks'; +import { formatDate } from '@/lib/date'; +import { formatLongCurrency, formatLongNumber } from '@/lib/format'; import { Flexbox, StatusLight } from 'react-basics'; const formats = { diff --git a/src/components/charts/BubbleChart.tsx b/src/components/charts/BubbleChart.tsx index 956e260cb..dfe67f3a8 100644 --- a/src/components/charts/BubbleChart.tsx +++ b/src/components/charts/BubbleChart.tsx @@ -1,7 +1,7 @@ -import { Chart, ChartProps } from 'components/charts/Chart'; +import { Chart, ChartProps } from '@/components/charts/Chart'; import { useState } from 'react'; import { StatusLight } from 'react-basics'; -import { formatLongNumber } from 'lib/format'; +import { formatLongNumber } from '@/lib/format'; export interface BubbleChartProps extends ChartProps { type?: 'bubble'; diff --git a/src/components/charts/Chart.tsx b/src/components/charts/Chart.tsx index a4badbcef..dde01eb44 100644 --- a/src/components/charts/Chart.tsx +++ b/src/components/charts/Chart.tsx @@ -2,9 +2,9 @@ import { useState, useRef, useEffect, useMemo, ReactNode } from 'react'; import { Loading } from 'react-basics'; import classNames from 'classnames'; import ChartJS, { LegendItem, ChartOptions } from 'chart.js/auto'; -import HoverTooltip from 'components/common/HoverTooltip'; -import Legend from 'components/metrics/Legend'; -import { DEFAULT_ANIMATION_DURATION } from 'lib/constants'; +import HoverTooltip from '@/components/common/HoverTooltip'; +import Legend from '@/components/metrics/Legend'; +import { DEFAULT_ANIMATION_DURATION } from '@/lib/constants'; import styles from './Chart.module.css'; export interface ChartProps { diff --git a/src/components/charts/PieChart.tsx b/src/components/charts/PieChart.tsx index 57d676cae..a98b97305 100644 --- a/src/components/charts/PieChart.tsx +++ b/src/components/charts/PieChart.tsx @@ -1,7 +1,7 @@ -import { Chart, ChartProps } from 'components/charts/Chart'; +import { Chart, ChartProps } from '@/components/charts/Chart'; import { useState } from 'react'; import { StatusLight } from 'react-basics'; -import { formatLongNumber } from 'lib/format'; +import { formatLongNumber } from '@/lib/format'; export interface PieChartProps extends ChartProps { type?: 'doughnut' | 'pie'; diff --git a/src/components/common/Avatar.tsx b/src/components/common/Avatar.tsx index 2e82b0782..d0cae2479 100644 --- a/src/components/common/Avatar.tsx +++ b/src/components/common/Avatar.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { createAvatar } from '@dicebear/core'; import { lorelei } from '@dicebear/collection'; -import { getColor, getPastel } from 'lib/colors'; +import { getColor, getPastel } from '@/lib/colors'; const lib = lorelei; diff --git a/src/components/common/ConfirmationForm.tsx b/src/components/common/ConfirmationForm.tsx index 26b4ff249..8b617ab54 100644 --- a/src/components/common/ConfirmationForm.tsx +++ b/src/components/common/ConfirmationForm.tsx @@ -1,6 +1,6 @@ import { ReactNode } from 'react'; import { Button, LoadingButton, Form, FormButtons } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export interface ConfirmationFormProps { message: ReactNode; diff --git a/src/components/common/DataTable.tsx b/src/components/common/DataTable.tsx index f3b144a62..b19ddf91d 100644 --- a/src/components/common/DataTable.tsx +++ b/src/components/common/DataTable.tsx @@ -1,12 +1,12 @@ import { ReactNode } from 'react'; import classNames from 'classnames'; import { Loading, SearchField } from 'react-basics'; -import { useMessages, useNavigation } from 'components/hooks'; -import Empty from 'components/common/Empty'; -import Pager from 'components/common/Pager'; -import { PagedQueryResult } from 'lib/types'; +import { useMessages, useNavigation } from '@/components/hooks'; +import Empty from '@/components/common/Empty'; +import Pager from '@/components/common/Pager'; +import { PagedQueryResult } from '@/lib/types'; import styles from './DataTable.module.css'; -import { LoadingPanel } from 'components/common/LoadingPanel'; +import { LoadingPanel } from '@/components/common/LoadingPanel'; const DEFAULT_SEARCH_DELAY = 600; diff --git a/src/components/common/Empty.tsx b/src/components/common/Empty.tsx index 8e7d2d00c..cf6d11cc6 100644 --- a/src/components/common/Empty.tsx +++ b/src/components/common/Empty.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './Empty.module.css'; export interface EmptyProps { diff --git a/src/components/common/EmptyPlaceholder.tsx b/src/components/common/EmptyPlaceholder.tsx index 640e45d50..2fd606cdc 100644 --- a/src/components/common/EmptyPlaceholder.tsx +++ b/src/components/common/EmptyPlaceholder.tsx @@ -1,6 +1,6 @@ import { ReactNode } from 'react'; import { Icon, Text, Flexbox } from 'react-basics'; -import Logo from 'assets/logo.svg'; +import Logo from '@/assets/logo.svg'; export interface EmptyPlaceholderProps { message?: string; diff --git a/src/components/common/ErrorBoundary.tsx b/src/components/common/ErrorBoundary.tsx index 9669580f9..b9521bb4e 100644 --- a/src/components/common/ErrorBoundary.tsx +++ b/src/components/common/ErrorBoundary.tsx @@ -1,7 +1,7 @@ import { ErrorInfo, ReactNode } from 'react'; import { ErrorBoundary as Boundary } from 'react-error-boundary'; import { Button } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './ErrorBoundary.module.css'; const logError = (error: Error, info: ErrorInfo) => { diff --git a/src/components/common/ErrorMessage.tsx b/src/components/common/ErrorMessage.tsx index 7ed8662a1..bf3eefb14 100644 --- a/src/components/common/ErrorMessage.tsx +++ b/src/components/common/ErrorMessage.tsx @@ -1,6 +1,6 @@ import { Icon, Icons, Text } from 'react-basics'; import styles from './ErrorMessage.module.css'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export function ErrorMessage() { const { formatMessage, messages } = useMessages(); diff --git a/src/components/common/FilterLink.tsx b/src/components/common/FilterLink.tsx index cdb928d8a..9d726b58c 100644 --- a/src/components/common/FilterLink.tsx +++ b/src/components/common/FilterLink.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames'; -import { useMessages, useNavigation } from 'components/hooks'; +import { useMessages, useNavigation } from '@/components/hooks'; import Link from 'next/link'; import { ReactNode } from 'react'; import { Icon, Icons } from 'react-basics'; diff --git a/src/components/common/LinkButton.tsx b/src/components/common/LinkButton.tsx index 83d95151e..3aa2a76a0 100644 --- a/src/components/common/LinkButton.tsx +++ b/src/components/common/LinkButton.tsx @@ -1,8 +1,8 @@ +import { ReactNode } from 'react'; import classNames from 'classnames'; import Link from 'next/link'; -import { useLocale } from 'components/hooks'; +import { useLocale } from '@/components/hooks'; import styles from './LinkButton.module.css'; -import { ReactNode } from 'react'; export interface LinkButtonProps { href: string; diff --git a/src/components/common/LoadingPanel.tsx b/src/components/common/LoadingPanel.tsx index 36de93651..4d27618ac 100644 --- a/src/components/common/LoadingPanel.tsx +++ b/src/components/common/LoadingPanel.tsx @@ -1,8 +1,8 @@ import { ReactNode } from 'react'; import classNames from 'classnames'; import { Loading } from 'react-basics'; -import ErrorMessage from 'components/common/ErrorMessage'; -import Empty from 'components/common/Empty'; +import ErrorMessage from '@/components/common/ErrorMessage'; +import Empty from '@/components/common/Empty'; import styles from './LoadingPanel.module.css'; export function LoadingPanel({ diff --git a/src/components/common/Pager.tsx b/src/components/common/Pager.tsx index 3e0a8033e..b33d2236f 100644 --- a/src/components/common/Pager.tsx +++ b/src/components/common/Pager.tsx @@ -1,6 +1,6 @@ import classNames from 'classnames'; import { Button, Icon, Icons } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './Pager.module.css'; export interface PagerProps { diff --git a/src/components/common/TypeConfirmationForm.tsx b/src/components/common/TypeConfirmationForm.tsx index 2dfb2dff8..ca911e171 100644 --- a/src/components/common/TypeConfirmationForm.tsx +++ b/src/components/common/TypeConfirmationForm.tsx @@ -7,7 +7,7 @@ import { TextField, SubmitButton, } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export function TypeConfirmationForm({ confirmationValue, diff --git a/src/components/hooks/queries/useConfig.ts b/src/components/hooks/queries/useConfig.ts index f4e911a01..223f45509 100644 --- a/src/components/hooks/queries/useConfig.ts +++ b/src/components/hooks/queries/useConfig.ts @@ -1,6 +1,6 @@ import { useEffect } from 'react'; -import useStore, { setConfig } from 'store/app'; -import { getConfig } from 'app/actions/getConfig'; +import useStore, { setConfig } from '@/store/app'; +import { getConfig } from '@/app/actions/getConfig'; export function useConfig() { const { config } = useStore(); diff --git a/src/components/hooks/queries/useLogin.ts b/src/components/hooks/queries/useLogin.ts index a54f38d11..f88efbf0e 100644 --- a/src/components/hooks/queries/useLogin.ts +++ b/src/components/hooks/queries/useLogin.ts @@ -1,5 +1,5 @@ import { UseQueryResult } from '@tanstack/react-query'; -import useStore, { setUser } from 'store/app'; +import useStore, { setUser } from '@/store/app'; import { useApi } from '../useApi'; const selector = (state: { user: any }) => state.user; diff --git a/src/components/hooks/queries/useRealtime.ts b/src/components/hooks/queries/useRealtime.ts index b87f74c46..c81ae90a9 100644 --- a/src/components/hooks/queries/useRealtime.ts +++ b/src/components/hooks/queries/useRealtime.ts @@ -1,6 +1,6 @@ -import { useTimezone } from 'components/hooks'; -import { REALTIME_INTERVAL } from 'lib/constants'; -import { RealtimeData } from 'lib/types'; +import { useTimezone } from '@/components/hooks'; +import { REALTIME_INTERVAL } from '@/lib/constants'; +import { RealtimeData } from '@/lib/types'; import { useApi } from '../useApi'; export function useRealtime(websiteId: string) { diff --git a/src/components/hooks/queries/useShareToken.ts b/src/components/hooks/queries/useShareToken.ts index f9db7dbfa..cf17c7562 100644 --- a/src/components/hooks/queries/useShareToken.ts +++ b/src/components/hooks/queries/useShareToken.ts @@ -1,4 +1,4 @@ -import useStore, { setShareToken } from 'store/app'; +import useStore, { setShareToken } from '@/store/app'; import { useApi } from '../useApi'; const selector = (state: { shareToken: string }) => state.shareToken; diff --git a/src/components/hooks/queries/useWebsiteSessions.ts b/src/components/hooks/queries/useWebsiteSessions.ts index ad7bb616d..09e34a803 100644 --- a/src/components/hooks/queries/useWebsiteSessions.ts +++ b/src/components/hooks/queries/useWebsiteSessions.ts @@ -1,7 +1,7 @@ import { useApi } from '../useApi'; import { usePagedQuery } from '../usePagedQuery'; import useModified from '../useModified'; -import { useFilterParams } from 'components/hooks/useFilterParams'; +import { useFilterParams } from '@/components/hooks/useFilterParams'; export function useWebsiteSessions(websiteId: string, params?: { [key: string]: string | number }) { const { get } = useApi(); diff --git a/src/components/hooks/queries/useWebsiteSessionsWeekly.ts b/src/components/hooks/queries/useWebsiteSessionsWeekly.ts index c4e83f987..f3aa3b00b 100644 --- a/src/components/hooks/queries/useWebsiteSessionsWeekly.ts +++ b/src/components/hooks/queries/useWebsiteSessionsWeekly.ts @@ -1,6 +1,6 @@ import { useApi } from '../useApi'; import useModified from '../useModified'; -import { useFilterParams } from 'components/hooks/useFilterParams'; +import { useFilterParams } from '@/components/hooks/useFilterParams'; export function useWebsiteSessionsWeekly( websiteId: string, diff --git a/src/components/hooks/queries/useWebsiteValues.ts b/src/components/hooks/queries/useWebsiteValues.ts index 73a7c7553..845954aaf 100644 --- a/src/components/hooks/queries/useWebsiteValues.ts +++ b/src/components/hooks/queries/useWebsiteValues.ts @@ -1,5 +1,5 @@ import { useApi } from '../useApi'; -import { useCountryNames, useRegionNames } from 'components/hooks'; +import { useCountryNames, useRegionNames } from '@/components/hooks'; import useLocale from '../useLocale'; export function useWebsiteValues({ diff --git a/src/components/hooks/useApi.ts b/src/components/hooks/useApi.ts index e71d5618e..2e3aee8fe 100644 --- a/src/components/hooks/useApi.ts +++ b/src/components/hooks/useApi.ts @@ -1,9 +1,9 @@ import { useCallback } from 'react'; import * as reactQuery from '@tanstack/react-query'; -import { getClientAuthToken } from 'lib/client'; -import { SHARE_TOKEN_HEADER } from 'lib/constants'; -import { httpGet, httpPost, httpPut, httpDelete } from 'lib/fetch'; -import useStore from 'store/app'; +import { getClientAuthToken } from '@/lib/client'; +import { SHARE_TOKEN_HEADER } from '@/lib/constants'; +import { httpGet, httpPost, httpPut, httpDelete } from '@/lib/fetch'; +import useStore from '@/store/app'; const selector = (state: { shareToken: { token?: string } }) => state.shareToken; diff --git a/src/components/hooks/useCountryNames.ts b/src/components/hooks/useCountryNames.ts index 8581eedf5..12f2f0dde 100644 --- a/src/components/hooks/useCountryNames.ts +++ b/src/components/hooks/useCountryNames.ts @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react'; -import { httpGet } from 'lib/fetch'; +import { httpGet } from '@/lib/fetch'; import enUS from '../../../public/intl/country/en-US.json'; const countryNames = { diff --git a/src/components/hooks/useDateRange.ts b/src/components/hooks/useDateRange.ts index 85aed285a..618389805 100644 --- a/src/components/hooks/useDateRange.ts +++ b/src/components/hooks/useDateRange.ts @@ -1,9 +1,9 @@ -import { getMinimumUnit, parseDateRange } from 'lib/date'; -import { setItem } from 'lib/storage'; -import { DATE_RANGE_CONFIG, DEFAULT_DATE_COMPARE, DEFAULT_DATE_RANGE } from 'lib/constants'; -import websiteStore, { setWebsiteDateRange, setWebsiteDateCompare } from 'store/websites'; -import appStore, { setDateRange } from 'store/app'; -import { DateRange } from 'lib/types'; +import { getMinimumUnit, parseDateRange } from '@/lib/date'; +import { setItem } from '@/lib/storage'; +import { DATE_RANGE_CONFIG, DEFAULT_DATE_COMPARE, DEFAULT_DATE_RANGE } from '@/lib/constants'; +import websiteStore, { setWebsiteDateRange, setWebsiteDateCompare } from '@/store/websites'; +import appStore, { setDateRange } from '@/store/app'; +import { DateRange } from '@/lib/types'; import { useLocale } from './useLocale'; import { useApi } from './useApi'; diff --git a/src/components/hooks/useFilters.ts b/src/components/hooks/useFilters.ts index 5f89eca40..2b99785a6 100644 --- a/src/components/hooks/useFilters.ts +++ b/src/components/hooks/useFilters.ts @@ -1,5 +1,5 @@ import { useMessages } from './useMessages'; -import { OPERATORS } from 'lib/constants'; +import { OPERATORS } from '@/lib/constants'; export function useFilters() { const { formatMessage, labels } = useMessages(); diff --git a/src/components/hooks/useFormat.ts b/src/components/hooks/useFormat.ts index 100307216..927e21e88 100644 --- a/src/components/hooks/useFormat.ts +++ b/src/components/hooks/useFormat.ts @@ -1,5 +1,5 @@ import useMessages from './useMessages'; -import { BROWSERS, OS_NAMES } from 'lib/constants'; +import { BROWSERS, OS_NAMES } from '@/lib/constants'; import useLocale from './useLocale'; import useCountryNames from './useCountryNames'; import useLanguageNames from './useLanguageNames'; diff --git a/src/components/hooks/useLanguageNames.ts b/src/components/hooks/useLanguageNames.ts index 847105c16..8c28d5606 100644 --- a/src/components/hooks/useLanguageNames.ts +++ b/src/components/hooks/useLanguageNames.ts @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react'; -import { httpGet } from 'lib/fetch'; +import { httpGet } from '@/lib/fetch'; import enUS from '../../../public/intl/language/en-US.json'; const languageNames = { diff --git a/src/components/hooks/useLocale.ts b/src/components/hooks/useLocale.ts index 1ac8945ed..f128e99a5 100644 --- a/src/components/hooks/useLocale.ts +++ b/src/components/hooks/useLocale.ts @@ -1,9 +1,9 @@ import { useEffect } from 'react'; -import { httpGet } from 'lib/fetch'; -import { setItem } from 'lib/storage'; -import { LOCALE_CONFIG } from 'lib/constants'; -import { getDateLocale, getTextDirection } from 'lib/lang'; -import useStore, { setLocale } from 'store/app'; +import { httpGet } from '@/lib/fetch'; +import { setItem } from '@/lib/storage'; +import { LOCALE_CONFIG } from '@/lib/constants'; +import { getDateLocale, getTextDirection } from '@/lib/lang'; +import useStore, { setLocale } from '@/store/app'; import { useForceUpdate } from './useForceUpdate'; import enUS from '../../../public/intl/country/en-US.json'; diff --git a/src/components/hooks/useMessages.ts b/src/components/hooks/useMessages.ts index ab37cc192..da3703488 100644 --- a/src/components/hooks/useMessages.ts +++ b/src/components/hooks/useMessages.ts @@ -1,5 +1,5 @@ import { useIntl, FormattedMessage } from 'react-intl'; -import { messages, labels } from 'components/messages'; +import { messages, labels } from '@/components/messages'; export function useMessages(): any { const intl = useIntl(); diff --git a/src/components/hooks/useModified.ts b/src/components/hooks/useModified.ts index 858be87eb..fd8dc2e67 100644 --- a/src/components/hooks/useModified.ts +++ b/src/components/hooks/useModified.ts @@ -1,4 +1,4 @@ -import useStore from 'store/modified'; +import useStore from '@/store/modified'; export function useModified(key?: string) { const modified = useStore(state => state?.[key]); diff --git a/src/components/hooks/useNavigation.ts b/src/components/hooks/useNavigation.ts index 2c5dddc42..b727ee90a 100644 --- a/src/components/hooks/useNavigation.ts +++ b/src/components/hooks/useNavigation.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; import { usePathname, useRouter, useSearchParams } from 'next/navigation'; -import { buildUrl } from 'lib/url'; +import { buildUrl } from '@/lib/url'; export function useNavigation(): { pathname: string; diff --git a/src/components/hooks/usePagedQuery.ts b/src/components/hooks/usePagedQuery.ts index a4cc68a67..bd59189a5 100644 --- a/src/components/hooks/usePagedQuery.ts +++ b/src/components/hooks/usePagedQuery.ts @@ -1,6 +1,6 @@ import { UseQueryOptions } from '@tanstack/react-query'; import { useState } from 'react'; -import { PageResult, PageParams, PagedQueryResult } from 'lib/types'; +import { PageResult, PageParams, PagedQueryResult } from '@/lib/types'; import { useApi } from './useApi'; import { useNavigation } from './useNavigation'; diff --git a/src/components/hooks/useTheme.ts b/src/components/hooks/useTheme.ts index c8e397d59..9bbe063c7 100644 --- a/src/components/hooks/useTheme.ts +++ b/src/components/hooks/useTheme.ts @@ -1,7 +1,7 @@ import { useEffect, useMemo } from 'react'; -import useStore, { setTheme } from 'store/app'; -import { getItem, setItem } from 'lib/storage'; -import { DEFAULT_THEME, THEME_COLORS, THEME_CONFIG } from 'lib/constants'; +import useStore, { setTheme } from '@/store/app'; +import { getItem, setItem } from '@/lib/storage'; +import { DEFAULT_THEME, THEME_COLORS, THEME_CONFIG } from '@/lib/constants'; import { colord } from 'colord'; const selector = (state: { theme: string }) => state.theme; diff --git a/src/components/hooks/useTimezone.ts b/src/components/hooks/useTimezone.ts index 4dfecdb45..5f01c2abd 100644 --- a/src/components/hooks/useTimezone.ts +++ b/src/components/hooks/useTimezone.ts @@ -1,7 +1,7 @@ -import { setItem } from 'lib/storage'; -import { TIMEZONE_CONFIG } from 'lib/constants'; +import { setItem } from '@/lib/storage'; +import { TIMEZONE_CONFIG } from '@/lib/constants'; import { formatInTimeZone, zonedTimeToUtc, utcToZonedTime } from 'date-fns-tz'; -import useStore, { setTimezone } from 'store/app'; +import useStore, { setTimezone } from '@/store/app'; const selector = (state: { timezone: string }) => state.timezone; diff --git a/src/components/icons.ts b/src/components/icons.ts index 1cf26543b..e952e500e 100644 --- a/src/components/icons.ts +++ b/src/components/icons.ts @@ -1,30 +1,30 @@ import { Icons } from 'react-basics'; -import AddUser from 'assets/add-user.svg'; -import Bars from 'assets/bars.svg'; -import BarChart from 'assets/bar-chart.svg'; -import Bolt from 'assets/bolt.svg'; -import Calendar from 'assets/calendar.svg'; -import Change from 'assets/change.svg'; -import Clock from 'assets/clock.svg'; -import Compare from 'assets/compare.svg'; -import Dashboard from 'assets/dashboard.svg'; -import Eye from 'assets/eye.svg'; -import Gear from 'assets/gear.svg'; -import Globe from 'assets/globe.svg'; -import Location from 'assets/location.svg'; -import Lock from 'assets/lock.svg'; -import Logo from 'assets/logo.svg'; -import Magnet from 'assets/magnet.svg'; -import Moon from 'assets/moon.svg'; -import Nodes from 'assets/nodes.svg'; -import Overview from 'assets/overview.svg'; -import Profile from 'assets/profile.svg'; -import PushPin from 'assets/pushpin.svg'; -import Reports from 'assets/reports.svg'; -import Sun from 'assets/sun.svg'; -import User from 'assets/user.svg'; -import Users from 'assets/users.svg'; -import Visitor from 'assets/visitor.svg'; +import AddUser from '@/assets/add-user.svg'; +import Bars from '@/assets/bars.svg'; +import BarChart from '@/assets/bar-chart.svg'; +import Bolt from '@/assets/bolt.svg'; +import Calendar from '@/assets/calendar.svg'; +import Change from '@/assets/change.svg'; +import Clock from '@/assets/clock.svg'; +import Compare from '@/assets/compare.svg'; +import Dashboard from '@/assets/dashboard.svg'; +import Eye from '@/assets/eye.svg'; +import Gear from '@/assets/gear.svg'; +import Globe from '@/assets/globe.svg'; +import Location from '@/assets/location.svg'; +import Lock from '@/assets/lock.svg'; +import Logo from '@/assets/logo.svg'; +import Magnet from '@/assets/magnet.svg'; +import Moon from '@/assets/moon.svg'; +import Nodes from '@/assets/nodes.svg'; +import Overview from '@/assets/overview.svg'; +import Profile from '@/assets/profile.svg'; +import PushPin from '@/assets/pushpin.svg'; +import Reports from '@/assets/reports.svg'; +import Sun from '@/assets/sun.svg'; +import User from '@/assets/user.svg'; +import Users from '@/assets/users.svg'; +import Visitor from '@/assets/visitor.svg'; const icons = { ...Icons, diff --git a/src/components/input/DateFilter.tsx b/src/components/input/DateFilter.tsx index e486551d6..443827a0b 100644 --- a/src/components/input/DateFilter.tsx +++ b/src/components/input/DateFilter.tsx @@ -1,10 +1,10 @@ import { useState } from 'react'; import { Icon, Modal, Dropdown, Item, Text, Flexbox } from 'react-basics'; import { endOfYear, isSameDay } from 'date-fns'; -import DatePickerForm from 'components/metrics/DatePickerForm'; -import { useLocale, useMessages } from 'components/hooks'; -import Icons from 'components/icons'; -import { formatDate, parseDateValue } from 'lib/date'; +import DatePickerForm from '@/components/metrics/DatePickerForm'; +import { useLocale, useMessages } from '@/components/hooks'; +import Icons from '@/components/icons'; +import { formatDate, parseDateValue } from '@/lib/date'; import styles from './DateFilter.module.css'; import classNames from 'classnames'; diff --git a/src/components/input/LanguageButton.tsx b/src/components/input/LanguageButton.tsx index 5da3bf784..54ce55eb3 100644 --- a/src/components/input/LanguageButton.tsx +++ b/src/components/input/LanguageButton.tsx @@ -1,8 +1,8 @@ import { Icon, Button, PopupTrigger, Popup } from 'react-basics'; import classNames from 'classnames'; -import { languages } from 'lib/lang'; -import { useLocale } from 'components/hooks'; -import Icons from 'components/icons'; +import { languages } from '@/lib/lang'; +import { useLocale } from '@/components/hooks'; +import Icons from '@/components/icons'; import styles from './LanguageButton.module.css'; export function LanguageButton() { diff --git a/src/components/input/LogoutButton.tsx b/src/components/input/LogoutButton.tsx index ddc71142a..a1a34a003 100644 --- a/src/components/input/LogoutButton.tsx +++ b/src/components/input/LogoutButton.tsx @@ -1,6 +1,6 @@ import { Button, Icon, Icons, TooltipPopup } from 'react-basics'; import Link from 'next/link'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export function LogoutButton({ tooltipPosition = 'top', diff --git a/src/components/input/MonthSelect.tsx b/src/components/input/MonthSelect.tsx index acb17dfe6..144f5bd80 100644 --- a/src/components/input/MonthSelect.tsx +++ b/src/components/input/MonthSelect.tsx @@ -9,9 +9,9 @@ import { Popup, } from 'react-basics'; import { startOfMonth, endOfMonth } from 'date-fns'; -import Icons from 'components/icons'; -import { useLocale } from 'components/hooks'; -import { formatDate } from 'lib/date'; +import Icons from '@/components/icons'; +import { useLocale } from '@/components/hooks'; +import { formatDate } from '@/lib/date'; import styles from './MonthSelect.module.css'; export function MonthSelect({ date = new Date(), onChange }) { diff --git a/src/components/input/ProfileButton.tsx b/src/components/input/ProfileButton.tsx index b1875165a..86a9d333d 100644 --- a/src/components/input/ProfileButton.tsx +++ b/src/components/input/ProfileButton.tsx @@ -1,9 +1,9 @@ import { Key } from 'react'; import { Icon, Button, PopupTrigger, Popup, Menu, Item, Text } from 'react-basics'; import { useRouter } from 'next/navigation'; -import Icons from 'components/icons'; -import { useMessages, useLogin, useLocale } from 'components/hooks'; -import { CURRENT_VERSION } from 'lib/constants'; +import Icons from '@/components/icons'; +import { useMessages, useLogin, useLocale } from '@/components/hooks'; +import { CURRENT_VERSION } from '@/lib/constants'; import styles from './ProfileButton.module.css'; export function ProfileButton() { diff --git a/src/components/input/RefreshButton.tsx b/src/components/input/RefreshButton.tsx index cd68c40af..35bfbf3c5 100644 --- a/src/components/input/RefreshButton.tsx +++ b/src/components/input/RefreshButton.tsx @@ -1,8 +1,8 @@ import { LoadingButton, Icon, TooltipPopup } from 'react-basics'; -import { setWebsiteDateRange } from 'store/websites'; -import { useDateRange } from 'components/hooks'; -import Icons from 'components/icons'; -import { useMessages } from 'components/hooks'; +import { setWebsiteDateRange } from '@/store/websites'; +import { useDateRange } from '@/components/hooks'; +import Icons from '@/components/icons'; +import { useMessages } from '@/components/hooks'; export function RefreshButton({ websiteId, diff --git a/src/components/input/SettingsButton.tsx b/src/components/input/SettingsButton.tsx index 535d03c34..d3dc471fa 100644 --- a/src/components/input/SettingsButton.tsx +++ b/src/components/input/SettingsButton.tsx @@ -1,8 +1,8 @@ import { Button, Icon, PopupTrigger, Popup, Form, FormRow } from 'react-basics'; -import TimezoneSetting from 'app/(main)/profile/TimezoneSetting'; -import DateRangeSetting from 'app/(main)/profile/DateRangeSetting'; -import Icons from 'components/icons'; -import { useMessages } from 'components/hooks'; +import TimezoneSetting from '@/app/(main)/profile/TimezoneSetting'; +import DateRangeSetting from '@/app/(main)/profile/DateRangeSetting'; +import Icons from '@/components/icons'; +import { useMessages } from '@/components/hooks'; import styles from './SettingsButton.module.css'; export function SettingsButton() { diff --git a/src/components/input/TeamsButton.tsx b/src/components/input/TeamsButton.tsx index b4e2f1571..f967a64cf 100644 --- a/src/components/input/TeamsButton.tsx +++ b/src/components/input/TeamsButton.tsx @@ -1,8 +1,8 @@ import { Key } from 'react'; import { Text, Icon, Button, Popup, Menu, Item, PopupTrigger, Flexbox } from 'react-basics'; import classNames from 'classnames'; -import Icons from 'components/icons'; -import { useLogin, useMessages, useTeams, useTeamUrl } from 'components/hooks'; +import Icons from '@/components/icons'; +import { useLogin, useMessages, useTeams, useTeamUrl } from '@/components/hooks'; import styles from './TeamsButton.module.css'; export function TeamsButton({ diff --git a/src/components/input/ThemeButton.tsx b/src/components/input/ThemeButton.tsx index ece571ab6..fd7d79a06 100644 --- a/src/components/input/ThemeButton.tsx +++ b/src/components/input/ThemeButton.tsx @@ -1,7 +1,7 @@ import { useTransition, animated } from '@react-spring/web'; import { Button, Icon } from 'react-basics'; -import { useTheme } from 'components/hooks'; -import Icons from 'components/icons'; +import { useTheme } from '@/components/hooks'; +import Icons from '@/components/icons'; import styles from './ThemeButton.module.css'; export function ThemeButton() { @@ -28,7 +28,7 @@ export function ThemeButton() { diff --git a/src/components/input/WebsiteDateFilter.tsx b/src/components/input/WebsiteDateFilter.tsx index 486f5de14..97beaf129 100644 --- a/src/components/input/WebsiteDateFilter.tsx +++ b/src/components/input/WebsiteDateFilter.tsx @@ -1,10 +1,10 @@ -import { useDateRange, useLocale } from 'components/hooks'; +import { useDateRange, useLocale } from '@/components/hooks'; import { isAfter } from 'date-fns'; -import { getOffsetDateRange } from 'lib/date'; +import { getOffsetDateRange } from '@/lib/date'; import { Button, Icon, Icons } from 'react-basics'; import DateFilter from './DateFilter'; import styles from './WebsiteDateFilter.module.css'; -import { DateRange } from 'lib/types'; +import { DateRange } from '@/lib/types'; export function WebsiteDateFilter({ websiteId, diff --git a/src/components/input/WebsiteSelect.tsx b/src/components/input/WebsiteSelect.tsx index 0540ed383..ed78efc8d 100644 --- a/src/components/input/WebsiteSelect.tsx +++ b/src/components/input/WebsiteSelect.tsx @@ -1,7 +1,7 @@ import { useState, Key } from 'react'; import { Dropdown, Item } from 'react-basics'; -import { useWebsite, useWebsites, useMessages } from 'components/hooks'; -import Empty from 'components/common/Empty'; +import { useWebsite, useWebsites, useMessages } from '@/components/hooks'; +import Empty from '@/components/common/Empty'; import styles from './WebsiteSelect.module.css'; export function WebsiteSelect({ diff --git a/src/components/layout/MenuLayout.tsx b/src/components/layout/MenuLayout.tsx index 2edd1091d..1465c0625 100644 --- a/src/components/layout/MenuLayout.tsx +++ b/src/components/layout/MenuLayout.tsx @@ -1,6 +1,6 @@ import { ReactNode } from 'react'; import { usePathname } from 'next/navigation'; -import SideNav from 'components/layout/SideNav'; +import SideNav from '@/components/layout/SideNav'; import styles from './MenuLayout.module.css'; export function MenuLayout({ items = [], children }: { items: any[]; children: ReactNode }) { diff --git a/src/components/layout/NavGroup.module.css b/src/components/layout/NavGroup.module.css index d827da86f..4979210aa 100644 --- a/src/components/layout/NavGroup.module.css +++ b/src/components/layout/NavGroup.module.css @@ -51,11 +51,6 @@ a.item { color: var(--base900); } -.item.disabled { - color: var(--base500) !important; - pointer-events: none; -} - .minimized .text, .minimized .header { display: none; diff --git a/src/components/layout/NavGroup.tsx b/src/components/layout/NavGroup.tsx index e95b61faf..723f9a7ea 100644 --- a/src/components/layout/NavGroup.tsx +++ b/src/components/layout/NavGroup.tsx @@ -3,7 +3,7 @@ import { Icon, Text, TooltipPopup } from 'react-basics'; import classNames from 'classnames'; import { usePathname } from 'next/navigation'; import Link from 'next/link'; -import Icons from 'components/icons'; +import Icons from '@/components/icons'; import styles from './NavGroup.module.css'; export interface NavGroupProps { diff --git a/src/components/layout/Page.tsx b/src/components/layout/Page.tsx index 83312d12d..c06054b4f 100644 --- a/src/components/layout/Page.tsx +++ b/src/components/layout/Page.tsx @@ -2,7 +2,7 @@ import { ReactNode } from 'react'; import classNames from 'classnames'; import { Banner, Loading } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './Page.module.css'; export function Page({ diff --git a/src/components/messages.ts b/src/components/messages.ts index 688dd11d5..80d23d2ac 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -280,6 +280,7 @@ export const labels = defineMessages({ lastSeen: { id: 'label.last-seen', defaultMessage: 'Last seen' }, firstSeen: { id: 'label.first-seen', defaultMessage: 'First seen' }, properties: { id: 'label.properties', defaultMessage: 'Properties' }, + channels: { id: 'label.channels', defaultMessage: 'Channels' }, }); export const messages = defineMessages({ diff --git a/src/components/metrics/ActiveUsers.tsx b/src/components/metrics/ActiveUsers.tsx index 966b91d9c..50c676ab8 100644 --- a/src/components/metrics/ActiveUsers.tsx +++ b/src/components/metrics/ActiveUsers.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { StatusLight } from 'react-basics'; -import { useApi } from 'components/hooks'; -import { useMessages } from 'components/hooks'; +import { useApi } from '@/components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './ActiveUsers.module.css'; export function ActiveUsers({ diff --git a/src/components/metrics/BrowsersTable.tsx b/src/components/metrics/BrowsersTable.tsx index d0cec1245..500686b14 100644 --- a/src/components/metrics/BrowsersTable.tsx +++ b/src/components/metrics/BrowsersTable.tsx @@ -1,8 +1,8 @@ -import FilterLink from 'components/common/FilterLink'; -import MetricsTable, { MetricsTableProps } from 'components/metrics/MetricsTable'; -import { useMessages } from 'components/hooks'; -import { useFormat } from 'components/hooks'; -import TypeIcon from 'components/common/TypeIcon'; +import FilterLink from '@/components/common/FilterLink'; +import MetricsTable, { MetricsTableProps } from '@/components/metrics/MetricsTable'; +import { useMessages } from '@/components/hooks'; +import { useFormat } from '@/components/hooks'; +import TypeIcon from '@/components/common/TypeIcon'; export function BrowsersTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); diff --git a/src/components/metrics/ChannelsTable.tsx b/src/components/metrics/ChannelsTable.tsx new file mode 100644 index 000000000..645ca9360 --- /dev/null +++ b/src/components/metrics/ChannelsTable.tsx @@ -0,0 +1,17 @@ +import MetricsTable, { MetricsTableProps } from '@/components/metrics/MetricsTable'; +import { useMessages } from '@/components/hooks'; + +export function BrowsersTable(props: MetricsTableProps) { + const { formatMessage, labels } = useMessages(); + + return ( + + ); +} + +export default BrowsersTable; diff --git a/src/components/metrics/CitiesTable.tsx b/src/components/metrics/CitiesTable.tsx index fd628e7fa..1e5fc7351 100644 --- a/src/components/metrics/CitiesTable.tsx +++ b/src/components/metrics/CitiesTable.tsx @@ -1,8 +1,8 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import { emptyFilter } from 'lib/filters'; -import FilterLink from 'components/common/FilterLink'; -import { useMessages } from 'components/hooks'; -import { useFormat } from 'components/hooks'; +import { emptyFilter } from '@/lib/filters'; +import FilterLink from '@/components/common/FilterLink'; +import { useMessages } from '@/components/hooks'; +import { useFormat } from '@/components/hooks'; export function CitiesTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); diff --git a/src/components/metrics/CountriesTable.tsx b/src/components/metrics/CountriesTable.tsx index f4560ae34..cdd051151 100644 --- a/src/components/metrics/CountriesTable.tsx +++ b/src/components/metrics/CountriesTable.tsx @@ -1,8 +1,8 @@ -import FilterLink from 'components/common/FilterLink'; -import { useCountryNames } from 'components/hooks'; -import { useLocale, useMessages, useFormat } from 'components/hooks'; +import FilterLink from '@/components/common/FilterLink'; +import { useCountryNames } from '@/components/hooks'; +import { useLocale, useMessages, useFormat } from '@/components/hooks'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import TypeIcon from 'components/common/TypeIcon'; +import TypeIcon from '@/components/common/TypeIcon'; export function CountriesTable({ ...props }: MetricsTableProps) { const { locale } = useLocale(); diff --git a/src/components/metrics/DatePickerForm.tsx b/src/components/metrics/DatePickerForm.tsx index 892cd1276..d1a5c7db0 100644 --- a/src/components/metrics/DatePickerForm.tsx +++ b/src/components/metrics/DatePickerForm.tsx @@ -1,9 +1,9 @@ import { useState } from 'react'; import { Button, ButtonGroup, Calendar } from 'react-basics'; import { isAfter, isBefore, isSameDay, startOfDay, endOfDay } from 'date-fns'; -import { useLocale } from 'components/hooks'; -import { FILTER_DAY, FILTER_RANGE } from 'lib/constants'; -import { useMessages } from 'components/hooks'; +import { useLocale } from '@/components/hooks'; +import { FILTER_DAY, FILTER_RANGE } from '@/lib/constants'; +import { useMessages } from '@/components/hooks'; import styles from './DatePickerForm.module.css'; export function DatePickerForm({ diff --git a/src/components/metrics/DevicesTable.tsx b/src/components/metrics/DevicesTable.tsx index c25afe4fa..ed327c33a 100644 --- a/src/components/metrics/DevicesTable.tsx +++ b/src/components/metrics/DevicesTable.tsx @@ -1,8 +1,8 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import FilterLink from 'components/common/FilterLink'; -import { useMessages } from 'components/hooks'; -import { useFormat } from 'components/hooks'; -import TypeIcon from 'components/common/TypeIcon'; +import FilterLink from '@/components/common/FilterLink'; +import { useMessages } from '@/components/hooks'; +import { useFormat } from '@/components/hooks'; +import TypeIcon from '@/components/common/TypeIcon'; export function DevicesTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); diff --git a/src/components/metrics/EventsChart.tsx b/src/components/metrics/EventsChart.tsx index 2ba2caeec..9655c4a47 100644 --- a/src/components/metrics/EventsChart.tsx +++ b/src/components/metrics/EventsChart.tsx @@ -1,8 +1,8 @@ import { colord } from 'colord'; -import BarChart from 'components/charts/BarChart'; -import { useDateRange, useLocale, useWebsiteEventsSeries } from 'components/hooks'; -import { renderDateLabels } from 'lib/charts'; -import { CHART_COLORS } from 'lib/constants'; +import BarChart from '@/components/charts/BarChart'; +import { useDateRange, useLocale, useWebsiteEventsSeries } from '@/components/hooks'; +import { renderDateLabels } from '@/lib/charts'; +import { CHART_COLORS } from '@/lib/constants'; import { useMemo } from 'react'; export interface EventsChartProps { diff --git a/src/components/metrics/EventsTable.tsx b/src/components/metrics/EventsTable.tsx index c90ae9887..bc753b3b2 100644 --- a/src/components/metrics/EventsTable.tsx +++ b/src/components/metrics/EventsTable.tsx @@ -1,5 +1,5 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export function EventsTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); diff --git a/src/components/metrics/FilterTags.tsx b/src/components/metrics/FilterTags.tsx index 60cf90c18..fcba3c9e0 100644 --- a/src/components/metrics/FilterTags.tsx +++ b/src/components/metrics/FilterTags.tsx @@ -7,13 +7,13 @@ import { useMessages, useFormat, useFilters, -} from 'components/hooks'; -import PopupForm from 'app/(main)/reports/[reportId]/PopupForm'; -import FieldFilterEditForm from 'app/(main)/reports/[reportId]/FieldFilterEditForm'; -import { OPERATOR_PREFIXES } from 'lib/constants'; -import { isSearchOperator, parseParameterValue } from 'lib/params'; +} from '@/components/hooks'; +import PopupForm from '@/app/(main)/reports/[reportId]/PopupForm'; +import FieldFilterEditForm from '@/app/(main)/reports/[reportId]/FieldFilterEditForm'; +import { OPERATOR_PREFIXES } from '@/lib/constants'; +import { isSearchOperator, parseParameterValue } from '@/lib/params'; import styles from './FilterTags.module.css'; -import WebsiteFilterButton from 'app/(main)/websites/[websiteId]/WebsiteFilterButton'; +import WebsiteFilterButton from '@/app/(main)/websites/[websiteId]/WebsiteFilterButton'; export function FilterTags({ websiteId, diff --git a/src/components/metrics/HostsTable.tsx b/src/components/metrics/HostsTable.tsx index 45147eac5..e034b9702 100644 --- a/src/components/metrics/HostsTable.tsx +++ b/src/components/metrics/HostsTable.tsx @@ -1,6 +1,6 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import FilterLink from 'components/common/FilterLink'; -import { useMessages } from 'components/hooks'; +import FilterLink from '@/components/common/FilterLink'; +import { useMessages } from '@/components/hooks'; import { Flexbox } from 'react-basics'; export function HostsTable(props: MetricsTableProps) { diff --git a/src/components/metrics/LanguagesTable.tsx b/src/components/metrics/LanguagesTable.tsx index 24b62046f..3ced249ed 100644 --- a/src/components/metrics/LanguagesTable.tsx +++ b/src/components/metrics/LanguagesTable.tsx @@ -1,8 +1,8 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import { percentFilter } from 'lib/filters'; -import { useLocale } from 'components/hooks'; -import { useMessages } from 'components/hooks'; -import { useFormat } from 'components/hooks'; +import { percentFilter } from '@/lib/filters'; +import { useLocale } from '@/components/hooks'; +import { useMessages } from '@/components/hooks'; +import { useFormat } from '@/components/hooks'; export function LanguagesTable({ onDataLoad, diff --git a/src/components/metrics/ListTable.tsx b/src/components/metrics/ListTable.tsx index 59ded4917..6fbf390af 100644 --- a/src/components/metrics/ListTable.tsx +++ b/src/components/metrics/ListTable.tsx @@ -1,9 +1,9 @@ import { FixedSizeList } from 'react-window'; import { useSpring, animated, config } from '@react-spring/web'; import classNames from 'classnames'; -import Empty from 'components/common/Empty'; -import { formatLongNumber } from 'lib/format'; -import { useMessages } from 'components/hooks'; +import Empty from '@/components/common/Empty'; +import { formatLongNumber } from '@/lib/format'; +import { useMessages } from '@/components/hooks'; import styles from './ListTable.module.css'; import { ReactNode } from 'react'; diff --git a/src/components/metrics/MetricCard.tsx b/src/components/metrics/MetricCard.tsx index 64f2a1b6b..41766167e 100644 --- a/src/components/metrics/MetricCard.tsx +++ b/src/components/metrics/MetricCard.tsx @@ -1,7 +1,7 @@ import classNames from 'classnames'; import { useSpring, animated } from '@react-spring/web'; -import { formatNumber } from 'lib/format'; -import ChangeLabel from 'components/metrics/ChangeLabel'; +import { formatNumber } from '@/lib/format'; +import ChangeLabel from '@/components/metrics/ChangeLabel'; import styles from './MetricCard.module.css'; export interface MetricCardProps { diff --git a/src/components/metrics/MetricsBar.tsx b/src/components/metrics/MetricsBar.tsx index 60a217067..6e9f22de9 100644 --- a/src/components/metrics/MetricsBar.tsx +++ b/src/components/metrics/MetricsBar.tsx @@ -1,7 +1,7 @@ import { ReactNode } from 'react'; import { Loading, cloneChildren } from 'react-basics'; -import ErrorMessage from 'components/common/ErrorMessage'; -import { formatLongNumber } from 'lib/format'; +import ErrorMessage from '@/components/common/ErrorMessage'; +import { formatLongNumber } from '@/lib/format'; import styles from './MetricsBar.module.css'; export interface MetricsBarProps { diff --git a/src/components/metrics/MetricsTable.tsx b/src/components/metrics/MetricsTable.tsx index 4db599b96..33b457b57 100644 --- a/src/components/metrics/MetricsTable.tsx +++ b/src/components/metrics/MetricsTable.tsx @@ -1,18 +1,18 @@ import { ReactNode, useMemo, useState } from 'react'; import { Loading, Icon, Text, SearchField } from 'react-basics'; import classNames from 'classnames'; -import ErrorMessage from 'components/common/ErrorMessage'; -import LinkButton from 'components/common/LinkButton'; -import { DEFAULT_ANIMATION_DURATION } from 'lib/constants'; -import { percentFilter } from 'lib/filters'; +import ErrorMessage from '@/components/common/ErrorMessage'; +import LinkButton from '@/components/common/LinkButton'; +import { DEFAULT_ANIMATION_DURATION } from '@/lib/constants'; +import { percentFilter } from '@/lib/filters'; import { useNavigation, useWebsiteMetrics, useMessages, useLocale, useFormat, -} from 'components/hooks'; -import Icons from 'components/icons'; +} from '@/components/hooks'; +import Icons from '@/components/icons'; import ListTable, { ListTableProps } from './ListTable'; import styles from './MetricsTable.module.css'; diff --git a/src/components/metrics/OSTable.tsx b/src/components/metrics/OSTable.tsx index 6989504c0..37b79549a 100644 --- a/src/components/metrics/OSTable.tsx +++ b/src/components/metrics/OSTable.tsx @@ -1,7 +1,7 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import FilterLink from 'components/common/FilterLink'; -import { useMessages, useFormat } from 'components/hooks'; -import TypeIcon from 'components/common/TypeIcon'; +import FilterLink from '@/components/common/FilterLink'; +import { useMessages, useFormat } from '@/components/hooks'; +import TypeIcon from '@/components/common/TypeIcon'; export function OSTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); diff --git a/src/components/metrics/PagesTable.tsx b/src/components/metrics/PagesTable.tsx index b2d8ca9c3..8163b3d9c 100644 --- a/src/components/metrics/PagesTable.tsx +++ b/src/components/metrics/PagesTable.tsx @@ -1,8 +1,8 @@ -import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; -import FilterButtons from 'components/common/FilterButtons'; -import FilterLink from 'components/common/FilterLink'; -import { useMessages, useNavigation } from 'components/hooks'; -import { emptyFilter } from 'lib/filters'; +import { WebsiteContext } from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; +import FilterButtons from '@/components/common/FilterButtons'; +import FilterLink from '@/components/common/FilterLink'; +import { useMessages, useNavigation } from '@/components/hooks'; +import { emptyFilter } from '@/lib/filters'; import { useContext } from 'react'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; diff --git a/src/components/metrics/PageviewsChart.tsx b/src/components/metrics/PageviewsChart.tsx index 6274defc0..6fa3285f4 100644 --- a/src/components/metrics/PageviewsChart.tsx +++ b/src/components/metrics/PageviewsChart.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react'; -import BarChart, { BarChartProps } from 'components/charts/BarChart'; -import { useLocale, useTheme, useMessages } from 'components/hooks'; -import { renderDateLabels } from 'lib/charts'; +import BarChart, { BarChartProps } from '@/components/charts/BarChart'; +import { useLocale, useTheme, useMessages } from '@/components/hooks'; +import { renderDateLabels } from '@/lib/charts'; export interface PagepageviewsChartProps extends BarChartProps { data: { diff --git a/src/components/metrics/QueryParametersTable.tsx b/src/components/metrics/QueryParametersTable.tsx index 4ee15ae57..26f01faf4 100644 --- a/src/components/metrics/QueryParametersTable.tsx +++ b/src/components/metrics/QueryParametersTable.tsx @@ -1,9 +1,9 @@ import { useState } from 'react'; -import FilterButtons from 'components/common/FilterButtons'; -import { emptyFilter, paramFilter } from 'lib/filters'; -import { FILTER_RAW, FILTER_COMBINED } from 'lib/constants'; +import FilterButtons from '@/components/common/FilterButtons'; +import { emptyFilter, paramFilter } from '@/lib/filters'; +import { FILTER_RAW, FILTER_COMBINED } from '@/lib/constants'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; import styles from './QueryParametersTable.module.css'; const filters = { diff --git a/src/components/metrics/RealtimeChart.tsx b/src/components/metrics/RealtimeChart.tsx index b2819f9c8..f5697caa1 100644 --- a/src/components/metrics/RealtimeChart.tsx +++ b/src/components/metrics/RealtimeChart.tsx @@ -1,8 +1,8 @@ import { useMemo, useRef } from 'react'; import { startOfMinute, subMinutes, isBefore } from 'date-fns'; import PageviewsChart from './PageviewsChart'; -import { DEFAULT_ANIMATION_DURATION, REALTIME_RANGE } from 'lib/constants'; -import { RealtimeData } from 'lib/types'; +import { DEFAULT_ANIMATION_DURATION, REALTIME_RANGE } from '@/lib/constants'; +import { RealtimeData } from '@/lib/types'; export interface RealtimeChartProps { data: RealtimeData; diff --git a/src/components/metrics/ReferrersTable.tsx b/src/components/metrics/ReferrersTable.tsx index d83c4d122..9e3269945 100644 --- a/src/components/metrics/ReferrersTable.tsx +++ b/src/components/metrics/ReferrersTable.tsx @@ -1,6 +1,6 @@ -import FilterLink from 'components/common/FilterLink'; -import Favicon from 'components/common/Favicon'; -import { useMessages } from 'components/hooks'; +import FilterLink from '@/components/common/FilterLink'; +import Favicon from '@/components/common/Favicon'; +import { useMessages } from '@/components/hooks'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; export function ReferrersTable(props: MetricsTableProps) { diff --git a/src/components/metrics/RegionsTable.tsx b/src/components/metrics/RegionsTable.tsx index 0c3a931fd..0b7e3bdfa 100644 --- a/src/components/metrics/RegionsTable.tsx +++ b/src/components/metrics/RegionsTable.tsx @@ -1,8 +1,8 @@ -import FilterLink from 'components/common/FilterLink'; -import { emptyFilter } from 'lib/filters'; -import { useMessages, useLocale, useRegionNames } from 'components/hooks'; +import FilterLink from '@/components/common/FilterLink'; +import { emptyFilter } from '@/lib/filters'; +import { useMessages, useLocale, useRegionNames } from '@/components/hooks'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import TypeIcon from 'components/common/TypeIcon'; +import TypeIcon from '@/components/common/TypeIcon'; export function RegionsTable(props: MetricsTableProps) { const { locale } = useLocale(); diff --git a/src/components/metrics/ScreenTable.tsx b/src/components/metrics/ScreenTable.tsx index 51015fcbc..c2a19caae 100644 --- a/src/components/metrics/ScreenTable.tsx +++ b/src/components/metrics/ScreenTable.tsx @@ -1,5 +1,5 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import { useMessages } from 'components/hooks'; +import { useMessages } from '@/components/hooks'; export function ScreenTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); diff --git a/src/components/metrics/TagsTable.tsx b/src/components/metrics/TagsTable.tsx index a1130bb4f..e915f8735 100644 --- a/src/components/metrics/TagsTable.tsx +++ b/src/components/metrics/TagsTable.tsx @@ -1,6 +1,6 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import FilterLink from 'components/common/FilterLink'; -import { useMessages } from 'components/hooks'; +import FilterLink from '@/components/common/FilterLink'; +import { useMessages } from '@/components/hooks'; import { Flexbox } from 'react-basics'; export function TagsTable(props: MetricsTableProps) { diff --git a/src/components/metrics/WorldMap.tsx b/src/components/metrics/WorldMap.tsx index 5dfc5f742..a377bfc9a 100644 --- a/src/components/metrics/WorldMap.tsx +++ b/src/components/metrics/WorldMap.tsx @@ -2,14 +2,14 @@ import { useState, useMemo, HTMLAttributes } from 'react'; import { ComposableMap, Geographies, Geography, ZoomableGroup } from 'react-simple-maps'; import classNames from 'classnames'; import { colord } from 'colord'; -import HoverTooltip from 'components/common/HoverTooltip'; -import { ISO_COUNTRIES, MAP_FILE } from 'lib/constants'; -import { useDateRange, useTheme, useWebsiteMetrics } from 'components/hooks'; -import { useCountryNames } from 'components/hooks'; -import { useLocale } from 'components/hooks'; -import { useMessages } from 'components/hooks'; -import { formatLongNumber } from 'lib/format'; -import { percentFilter } from 'lib/filters'; +import HoverTooltip from '@/components/common/HoverTooltip'; +import { ISO_COUNTRIES, MAP_FILE } from '@/lib/constants'; +import { useDateRange, useTheme, useWebsiteMetrics } from '@/components/hooks'; +import { useCountryNames } from '@/components/hooks'; +import { useLocale } from '@/components/hooks'; +import { useMessages } from '@/components/hooks'; +import { formatLongNumber } from '@/lib/format'; +import { percentFilter } from '@/lib/filters'; import styles from './WorldMap.module.css'; export function WorldMap({ diff --git a/src/index.ts b/src/index.ts index 553a44b54..e7b0e6c62 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,64 +1,64 @@ -export * from 'components/hooks'; +export * from '@/components/hooks'; -export * from 'app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton'; -export * from 'app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm'; -export * from 'app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton'; -export * from 'app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable'; -export * from 'app/(main)/teams/[teamId]/settings/members/TeamMembersTable'; +export * from '@/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton'; +export * from '@/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm'; +export * from '@/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton'; +export * from '@/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable'; +export * from '@/app/(main)/teams/[teamId]/settings/members/TeamMembersTable'; -export * from 'app/(main)/teams/[teamId]/settings/team/TeamDeleteForm'; -export * from 'app/(main)/teams/[teamId]/settings/team/TeamDetails'; -export * from 'app/(main)/teams/[teamId]/settings/team/TeamEditForm'; -export * from 'app/(main)/teams/[teamId]/settings/team/TeamManage'; +export * from '@/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm'; +export * from '@/app/(main)/teams/[teamId]/settings/team/TeamDetails'; +export * from '@/app/(main)/teams/[teamId]/settings/team/TeamEditForm'; +export * from '@/app/(main)/teams/[teamId]/settings/team/TeamManage'; -export * from 'app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton'; -export * from 'app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable'; -export * from 'app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable'; +export * from '@/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton'; +export * from '@/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable'; +export * from '@/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable'; -export * from 'app/(main)/settings/teams/TeamAddForm'; -export * from 'app/(main)/settings/teams/TeamJoinForm'; -export * from 'app/(main)/settings/teams/TeamLeaveButton'; -export * from 'app/(main)/settings/teams/TeamLeaveForm'; -export * from 'app/(main)/settings/teams/TeamsAddButton'; -export * from 'app/(main)/settings/teams/TeamsDataTable'; -export * from 'app/(main)/settings/teams/TeamsHeader'; -export * from 'app/(main)/settings/teams/TeamsJoinButton'; -export * from 'app/(main)/settings/teams/TeamsTable'; -export * from 'app/(main)/settings/teams/WebsiteTags'; +export * from '@/app/(main)/settings/teams/TeamAddForm'; +export * from '@/app/(main)/settings/teams/TeamJoinForm'; +export * from '@/app/(main)/settings/teams/TeamLeaveButton'; +export * from '@/app/(main)/settings/teams/TeamLeaveForm'; +export * from '@/app/(main)/settings/teams/TeamsAddButton'; +export * from '@/app/(main)/settings/teams/TeamsDataTable'; +export * from '@/app/(main)/settings/teams/TeamsHeader'; +export * from '@/app/(main)/settings/teams/TeamsJoinButton'; +export * from '@/app/(main)/settings/teams/TeamsTable'; +export * from '@/app/(main)/settings/teams/WebsiteTags'; -export * from 'app/(main)/settings/websites/[websiteId]/ShareUrl'; -export * from 'app/(main)/settings/websites/[websiteId]/TrackingCode'; -export * from 'app/(main)/settings/websites/[websiteId]/WebsiteData'; -export * from 'app/(main)/settings/websites/[websiteId]/WebsiteDeleteForm'; -export * from 'app/(main)/settings/websites/[websiteId]/WebsiteEditForm'; -export * from 'app/(main)/settings/websites/[websiteId]/WebsiteResetForm'; -export * from 'app/(main)/settings/websites/[websiteId]/WebsiteSettings'; +export * from '@/app/(main)/settings/websites/[websiteId]/ShareUrl'; +export * from '@/app/(main)/settings/websites/[websiteId]/TrackingCode'; +export * from '@/app/(main)/settings/websites/[websiteId]/WebsiteData'; +export * from '@/app/(main)/settings/websites/[websiteId]/WebsiteDeleteForm'; +export * from '@/app/(main)/settings/websites/[websiteId]/WebsiteEditForm'; +export * from '@/app/(main)/settings/websites/[websiteId]/WebsiteResetForm'; +export * from '@/app/(main)/settings/websites/[websiteId]/WebsiteSettings'; -export * from 'app/(main)/settings/websites/WebsiteAddButton'; -export * from 'app/(main)/settings/websites/WebsiteAddForm'; -export * from 'app/(main)/settings/websites/WebsitesDataTable'; -export * from 'app/(main)/settings/websites/WebsitesHeader'; -export * from 'app/(main)/settings/websites/WebsitesTable'; +export * from '@/app/(main)/settings/websites/WebsiteAddButton'; +export * from '@/app/(main)/settings/websites/WebsiteAddForm'; +export * from '@/app/(main)/settings/websites/WebsitesDataTable'; +export * from '@/app/(main)/settings/websites/WebsitesHeader'; +export * from '@/app/(main)/settings/websites/WebsitesTable'; -export * from 'app/(main)/teams/[teamId]/TeamProvider'; -export * from 'app/(main)/websites/[websiteId]/WebsiteProvider'; +export * from '@/app/(main)/teams/[teamId]/TeamProvider'; +export * from '@/app/(main)/websites/[websiteId]/WebsiteProvider'; -export * from 'components/common/ConfirmationForm'; -export * from 'components/common/DataTable'; -export * from 'components/common/Empty'; -export * from 'components/common/ErrorBoundary'; -export * from 'components/common/ErrorMessage'; -export * from 'components/common/Favicon'; -export * from 'components/common/FilterButtons'; -export * from 'components/common/FilterLink'; -export * from 'components/common/HamburgerButton'; -export * from 'components/common/HoverTooltip'; -export * from 'components/common/LinkButton'; -export * from 'components/common/MobileMenu'; -export * from 'components/common/Pager'; -export * from 'components/common/TypeConfirmationForm'; +export * from '@/components/common/ConfirmationForm'; +export * from '@/components/common/DataTable'; +export * from '@/components/common/Empty'; +export * from '@/components/common/ErrorBoundary'; +export * from '@/components/common/ErrorMessage'; +export * from '@/components/common/Favicon'; +export * from '@/components/common/FilterButtons'; +export * from '@/components/common/FilterLink'; +export * from '@/components/common/HamburgerButton'; +export * from '@/components/common/HoverTooltip'; +export * from '@/components/common/LinkButton'; +export * from '@/components/common/MobileMenu'; +export * from '@/components/common/Pager'; +export * from '@/components/common/TypeConfirmationForm'; -export * from 'components/input/TeamsButton'; -export * from 'components/input/ThemeButton'; +export * from '@/components/input/TeamsButton'; +export * from '@/components/input/ThemeButton'; -export { ROLES } from 'lib/constants'; +export { ROLES } from '@/lib/constants'; diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 9eb578092..4ce907063 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -2,11 +2,11 @@ import bcrypt from 'bcryptjs'; import { Report } from '@prisma/client'; import { getClient, redisEnabled } from '@umami/redis-client'; import debug from 'debug'; -import { PERMISSIONS, ROLE_PERMISSIONS, ROLES, SHARE_TOKEN_HEADER } from 'lib/constants'; -import { secret, getRandomChars } from 'lib/crypto'; -import { createSecureToken, parseSecureToken, parseToken } from 'lib/jwt'; -import { ensureArray } from 'lib/utils'; -import { getTeamUser, getUser, getWebsite } from 'queries'; +import { PERMISSIONS, ROLE_PERMISSIONS, ROLES, SHARE_TOKEN_HEADER } from '@/lib/constants'; +import { secret, getRandomChars } from '@/lib/crypto'; +import { createSecureToken, parseSecureToken, parseToken } from '@/lib/jwt'; +import { ensureArray } from '@/lib/utils'; +import { getTeamUser, getUser, getWebsite } from '@/queries'; import { Auth } from './types'; const log = debug('umami:auth'); diff --git a/src/lib/charts.ts b/src/lib/charts.ts index 8939b3c1b..d805eefe0 100644 --- a/src/lib/charts.ts +++ b/src/lib/charts.ts @@ -1,5 +1,5 @@ -import { formatDate } from 'lib/date'; -import { formatLongNumber } from 'lib/format'; +import { formatDate } from '@/lib/date'; +import { formatLongNumber } from '@/lib/format'; export function renderNumberLabels(label: string) { return +label > 1000 ? formatLongNumber(+label) : label; diff --git a/src/lib/clickhouse.ts b/src/lib/clickhouse.ts index 5f0248b49..13abde9de 100644 --- a/src/lib/clickhouse.ts +++ b/src/lib/clickhouse.ts @@ -1,8 +1,8 @@ import { ClickHouseClient, createClient } from '@clickhouse/client'; import { formatInTimeZone } from 'date-fns-tz'; import debug from 'debug'; -import { CLICKHOUSE } from 'lib/db'; -import { getWebsite } from 'queries/index'; +import { CLICKHOUSE } from '@/lib/db'; +import { getWebsite } from '@/queries/index'; import { DEFAULT_PAGE_SIZE, OPERATORS } from './constants'; import { maxDate } from './date'; import { filtersToArray } from './params'; diff --git a/src/lib/client.ts b/src/lib/client.ts index b1e740212..795e7780c 100644 --- a/src/lib/client.ts +++ b/src/lib/client.ts @@ -1,4 +1,4 @@ -import { getItem, setItem, removeItem } from 'lib/storage'; +import { getItem, setItem, removeItem } from '@/lib/storage'; import { AUTH_TOKEN } from './constants'; export function getClientAuthToken() { diff --git a/src/lib/date.ts b/src/lib/date.ts index b7755ffc2..961358455 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -35,8 +35,8 @@ import { endOfMinute, isSameDay, } from 'date-fns'; -import { getDateLocale } from 'lib/lang'; -import { DateRange } from 'lib/types'; +import { getDateLocale } from '@/lib/lang'; +import { DateRange } from '@/lib/types'; export const TIME_UNIT = { minute: 'minute', diff --git a/src/lib/fetch.ts b/src/lib/fetch.ts index 9d947a136..e5068b29a 100644 --- a/src/lib/fetch.ts +++ b/src/lib/fetch.ts @@ -1,4 +1,4 @@ -import { buildUrl } from 'lib/url'; +import { buildUrl } from '@/lib/url'; export async function request(method: string, url: string, body?: string, headers: object = {}) { const res = await fetch(url, { diff --git a/src/lib/jwt.ts b/src/lib/jwt.ts index 8b581be60..470c48ff6 100644 --- a/src/lib/jwt.ts +++ b/src/lib/jwt.ts @@ -1,5 +1,5 @@ import jwt from 'jsonwebtoken'; -import { decrypt, encrypt } from 'lib/crypto'; +import { decrypt, encrypt } from '@/lib/crypto'; export function createToken(payload: any, secret: any, options?: any) { return jwt.sign(payload, secret, options); diff --git a/src/lib/kafka.ts b/src/lib/kafka.ts index 2e875c59e..e7f069102 100644 --- a/src/lib/kafka.ts +++ b/src/lib/kafka.ts @@ -1,7 +1,7 @@ import { serializeError } from 'serialize-error'; import debug from 'debug'; import { Kafka, Producer, RecordMetadata, SASLOptions, logLevel } from 'kafkajs'; -import { KAFKA, KAFKA_PRODUCER } from 'lib/db'; +import { KAFKA, KAFKA_PRODUCER } from '@/lib/db'; import * as tls from 'tls'; const log = debug('umami:kafka'); diff --git a/src/lib/load.ts b/src/lib/load.ts index 0cb09da4d..2b7f7de4c 100644 --- a/src/lib/load.ts +++ b/src/lib/load.ts @@ -1,6 +1,6 @@ import { Website, Session } from '@prisma/client'; import { getClient, redisEnabled } from '@umami/redis-client'; -import { getWebsiteSession, getWebsite } from 'queries'; +import { getWebsiteSession, getWebsite } from '@/queries'; export async function fetchWebsite(websiteId: string): Promise { let website = null; diff --git a/src/lib/params.ts b/src/lib/params.ts index ef4568bac..8e631ed8a 100644 --- a/src/lib/params.ts +++ b/src/lib/params.ts @@ -1,5 +1,5 @@ -import { FILTER_COLUMNS, OPERATOR_PREFIXES, OPERATORS } from 'lib/constants'; -import { QueryFilters, QueryOptions } from 'lib/types'; +import { FILTER_COLUMNS, OPERATOR_PREFIXES, OPERATORS } from '@/lib/constants'; +import { QueryFilters, QueryOptions } from '@/lib/types'; export function parseParameterValue(param: any) { if (typeof param === 'string') { diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index deee67f7a..6c0237d05 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -1,7 +1,7 @@ import debug from 'debug'; import prisma from '@umami/prisma-client'; import { formatInTimeZone } from 'date-fns-tz'; -import { MYSQL, POSTGRESQL, getDatabaseType } from 'lib/db'; +import { MYSQL, POSTGRESQL, getDatabaseType } from '@/lib/db'; import { SESSION_COLUMNS, OPERATORS, DEFAULT_PAGE_SIZE } from './constants'; import { fetchWebsite } from './load'; import { maxDate } from './date'; diff --git a/src/lib/request.ts b/src/lib/request.ts index 2278d838b..9d32f89b3 100644 --- a/src/lib/request.ts +++ b/src/lib/request.ts @@ -1,9 +1,9 @@ import { ZodObject } from 'zod'; -import { FILTER_COLUMNS } from 'lib/constants'; -import { badRequest, unauthorized } from 'lib/response'; -import { getAllowedUnits, getMinimumUnit } from 'lib/date'; -import { checkAuth } from 'lib/auth'; -import { getWebsiteDateRange } from 'queries'; +import { FILTER_COLUMNS } from '@/lib/constants'; +import { badRequest, unauthorized } from '@/lib/response'; +import { getAllowedUnits, getMinimumUnit } from '@/lib/date'; +import { checkAuth } from '@/lib/auth'; +import { getWebsiteDateRange } from '@/queries'; export async function getJsonBody(request: Request) { try { diff --git a/src/lib/schema.ts b/src/lib/schema.ts index 21da4f425..84662f04c 100644 --- a/src/lib/schema.ts +++ b/src/lib/schema.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { isValidTimezone } from 'lib/date'; +import { isValidTimezone } from '@/lib/date'; import { UNIT_TYPES } from './constants'; export const filterParams = { diff --git a/src/queries/analytics/events/getEventDataEvents.ts b/src/queries/analytics/events/getEventDataEvents.ts index 0b19c5be3..432c93a2e 100644 --- a/src/queries/analytics/events/getEventDataEvents.ts +++ b/src/queries/analytics/events/getEventDataEvents.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters, WebsiteEventData } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters, WebsiteEventData } from '@/lib/types'; export async function getEventDataEvents( ...args: [websiteId: string, filters: QueryFilters] diff --git a/src/queries/analytics/events/getEventDataFields.ts b/src/queries/analytics/events/getEventDataFields.ts index 05fee0728..33b4e0f5a 100644 --- a/src/queries/analytics/events/getEventDataFields.ts +++ b/src/queries/analytics/events/getEventDataFields.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters, WebsiteEventData } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters, WebsiteEventData } from '@/lib/types'; export async function getEventDataFields( ...args: [websiteId: string, filters: QueryFilters] diff --git a/src/queries/analytics/events/getEventDataProperties.ts b/src/queries/analytics/events/getEventDataProperties.ts index e2cf08288..73fb8fec7 100644 --- a/src/queries/analytics/events/getEventDataProperties.ts +++ b/src/queries/analytics/events/getEventDataProperties.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters, WebsiteEventData } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters, WebsiteEventData } from '@/lib/types'; export async function getEventDataProperties( ...args: [websiteId: string, filters: QueryFilters & { propertyName?: string }] diff --git a/src/queries/analytics/events/getEventDataStats.ts b/src/queries/analytics/events/getEventDataStats.ts index adeeda46e..983479608 100644 --- a/src/queries/analytics/events/getEventDataStats.ts +++ b/src/queries/analytics/events/getEventDataStats.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters } from '@/lib/types'; export async function getEventDataStats( ...args: [websiteId: string, filters: QueryFilters] diff --git a/src/queries/analytics/events/getEventDataUsage.ts b/src/queries/analytics/events/getEventDataUsage.ts index 1d146c9c7..1f2bf8331 100644 --- a/src/queries/analytics/events/getEventDataUsage.ts +++ b/src/queries/analytics/events/getEventDataUsage.ts @@ -1,5 +1,5 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery, notImplemented } from 'lib/db'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery, notImplemented } from '@/lib/db'; export function getEventDataUsage(...args: [websiteIds: string[], startDate: Date, endDate: Date]) { return runQuery({ diff --git a/src/queries/analytics/events/getEventDataValues.ts b/src/queries/analytics/events/getEventDataValues.ts index 631018248..c8d633627 100644 --- a/src/queries/analytics/events/getEventDataValues.ts +++ b/src/queries/analytics/events/getEventDataValues.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters, WebsiteEventData } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters, WebsiteEventData } from '@/lib/types'; export async function getEventDataValues( ...args: [ diff --git a/src/queries/analytics/events/getEventMetrics.ts b/src/queries/analytics/events/getEventMetrics.ts index 504cea119..d06789f43 100644 --- a/src/queries/analytics/events/getEventMetrics.ts +++ b/src/queries/analytics/events/getEventMetrics.ts @@ -1,8 +1,8 @@ -import clickhouse from 'lib/clickhouse'; -import { EVENT_TYPE } from 'lib/constants'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { QueryFilters, WebsiteEventMetric } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { EVENT_TYPE } from '@/lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { QueryFilters, WebsiteEventMetric } from '@/lib/types'; export async function getEventMetrics( ...args: [websiteId: string, filters: QueryFilters] diff --git a/src/queries/analytics/events/getEventUsage.ts b/src/queries/analytics/events/getEventUsage.ts index 8baefe06c..0e1806d68 100644 --- a/src/queries/analytics/events/getEventUsage.ts +++ b/src/queries/analytics/events/getEventUsage.ts @@ -1,5 +1,5 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery, notImplemented } from 'lib/db'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery, notImplemented } from '@/lib/db'; export function getEventUsage(...args: [websiteIds: string[], startDate: Date, endDate: Date]) { return runQuery({ diff --git a/src/queries/analytics/events/getWebsiteEvents.ts b/src/queries/analytics/events/getWebsiteEvents.ts index 21e6270c7..5559d5bd1 100644 --- a/src/queries/analytics/events/getWebsiteEvents.ts +++ b/src/queries/analytics/events/getWebsiteEvents.ts @@ -1,7 +1,7 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, getDatabaseType, POSTGRESQL, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { PageParams, QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, getDatabaseType, POSTGRESQL, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { PageParams, QueryFilters } from '@/lib/types'; export function getWebsiteEvents( ...args: [websiteId: string, filters: QueryFilters, pageParams?: PageParams] diff --git a/src/queries/analytics/events/saveEvent.ts b/src/queries/analytics/events/saveEvent.ts index 2424186a1..65ee1175b 100644 --- a/src/queries/analytics/events/saveEvent.ts +++ b/src/queries/analytics/events/saveEvent.ts @@ -1,9 +1,9 @@ -import { EVENT_NAME_LENGTH, URL_LENGTH, EVENT_TYPE, PAGE_TITLE_LENGTH } from 'lib/constants'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import clickhouse from 'lib/clickhouse'; -import kafka from 'lib/kafka'; -import prisma from 'lib/prisma'; -import { uuid } from 'lib/crypto'; +import { EVENT_NAME_LENGTH, URL_LENGTH, EVENT_TYPE, PAGE_TITLE_LENGTH } from '@/lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import clickhouse from '@/lib/clickhouse'; +import kafka from '@/lib/kafka'; +import prisma from '@/lib/prisma'; +import { uuid } from '@/lib/crypto'; import { saveEventData } from './saveEventData'; export async function saveEvent(args: { diff --git a/src/queries/analytics/events/saveEventData.ts b/src/queries/analytics/events/saveEventData.ts index cb75a91b8..7c158da40 100644 --- a/src/queries/analytics/events/saveEventData.ts +++ b/src/queries/analytics/events/saveEventData.ts @@ -1,12 +1,12 @@ import { Prisma } from '@prisma/client'; -import { DATA_TYPE } from 'lib/constants'; -import { uuid } from 'lib/crypto'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { flattenJSON, getStringValue } from 'lib/data'; -import clickhouse from 'lib/clickhouse'; -import kafka from 'lib/kafka'; -import prisma from 'lib/prisma'; -import { DynamicData } from 'lib/types'; +import { DATA_TYPE } from '@/lib/constants'; +import { uuid } from '@/lib/crypto'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { flattenJSON, getStringValue } from '@/lib/data'; +import clickhouse from '@/lib/clickhouse'; +import kafka from '@/lib/kafka'; +import prisma from '@/lib/prisma'; +import { DynamicData } from '@/lib/types'; export async function saveEventData(data: { websiteId: string; diff --git a/src/queries/analytics/getActiveVisitors.ts b/src/queries/analytics/getActiveVisitors.ts index d5607e274..e0225f3aa 100644 --- a/src/queries/analytics/getActiveVisitors.ts +++ b/src/queries/analytics/getActiveVisitors.ts @@ -1,7 +1,7 @@ import { subMinutes } from 'date-fns'; -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA } from '@/lib/db'; export async function getActiveVisitors(...args: [websiteId: string]) { return runQuery({ diff --git a/src/queries/analytics/getRealtimeActivity.ts b/src/queries/analytics/getRealtimeActivity.ts index e30ce78ff..108288853 100644 --- a/src/queries/analytics/getRealtimeActivity.ts +++ b/src/queries/analytics/getRealtimeActivity.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { QueryFilters } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA } from '@/lib/db'; +import { QueryFilters } from '@/lib/types'; export async function getRealtimeActivity(...args: [websiteId: string, filters: QueryFilters]) { return runQuery({ diff --git a/src/queries/analytics/getRealtimeData.ts b/src/queries/analytics/getRealtimeData.ts index 1af63219d..e07dfc311 100644 --- a/src/queries/analytics/getRealtimeData.ts +++ b/src/queries/analytics/getRealtimeData.ts @@ -1,4 +1,4 @@ -import { getPageviewStats, getRealtimeActivity, getSessionStats } from 'queries/index'; +import { getPageviewStats, getRealtimeActivity, getSessionStats } from '@/queries/index'; function increment(data: object, key: string) { if (key) { diff --git a/src/queries/analytics/getValues.ts b/src/queries/analytics/getValues.ts index f98cca3a0..2d1286f30 100644 --- a/src/queries/analytics/getValues.ts +++ b/src/queries/analytics/getValues.ts @@ -1,6 +1,6 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA } from '@/lib/db'; export async function getValues( ...args: [websiteId: string, column: string, startDate: Date, endDate: Date, search: string] diff --git a/src/queries/analytics/getWebsiteDateRange.ts b/src/queries/analytics/getWebsiteDateRange.ts index ef07712eb..953fa5ebf 100644 --- a/src/queries/analytics/getWebsiteDateRange.ts +++ b/src/queries/analytics/getWebsiteDateRange.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { DEFAULT_RESET_DATE } from 'lib/constants'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA } from '@/lib/db'; +import { DEFAULT_RESET_DATE } from '@/lib/constants'; export async function getWebsiteDateRange(...args: [websiteId: string]) { return runQuery({ diff --git a/src/queries/analytics/getWebsiteStats.ts b/src/queries/analytics/getWebsiteStats.ts index 061d487ea..80f1d5789 100644 --- a/src/queries/analytics/getWebsiteStats.ts +++ b/src/queries/analytics/getWebsiteStats.ts @@ -1,9 +1,9 @@ -import clickhouse from 'lib/clickhouse'; -import { EVENT_TYPE } from 'lib/constants'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { QueryFilters } from 'lib/types'; -import { EVENT_COLUMNS } from 'lib/constants'; +import clickhouse from '@/lib/clickhouse'; +import { EVENT_TYPE } from '@/lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { QueryFilters } from '@/lib/types'; +import { EVENT_COLUMNS } from '@/lib/constants'; export async function getWebsiteStats( ...args: [websiteId: string, filters: QueryFilters] diff --git a/src/queries/analytics/pageviews/getPageviewMetrics.ts b/src/queries/analytics/pageviews/getPageviewMetrics.ts index b356708ef..f60419297 100644 --- a/src/queries/analytics/pageviews/getPageviewMetrics.ts +++ b/src/queries/analytics/pageviews/getPageviewMetrics.ts @@ -1,8 +1,8 @@ -import clickhouse from 'lib/clickhouse'; -import { EVENT_COLUMNS, EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { EVENT_COLUMNS, EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from '@/lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { QueryFilters } from '@/lib/types'; export async function getPageviewMetrics( ...args: [ diff --git a/src/queries/analytics/pageviews/getPageviewStats.ts b/src/queries/analytics/pageviews/getPageviewStats.ts index 48b82000a..f5ace52cd 100644 --- a/src/queries/analytics/pageviews/getPageviewStats.ts +++ b/src/queries/analytics/pageviews/getPageviewStats.ts @@ -1,8 +1,8 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { EVENT_COLUMNS, EVENT_TYPE } from 'lib/constants'; -import { QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { EVENT_COLUMNS, EVENT_TYPE } from '@/lib/constants'; +import { QueryFilters } from '@/lib/types'; export async function getPageviewStats(...args: [websiteId: string, filters: QueryFilters]) { return runQuery({ diff --git a/src/queries/analytics/reports/getFunnel.ts b/src/queries/analytics/reports/getFunnel.ts index 3a81157fd..70b51a9d5 100644 --- a/src/queries/analytics/reports/getFunnel.ts +++ b/src/queries/analytics/reports/getFunnel.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; const formatResults = (steps: { type: string; value: string }[]) => (results: unknown) => { return steps.map((step: { type: string; value: string }, i: number) => { diff --git a/src/queries/analytics/reports/getGoals.ts b/src/queries/analytics/reports/getGoals.ts index 2bb29d8ea..eda76050f 100644 --- a/src/queries/analytics/reports/getGoals.ts +++ b/src/queries/analytics/reports/getGoals.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; export async function getGoals( ...args: [ diff --git a/src/queries/analytics/reports/getInsights.ts b/src/queries/analytics/reports/getInsights.ts index 8e6e3289b..7178072e3 100644 --- a/src/queries/analytics/reports/getInsights.ts +++ b/src/queries/analytics/reports/getInsights.ts @@ -1,8 +1,8 @@ -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; -import { QueryFilters } from 'lib/types'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from '@/lib/constants'; +import { QueryFilters } from '@/lib/types'; export async function getInsights( ...args: [websiteId: string, fields: { name: string; type?: string }[], filters: QueryFilters] diff --git a/src/queries/analytics/reports/getJourney.ts b/src/queries/analytics/reports/getJourney.ts index eec500aad..4c43cc03d 100644 --- a/src/queries/analytics/reports/getJourney.ts +++ b/src/queries/analytics/reports/getJourney.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; interface JourneyResult { e1: string; diff --git a/src/queries/analytics/reports/getRetention.ts b/src/queries/analytics/reports/getRetention.ts index d69a77d7b..23854b607 100644 --- a/src/queries/analytics/reports/getRetention.ts +++ b/src/queries/analytics/reports/getRetention.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; export async function getRetention( ...args: [ diff --git a/src/queries/analytics/reports/getRevenue.ts b/src/queries/analytics/reports/getRevenue.ts index a2803e854..c9c7b74a4 100644 --- a/src/queries/analytics/reports/getRevenue.ts +++ b/src/queries/analytics/reports/getRevenue.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, getDatabaseType, POSTGRESQL, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, getDatabaseType, POSTGRESQL, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; export async function getRevenue( ...args: [ diff --git a/src/queries/analytics/reports/getRevenueValues.ts b/src/queries/analytics/reports/getRevenueValues.ts index 4dcc4a220..a46bf0bfd 100644 --- a/src/queries/analytics/reports/getRevenueValues.ts +++ b/src/queries/analytics/reports/getRevenueValues.ts @@ -1,6 +1,6 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA, getDatabaseType, POSTGRESQL } from 'lib/db'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA, getDatabaseType, POSTGRESQL } from '@/lib/db'; export async function getRevenueValues( ...args: [ diff --git a/src/queries/analytics/reports/getUTM.ts b/src/queries/analytics/reports/getUTM.ts index 0a7ec5f18..5463815bb 100644 --- a/src/queries/analytics/reports/getUTM.ts +++ b/src/queries/analytics/reports/getUTM.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; export async function getUTM( ...args: [ diff --git a/src/queries/analytics/sessions/createSession.ts b/src/queries/analytics/sessions/createSession.ts index 7d6144990..7605cffc3 100644 --- a/src/queries/analytics/sessions/createSession.ts +++ b/src/queries/analytics/sessions/createSession.ts @@ -1,5 +1,5 @@ import { Prisma } from '@prisma/client'; -import prisma from 'lib/prisma'; +import prisma from '@/lib/prisma'; export async function createSession(data: Prisma.SessionCreateInput) { const { diff --git a/src/queries/analytics/sessions/getSessionActivity.ts b/src/queries/analytics/sessions/getSessionActivity.ts index 1fe8bbd3f..d7e2a4132 100644 --- a/src/queries/analytics/sessions/getSessionActivity.ts +++ b/src/queries/analytics/sessions/getSessionActivity.ts @@ -1,6 +1,6 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; export async function getSessionActivity( ...args: [websiteId: string, sessionId: string, startDate: Date, endDate: Date] diff --git a/src/queries/analytics/sessions/getSessionData.ts b/src/queries/analytics/sessions/getSessionData.ts index ce80b0351..a3f1e113b 100644 --- a/src/queries/analytics/sessions/getSessionData.ts +++ b/src/queries/analytics/sessions/getSessionData.ts @@ -1,6 +1,6 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, PRISMA, CLICKHOUSE } from '@/lib/db'; export async function getSessionData(...args: [websiteId: string, sessionId: string]) { return runQuery({ diff --git a/src/queries/analytics/sessions/getSessionDataProperties.ts b/src/queries/analytics/sessions/getSessionDataProperties.ts index 1d15ea8de..da02c97e2 100644 --- a/src/queries/analytics/sessions/getSessionDataProperties.ts +++ b/src/queries/analytics/sessions/getSessionDataProperties.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters, WebsiteEventData } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters, WebsiteEventData } from '@/lib/types'; export async function getSessionDataProperties( ...args: [websiteId: string, filters: QueryFilters & { propertyName?: string }] diff --git a/src/queries/analytics/sessions/getSessionDataValues.ts b/src/queries/analytics/sessions/getSessionDataValues.ts index c02e4adb0..3281521a3 100644 --- a/src/queries/analytics/sessions/getSessionDataValues.ts +++ b/src/queries/analytics/sessions/getSessionDataValues.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import { QueryFilters, WebsiteEventData } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import { QueryFilters, WebsiteEventData } from '@/lib/types'; export async function getSessionDataValues( ...args: [websiteId: string, filters: QueryFilters & { propertyName?: string }] diff --git a/src/queries/analytics/sessions/getSessionMetrics.ts b/src/queries/analytics/sessions/getSessionMetrics.ts index 0e8ebedf3..e3bd1bba2 100644 --- a/src/queries/analytics/sessions/getSessionMetrics.ts +++ b/src/queries/analytics/sessions/getSessionMetrics.ts @@ -1,8 +1,8 @@ -import clickhouse from 'lib/clickhouse'; -import { EVENT_COLUMNS, EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { EVENT_COLUMNS, EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from '@/lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { QueryFilters } from '@/lib/types'; export async function getSessionMetrics( ...args: [ diff --git a/src/queries/analytics/sessions/getSessionStats.ts b/src/queries/analytics/sessions/getSessionStats.ts index 212f15e9b..22cc04a73 100644 --- a/src/queries/analytics/sessions/getSessionStats.ts +++ b/src/queries/analytics/sessions/getSessionStats.ts @@ -1,8 +1,8 @@ -import clickhouse from 'lib/clickhouse'; -import { EVENT_COLUMNS, EVENT_TYPE } from 'lib/constants'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { EVENT_COLUMNS, EVENT_TYPE } from '@/lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { QueryFilters } from '@/lib/types'; export async function getSessionStats(...args: [websiteId: string, filters: QueryFilters]) { return runQuery({ diff --git a/src/queries/analytics/sessions/getWebsiteSession.ts b/src/queries/analytics/sessions/getWebsiteSession.ts index 2c16741ee..45e8640a4 100644 --- a/src/queries/analytics/sessions/getWebsiteSession.ts +++ b/src/queries/analytics/sessions/getWebsiteSession.ts @@ -1,6 +1,6 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, PRISMA, CLICKHOUSE } from '@/lib/db'; export async function getWebsiteSession(...args: [websiteId: string, sessionId: string]) { return runQuery({ diff --git a/src/queries/analytics/sessions/getWebsiteSessionStats.ts b/src/queries/analytics/sessions/getWebsiteSessionStats.ts index 648be1400..2463b7adf 100644 --- a/src/queries/analytics/sessions/getWebsiteSessionStats.ts +++ b/src/queries/analytics/sessions/getWebsiteSessionStats.ts @@ -1,7 +1,7 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { QueryFilters } from '@/lib/types'; export async function getWebsiteSessionStats( ...args: [websiteId: string, filters: QueryFilters] diff --git a/src/queries/analytics/sessions/getWebsiteSessions.ts b/src/queries/analytics/sessions/getWebsiteSessions.ts index d2a827d0e..264a084bf 100644 --- a/src/queries/analytics/sessions/getWebsiteSessions.ts +++ b/src/queries/analytics/sessions/getWebsiteSessions.ts @@ -1,7 +1,7 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; -import { PageParams, QueryFilters } from 'lib/types'; +import clickhouse from '@/lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import prisma from '@/lib/prisma'; +import { PageParams, QueryFilters } from '@/lib/types'; export async function getWebsiteSessions( ...args: [websiteId: string, filters?: QueryFilters, pageParams?: PageParams] diff --git a/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts b/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts index 48d4f7a9f..58f8d6922 100644 --- a/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts +++ b/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; -import { QueryFilters } from 'lib/types'; +import prisma from '@/lib/prisma'; +import clickhouse from '@/lib/clickhouse'; +import { runQuery, PRISMA, CLICKHOUSE } from '@/lib/db'; +import { QueryFilters } from '@/lib/types'; export async function getWebsiteSessionsWeekly( ...args: [websiteId: string, filters?: QueryFilters] diff --git a/src/queries/analytics/sessions/saveSessionData.ts b/src/queries/analytics/sessions/saveSessionData.ts index 64bd1d93a..35f0c7126 100644 --- a/src/queries/analytics/sessions/saveSessionData.ts +++ b/src/queries/analytics/sessions/saveSessionData.ts @@ -1,11 +1,11 @@ -import { DATA_TYPE } from 'lib/constants'; -import { uuid } from 'lib/crypto'; -import { flattenJSON, getStringValue } from 'lib/data'; -import prisma from 'lib/prisma'; -import { DynamicData } from 'lib/types'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import kafka from 'lib/kafka'; -import clickhouse from 'lib/clickhouse'; +import { DATA_TYPE } from '@/lib/constants'; +import { uuid } from '@/lib/crypto'; +import { flattenJSON, getStringValue } from '@/lib/data'; +import prisma from '@/lib/prisma'; +import { DynamicData } from '@/lib/types'; +import { CLICKHOUSE, PRISMA, runQuery } from '@/lib/db'; +import kafka from '@/lib/kafka'; +import clickhouse from '@/lib/clickhouse'; export async function saveSessionData(data: { websiteId: string; diff --git a/src/queries/index.ts b/src/queries/index.ts index 63cebb452..da984932e 100644 --- a/src/queries/index.ts +++ b/src/queries/index.ts @@ -1,8 +1,8 @@ -export * from 'queries/prisma/report'; -export * from 'queries/prisma/team'; -export * from 'queries/prisma/teamUser'; -export * from 'queries/prisma/user'; -export * from 'queries/prisma/website'; +export * from '@/queries/prisma/report'; +export * from '@/queries/prisma/team'; +export * from '@/queries/prisma/teamUser'; +export * from '@/queries/prisma/user'; +export * from '@/queries/prisma/website'; export * from './analytics/events/getEventDataEvents'; export * from './analytics/events/getEventDataFields'; export * from './analytics/events/getEventDataProperties'; diff --git a/src/queries/prisma/report.ts b/src/queries/prisma/report.ts index 51e7ddc2e..4feb9fb80 100644 --- a/src/queries/prisma/report.ts +++ b/src/queries/prisma/report.ts @@ -1,6 +1,6 @@ import { Prisma, Report } from '@prisma/client'; -import prisma from 'lib/prisma'; -import { PageResult, PageParams } from 'lib/types'; +import prisma from '@/lib/prisma'; +import { PageResult, PageParams } from '@/lib/types'; import ReportFindManyArgs = Prisma.ReportFindManyArgs; async function findReport(criteria: Prisma.ReportFindUniqueArgs): Promise { diff --git a/src/queries/prisma/team.ts b/src/queries/prisma/team.ts index e516c4463..4fddd76a0 100644 --- a/src/queries/prisma/team.ts +++ b/src/queries/prisma/team.ts @@ -1,8 +1,8 @@ import { Prisma, Team } from '@prisma/client'; -import { ROLES } from 'lib/constants'; -import { uuid } from 'lib/crypto'; -import prisma from 'lib/prisma'; -import { PageResult, PageParams } from 'lib/types'; +import { ROLES } from '@/lib/constants'; +import { uuid } from '@/lib/crypto'; +import prisma from '@/lib/prisma'; +import { PageResult, PageParams } from '@/lib/types'; import TeamFindManyArgs = Prisma.TeamFindManyArgs; export async function findTeam(criteria: Prisma.TeamFindUniqueArgs): Promise { diff --git a/src/queries/prisma/teamUser.ts b/src/queries/prisma/teamUser.ts index d172dd5a1..0695f01ce 100644 --- a/src/queries/prisma/teamUser.ts +++ b/src/queries/prisma/teamUser.ts @@ -1,7 +1,7 @@ import { Prisma, TeamUser } from '@prisma/client'; -import { uuid } from 'lib/crypto'; -import prisma from 'lib/prisma'; -import { PageResult, PageParams } from 'lib/types'; +import { uuid } from '@/lib/crypto'; +import prisma from '@/lib/prisma'; +import { PageResult, PageParams } from '@/lib/types'; import TeamUserFindManyArgs = Prisma.TeamUserFindManyArgs; export async function findTeamUser(criteria: Prisma.TeamUserFindUniqueArgs): Promise { diff --git a/src/queries/prisma/user.ts b/src/queries/prisma/user.ts index 581b5e7a4..3edae7003 100644 --- a/src/queries/prisma/user.ts +++ b/src/queries/prisma/user.ts @@ -1,8 +1,8 @@ import { Prisma } from '@prisma/client'; -import { ROLES } from 'lib/constants'; -import prisma from 'lib/prisma'; -import { PageResult, Role, User, PageParams } from 'lib/types'; -import { getRandomChars } from 'lib/crypto'; +import { ROLES } from '@/lib/constants'; +import prisma from '@/lib/prisma'; +import { PageResult, Role, User, PageParams } from '@/lib/types'; +import { getRandomChars } from '@/lib/crypto'; import UserFindManyArgs = Prisma.UserFindManyArgs; export interface GetUserOptions { diff --git a/src/queries/prisma/website.ts b/src/queries/prisma/website.ts index 1477a8352..964635010 100644 --- a/src/queries/prisma/website.ts +++ b/src/queries/prisma/website.ts @@ -1,9 +1,9 @@ import { Prisma, Website } from '@prisma/client'; import { getClient } from '@umami/redis-client'; -import prisma from 'lib/prisma'; -import { PageResult, PageParams } from 'lib/types'; +import prisma from '@/lib/prisma'; +import { PageResult, PageParams } from '@/lib/types'; import WebsiteFindManyArgs = Prisma.WebsiteFindManyArgs; -import { ROLES } from 'lib/constants'; +import { ROLES } from '@/lib/constants'; async function findWebsite(criteria: Prisma.WebsiteFindUniqueArgs): Promise { return prisma.client.website.findUnique(criteria); diff --git a/src/store/app.ts b/src/store/app.ts index 626c2f31f..0890b7e9c 100644 --- a/src/store/app.ts +++ b/src/store/app.ts @@ -7,9 +7,9 @@ import { LOCALE_CONFIG, THEME_CONFIG, TIMEZONE_CONFIG, -} from 'lib/constants'; -import { getItem } from 'lib/storage'; -import { getTimezone } from 'lib/date'; +} from '@/lib/constants'; +import { getItem } from '@/lib/storage'; +import { getTimezone } from '@/lib/date'; function getDefaultTheme() { return typeof window !== 'undefined' diff --git a/src/store/dashboard.ts b/src/store/dashboard.ts index ecae42f6c..a34ec384c 100644 --- a/src/store/dashboard.ts +++ b/src/store/dashboard.ts @@ -1,6 +1,6 @@ import { create } from 'zustand'; -import { DASHBOARD_CONFIG, DEFAULT_WEBSITE_LIMIT } from 'lib/constants'; -import { getItem, setItem } from 'lib/storage'; +import { DASHBOARD_CONFIG, DEFAULT_WEBSITE_LIMIT } from '@/lib/constants'; +import { getItem, setItem } from '@/lib/storage'; export const initialState = { showCharts: true, diff --git a/src/store/version.ts b/src/store/version.ts index 8cabaf73b..9a889636f 100644 --- a/src/store/version.ts +++ b/src/store/version.ts @@ -1,8 +1,8 @@ import { create } from 'zustand'; import { produce } from 'immer'; import semver from 'semver'; -import { CURRENT_VERSION, VERSION_CHECK, UPDATES_URL } from 'lib/constants'; -import { getItem } from 'lib/storage'; +import { CURRENT_VERSION, VERSION_CHECK, UPDATES_URL } from '@/lib/constants'; +import { getItem } from '@/lib/storage'; const initialState = { current: CURRENT_VERSION, diff --git a/src/store/websites.ts b/src/store/websites.ts index 1c5c21fc8..e9271abda 100644 --- a/src/store/websites.ts +++ b/src/store/websites.ts @@ -1,6 +1,6 @@ import { create } from 'zustand'; import { produce } from 'immer'; -import { DateRange } from 'lib/types'; +import { DateRange } from '@/lib/types'; const store = create(() => ({})); diff --git a/tsconfig.json b/tsconfig.json index 82e7166f9..4b8e0e0f2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2021", + "target": "es2022", "outDir": "./build", "module": "esnext", "moduleResolution": "node", @@ -21,18 +21,12 @@ "noEmit": true, "jsx": "preserve", "incremental": false, - "baseUrl": "./src", "types": ["jest"], "typeRoots": ["node_modules/@types"], "paths": { - "react": ["./node_modules/@types/react"], - "assets/*": ["./assets/*"], - "components/*": ["./components/*"], - "lib/*": ["./lib/*"], - "pages/*": ["./pages/*"], - "queries/*": ["./queries/*"], - "store/*": ["./store/*"], - "styles/*": ["./styles/*"] + "@/*": [ + "./src/*" + ] }, "plugins": [ {