From 829a45b40e8f0cb5177b6d8e3342459b365f7e9d Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 22 Jul 2024 18:06:36 -0700 Subject: [PATCH] Added sessions table. --- package.json | 6 +- .../(main)/reports/create/ReportTemplates.tsx | 6 ++ .../sessions/SessionMetricsBar.tsx | 5 ++ .../[websiteId]/sessions/SessionsTable.tsx | 20 +++-- src/components/metrics/EventsChart.tsx | 5 -- yarn.lock | 80 +++++++++---------- 6 files changed, 69 insertions(+), 53 deletions(-) create mode 100644 src/app/(main)/websites/[websiteId]/sessions/SessionMetricsBar.tsx diff --git a/package.json b/package.json index a7a3aba1..f14e552d 100644 --- a/package.json +++ b/package.json @@ -64,9 +64,9 @@ ".next/cache" ], "dependencies": { - "@clickhouse/client": "^1.2.0", + "@clickhouse/client": "^1.3.0", "@fontsource/inter": "^4.5.15", - "@prisma/client": "5.16.1", + "@prisma/client": "5.16.2", "@prisma/extension-read-replicas": "^0.3.0", "@react-spring/web": "^9.7.3", "@tanstack/react-query": "^5.28.6", @@ -102,7 +102,7 @@ "next-basics": "^0.39.0", "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", - "prisma": "5.16.1", + "prisma": "5.16.2", "react": "^18.2.0", "react-basics": "^0.123.0", "react-beautiful-dnd": "^13.1.0", diff --git a/src/app/(main)/reports/create/ReportTemplates.tsx b/src/app/(main)/reports/create/ReportTemplates.tsx index e37efc03..2314f7d6 100644 --- a/src/app/(main)/reports/create/ReportTemplates.tsx +++ b/src/app/(main)/reports/create/ReportTemplates.tsx @@ -51,6 +51,12 @@ export function ReportTemplates({ showHeader = true }: { showHeader?: boolean }) url: renderTeamUrl('/reports/journey'), icon: , }, + { + title: formatMessage(labels.revenue), + description: formatMessage(labels.revenueDescription), + url: renderTeamUrl('/reports/revenue'), + icon: , + }, ]; return ( diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionMetricsBar.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionMetricsBar.tsx new file mode 100644 index 00000000..c4f21875 --- /dev/null +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionMetricsBar.tsx @@ -0,0 +1,5 @@ +export function SessionMetricsBar({ websiteId }: { websiteId: string }) { + return

{websiteId}

; +} + +export default SessionMetricsBar; diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx index 41c0fef3..d5ca439a 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx @@ -1,19 +1,29 @@ import { GridColumn, GridTable, useBreakpoint } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useFormat, useMessages } from 'components/hooks'; +import { formatDistanceToNow } from 'date-fns'; export function SessionsTable({ data = [] }: { data: any[]; showDomain?: boolean }) { const { formatMessage, labels } = useMessages(); const breakpoint = useBreakpoint(); + const { formatValue } = useFormat(); return ( - + + {row => formatValue(row.country, 'country')} + - + + {row => formatValue(row.browser, 'browser')} + - - + + {row => formatValue(row.device, 'device')} + + + {row => formatDistanceToNow(new Date(row.createdAt))} + ); } diff --git a/src/components/metrics/EventsChart.tsx b/src/components/metrics/EventsChart.tsx index 842ae605..36ec8672 100644 --- a/src/components/metrics/EventsChart.tsx +++ b/src/components/metrics/EventsChart.tsx @@ -1,5 +1,4 @@ import { useMemo } from 'react'; -import { Loading } from 'react-basics'; import { colord } from 'colord'; import BarChart from 'components/charts/BarChart'; import { getDateArray } from 'lib/date'; @@ -51,10 +50,6 @@ export function EventsChart({ websiteId, className }: EventsChartProps) { }; }, [data, startDate, endDate, unit]); - if (isLoading) { - return ; - } - return (