diff --git a/apps/dashboard/src/components/report-chart/conversion/chart.tsx b/apps/dashboard/src/components/report-chart/conversion/chart.tsx index 005e9325..a2e7f85a 100644 --- a/apps/dashboard/src/components/report-chart/conversion/chart.tsx +++ b/apps/dashboard/src/components/report-chart/conversion/chart.tsx @@ -17,7 +17,7 @@ import { import { createChartTooltip } from '@/components/charts/chart-tooltip'; import { useFormatDateInterval } from '@/hooks/useFormatDateInterval'; import { useNumber } from '@/hooks/useNumerFormatter'; -import { getPreviousMetric } from '@openpanel/common'; +import { average, getPreviousMetric, round } from '@openpanel/common'; import type { IInterval } from '@openpanel/validation'; import { Fragment } from 'react'; import { useXAxisProps, useYAxisProps } from '../common/axis'; @@ -61,6 +61,12 @@ export function Chart({ data }: Props) { hide: hideYAxis, }); + const averageConversionRate = average( + data.current.map((serie) => { + return average(serie.data.map((item) => item.rate)); + }, 0), + ); + return (
@@ -118,6 +124,23 @@ export function Chart({ data }: Props) { ); })} + {typeof averageConversionRate === 'number' && + averageConversionRate && ( + + )}
diff --git a/apps/dashboard/src/components/report/sidebar/ReportSettings.tsx b/apps/dashboard/src/components/report/sidebar/ReportSettings.tsx index 4be290ef..97fd5a33 100644 --- a/apps/dashboard/src/components/report/sidebar/ReportSettings.tsx +++ b/apps/dashboard/src/components/report/sidebar/ReportSettings.tsx @@ -37,7 +37,7 @@ export function ReportSettings() { fields.push('unit'); } - if (chartType === 'funnel') { + if (chartType === 'funnel' || chartType === 'conversion') { fields.push('funnelGroup'); fields.push('funnelWindow'); }