From d648505a9b52cf100e9afb50d52396033b63a71c Mon Sep 17 00:00:00 2001 From: Karl-Aksel Puulmann Date: Tue, 22 Oct 2024 15:43:49 +0300 Subject: [PATCH] Fix money values on graphs and `conversions` graph tooltips (#4717) * Fix conversions graph tooltips * Show revenue value instead of `undefined` in graph This broke due to the unification of formatters. Not sure if this is the best fix --- .../js/dashboard/stats/reports/metric-formatter.ts | 5 +++++ assets/js/dashboard/util/money.ts | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/assets/js/dashboard/stats/reports/metric-formatter.ts b/assets/js/dashboard/stats/reports/metric-formatter.ts index e67f5e04e6dc..60e011dc22f9 100644 --- a/assets/js/dashboard/stats/reports/metric-formatter.ts +++ b/assets/js/dashboard/stats/reports/metric-formatter.ts @@ -14,6 +14,7 @@ export type FormattableMetric = | 'total_visitors' | 'current_visitors' | 'exit_rate' + | 'conversions' // eslint-disable-next-line @typescript-eslint/no-explicit-any export type ValueType = any @@ -30,6 +31,8 @@ export const MetricFormatterShort: Record< visitors: numberShortFormatter, visits: numberShortFormatter, + conversions: numberShortFormatter, + time_on_page: durationFormatter, visit_duration: durationFormatter, @@ -55,6 +58,8 @@ export const MetricFormatterLong: Record< visitors: numberLongFormatter, visits: numberLongFormatter, + conversions: numberLongFormatter, + time_on_page: durationFormatter, visit_duration: durationFormatter, diff --git a/assets/js/dashboard/util/money.ts b/assets/js/dashboard/util/money.ts index c329a3d39d56..db0dd006ee0e 100644 --- a/assets/js/dashboard/util/money.ts +++ b/assets/js/dashboard/util/money.ts @@ -1,15 +1,21 @@ +import { numberLongFormatter, numberShortFormatter } from "./number-formatter" + type Money = { long: string, short: string } -export function formatMoneyShort(value: Money | null) { - if (value) { +export function formatMoneyShort(value: Money | number | null) { + if (typeof value == 'number') { + return numberShortFormatter(value) + } else if (value) { return value.short } else { return "-" } } -export function formatMoneyLong(value: Money | null) { - if (value) { +export function formatMoneyLong(value: Money | number | null) { + if (typeof value == 'number') { + return numberLongFormatter(value) + } else if (value) { return value.long } else { return "-"