diff --git a/package.json b/package.json index 67211f13..8d80de2f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.7.0", + "version": "2.8.0", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", diff --git a/src/app/(main)/websites/[id]/WebsiteMenuView.js b/src/app/(main)/websites/[id]/WebsiteMenuView.js index 00b218f4..c501645a 100644 --- a/src/app/(main)/websites/[id]/WebsiteMenuView.js +++ b/src/app/(main)/websites/[id]/WebsiteMenuView.js @@ -116,7 +116,7 @@ export default function WebsiteMenuView({ websiteId, websiteDomain }) { return (
- + diff --git a/src/components/common/LinkButton.js b/src/components/common/LinkButton.js index 6ae59300..a9a8562d 100644 --- a/src/components/common/LinkButton.js +++ b/src/components/common/LinkButton.js @@ -3,7 +3,7 @@ import Link from 'next/link'; import { useLocale } from 'components/hooks'; import styles from './LinkButton.module.css'; -export function LinkButton({ href, className, variant, children }) { +export function LinkButton({ href, className, variant, scroll = true, children }) { const { dir } = useLocale(); return ( @@ -11,6 +11,7 @@ export function LinkButton({ href, className, variant, children }) { className={classNames(styles.button, className, { [styles[variant]]: true })} href={href} dir={dir} + scroll={scroll} > {children} diff --git a/src/queries/analytics/eventData/getEventDataEvents.ts b/src/queries/analytics/eventData/getEventDataEvents.ts index 29158503..683d9558 100644 --- a/src/queries/analytics/eventData/getEventDataEvents.ts +++ b/src/queries/analytics/eventData/getEventDataEvents.ts @@ -91,6 +91,7 @@ async function clickhouseQuery( eventName: a.eventName, fieldName: a.fieldName, dataType: Number(a.dataType), + fieldValue: a.fieldValue, total: Number(a.total), }; }); diff --git a/src/queries/analytics/getActiveVisitors.ts b/src/queries/analytics/getActiveVisitors.ts index 398cc9c8..962bea35 100644 --- a/src/queries/analytics/getActiveVisitors.ts +++ b/src/queries/analytics/getActiveVisitors.ts @@ -24,10 +24,10 @@ async function relationalQuery(websiteId: string) { ); } -async function clickhouseQuery(websiteId: string): Promise<{ x: number }[]> { +async function clickhouseQuery(websiteId: string): Promise<{ x: number }> { const { rawQuery } = clickhouse; - return rawQuery( + const result = rawQuery( ` select count(distinct session_id) x @@ -41,4 +41,6 @@ async function clickhouseQuery(websiteId: string): Promise<{ x: number }[]> { return { x: Number(a.x) }; }); }); + + return result[0] ?? null; } diff --git a/src/queries/analytics/sessions/getSessionMetrics.ts b/src/queries/analytics/sessions/getSessionMetrics.ts index 33bc52ef..3573ac1e 100644 --- a/src/queries/analytics/sessions/getSessionMetrics.ts +++ b/src/queries/analytics/sessions/getSessionMetrics.ts @@ -78,7 +78,7 @@ async function clickhouseQuery( params, ).then(a => { return Object.values(a).map(a => { - return { ...a, x: a.x, y: Number(a.y) }; + return { x: a.x, y: Number(a.y), country: a.country }; }); }); }