diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx
index ed0fb806..28a0c001 100644
--- a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx
+++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx
@@ -52,12 +52,12 @@ export function WebsiteExpandedView({
items: [
{
id: 'referrer',
- label: formatMessage(labels.referrers),
+ label: formatMessage(labels.referrer),
path: updateParams({ view: 'referrer' }),
},
{
id: 'channel',
- label: formatMessage(labels.channels),
+ label: formatMessage(labels.channel),
path: updateParams({ view: 'channel' }),
},
{
@@ -72,17 +72,17 @@ export function WebsiteExpandedView({
items: [
{
id: 'country',
- label: formatMessage(labels.countries),
+ label: formatMessage(labels.country),
path: updateParams({ view: 'country' }),
},
{
id: 'region',
- label: formatMessage(labels.regions),
+ label: formatMessage(labels.region),
path: updateParams({ view: 'region' }),
},
{
id: 'city',
- label: formatMessage(labels.cities),
+ label: formatMessage(labels.city),
path: updateParams({ view: 'city' }),
},
],
@@ -92,7 +92,7 @@ export function WebsiteExpandedView({
items: [
{
id: 'browser',
- label: formatMessage(labels.browsers),
+ label: formatMessage(labels.browser),
path: updateParams({ view: 'browser' }),
},
{
@@ -102,17 +102,17 @@ export function WebsiteExpandedView({
},
{
id: 'device',
- label: formatMessage(labels.devices),
+ label: formatMessage(labels.device),
path: updateParams({ view: 'device' }),
},
{
id: 'language',
- label: formatMessage(labels.languages),
+ label: formatMessage(labels.language),
path: updateParams({ view: 'language' }),
},
{
id: 'screen',
- label: formatMessage(labels.screens),
+ label: formatMessage(labels.screen),
path: updateParams({ view: 'screen' }),
},
],
@@ -122,7 +122,7 @@ export function WebsiteExpandedView({
items: [
{
id: 'event',
- label: formatMessage(labels.events),
+ label: formatMessage(labels.event),
path: updateParams({ view: 'event' }),
},
{
@@ -132,7 +132,7 @@ export function WebsiteExpandedView({
},
{
id: 'tag',
- label: formatMessage(labels.tags),
+ label: formatMessage(labels.tag),
path: updateParams({ view: 'tag' }),
},
],
diff --git a/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx b/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx
index c0638b7f..97f8f953 100644
--- a/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx
+++ b/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx
@@ -59,30 +59,7 @@ export function WebsitePanels({ websiteId }: { websiteId: string }) {
-
-
-
-
-
- {formatMessage(labels.location)}
-
-
- {formatMessage(labels.countries)}
- {formatMessage(labels.regions)}
- {formatMessage(labels.cities)}
-
-
-
-
-
-
-
-
-
-
-
-
-
+
{formatMessage(labels.environment)}
@@ -103,6 +80,33 @@ export function WebsitePanels({ websiteId }: { websiteId: string }) {
+
+
+ {formatMessage(labels.location)}
+
+
+ {formatMessage(labels.countries)}
+ {formatMessage(labels.regions)}
+ {formatMessage(labels.cities)}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{formatMessage(labels.traffic)}
diff --git a/src/components/common/LoadingPanel.tsx b/src/components/common/LoadingPanel.tsx
index 786dd275..9caffee8 100644
--- a/src/components/common/LoadingPanel.tsx
+++ b/src/components/common/LoadingPanel.tsx
@@ -10,6 +10,7 @@ export interface LoadingPanelProps extends ColumnProps {
isLoading?: boolean;
isFetching?: boolean;
loadingIcon?: 'dots' | 'spinner';
+ loadingPosition?: 'center' | 'page' | 'inline';
renderEmpty?: () => ReactNode;
children: ReactNode;
}
@@ -21,6 +22,7 @@ export function LoadingPanel({
isLoading,
isFetching,
loadingIcon = 'dots',
+ loadingPosition = 'page',
renderEmpty = () => ,
children,
...props
@@ -32,7 +34,7 @@ export function LoadingPanel({
{/* Show loading spinner only if no data exists */}
{(isLoading || isFetching) && (
-
+
)}
diff --git a/src/components/metrics/MetricsExpandedTable.tsx b/src/components/metrics/MetricsExpandedTable.tsx
index 35da0ee6..164a92ef 100644
--- a/src/components/metrics/MetricsExpandedTable.tsx
+++ b/src/components/metrics/MetricsExpandedTable.tsx
@@ -67,6 +67,7 @@ export function MetricsExpandedTable({
isLoading={isLoading}
error={error}
height="100%"
+ loadingIcon="spinner"
>
{items && (
diff --git a/src/components/metrics/WorldMap.tsx b/src/components/metrics/WorldMap.tsx
index 76ec1abc..5cc2d764 100644
--- a/src/components/metrics/WorldMap.tsx
+++ b/src/components/metrics/WorldMap.tsx
@@ -5,7 +5,6 @@ import classNames from 'classnames';
import { colord } from 'colord';
import { ISO_COUNTRIES, MAP_FILE } from '@/lib/constants';
import {
- useDateRange,
useWebsiteMetricsQuery,
useCountryNames,
useLocale,
@@ -30,14 +29,11 @@ export function WorldMap({ websiteId, data, className, ...props }: WorldMapProps
const { countryNames } = useCountryNames(locale);
const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale);
const unknownLabel = formatMessage(labels.unknown);
- const {
- dateRange: { startDate, endDate },
- } = useDateRange(websiteId);
+
const { data: mapData } = useWebsiteMetricsQuery(websiteId, {
type: 'country',
- startAt: +startDate,
- endAt: +endDate,
});
+
const metrics = useMemo(
() => (data || mapData ? percentFilter((data || mapData) as any[]) : []),
[data, mapData],