From b6d63ffcf79b366451e1354ef7de389c4eb1c0b8 Mon Sep 17 00:00:00 2001 From: Adrian Gruntkowski Date: Wed, 6 May 2026 12:08:08 +0200 Subject: [PATCH 1/8] Enforce minimum width of the percentage bar --- assets/js/dashboard/extra/exploration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index 09aecc2467e3..a58bd0da8092 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -348,7 +348,7 @@ function CandidateCard({ const barWidth = isSelected && selectedConversionRate !== null ? selectedConversionRate - : Math.round((visitors / stepMaxVisitors) * 100) + : Math.max(1, Math.round((visitors / stepMaxVisitors) * 100)) const textColor = isDimmed ? 'text-gray-400 dark:text-gray-500 group-hover:text-gray-600 dark:group-hover:text-gray-400' From acf503ea3a0eca608d6e3a8d530e0533a0fef8dd Mon Sep 17 00:00:00 2001 From: Adrian Gruntkowski Date: Wed, 6 May 2026 12:08:40 +0200 Subject: [PATCH 2/8] Render icon for goals too --- assets/js/dashboard/extra/exploration.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index a58bd0da8092..dc9ddfb0c9d9 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -342,6 +342,7 @@ function CandidateCard({ onSelect }) { const isCustomEvent = step.name !== 'pageview' + const isGoal = step.is_goal const visitorsToShow = isSelected && selectedVisitors !== null ? selectedVisitors : visitors @@ -389,9 +390,9 @@ function CandidateCard({ : step.label } > - {isCustomEvent && ( + {(isCustomEvent || isGoal) && ( )} From cae40f984793f8ba2b726edd5cc2271f9ba5639a Mon Sep 17 00:00:00 2001 From: Adrian Gruntkowski Date: Wed, 6 May 2026 12:38:20 +0200 Subject: [PATCH 3/8] Enforce min percentage bar width for selected items as well --- assets/js/dashboard/extra/exploration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index dc9ddfb0c9d9..3e66b17f6d6d 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -348,7 +348,7 @@ function CandidateCard({ isSelected && selectedVisitors !== null ? selectedVisitors : visitors const barWidth = isSelected && selectedConversionRate !== null - ? selectedConversionRate + ? Math.max(1, selectedConversionRate) : Math.max(1, Math.round((visitors / stepMaxVisitors) * 100)) const textColor = isDimmed From 9ec897b888f1b1ce59884f021b455d237889c0f3 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Wed, 6 May 2026 12:53:18 +0200 Subject: [PATCH 4/8] Fix visitors tooltips not appearing Portal to body escapes overflow-hidden clipping imposed by the button --- assets/js/dashboard/extra/exploration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index 3e66b17f6d6d..6725065c0848 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -413,7 +413,7 @@ function CandidateCard({ - + {numberShortFormatter(visitorsToShow)} From cfc7adaa0d09fd2fd0855799a116a43327141eef Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Wed, 6 May 2026 12:57:20 +0200 Subject: [PATCH 5/8] Format --- assets/js/dashboard/extra/exploration.js | 92 ++++++++++++------------ 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index 6725065c0848..bc9474f58361 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -369,56 +369,58 @@ function CandidateCard({ ? 'bg-gray-100/60 dark:bg-gray-850' : 'hover:bg-gray-100/60 dark:hover:bg-gray-850' + const labelTooltip = step.includes_subpaths + ? `${step.label} > all (${step.subpaths_count})` + : step.label + return (
  • - + + )} + + + + + {numberShortFormatter(visitorsToShow)} + + + + +
  • ) } From 9cf02a7258e845620f6e2af95325967b8f500352 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Wed, 6 May 2026 13:10:47 +0200 Subject: [PATCH 6/8] Revert "Format" This reverts commit 974b249dc84c92b576efbd9d588d3b3ebcad797a. --- assets/js/dashboard/extra/exploration.js | 92 ++++++++++++------------ 1 file changed, 45 insertions(+), 47 deletions(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index bc9474f58361..6725065c0848 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -369,58 +369,56 @@ function CandidateCard({ ? 'bg-gray-100/60 dark:bg-gray-850' : 'hover:bg-gray-100/60 dark:hover:bg-gray-850' - const labelTooltip = step.includes_subpaths - ? `${step.label} > all (${step.subpaths_count})` - : step.label - return (
  • - - - + + + )} + + + + + {numberShortFormatter(visitorsToShow)} + + + +
  • ) } From 1c4a609c5974e6d834d9ec4510be262ca6d8b3f2 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Wed, 6 May 2026 13:11:19 +0200 Subject: [PATCH 7/8] Format --- assets/js/dashboard/extra/exploration.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index 6725065c0848..2686c97a14fc 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -413,7 +413,10 @@ function CandidateCard({ - + {numberShortFormatter(visitorsToShow)} From fea4cc6f3df6f1d82f6a7f4a90576f2236248d33 Mon Sep 17 00:00:00 2001 From: Adrian Gruntkowski Date: Wed, 6 May 2026 13:36:05 +0200 Subject: [PATCH 8/8] Only render tooltip with long number format for visitors >= 1k --- assets/js/dashboard/extra/exploration.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/assets/js/dashboard/extra/exploration.js b/assets/js/dashboard/extra/exploration.js index 2686c97a14fc..635fc5aeb945 100644 --- a/assets/js/dashboard/extra/exploration.js +++ b/assets/js/dashboard/extra/exploration.js @@ -413,12 +413,7 @@ function CandidateCard({ - - {numberShortFormatter(visitorsToShow)} - + @@ -426,6 +421,22 @@ function CandidateCard({ ) } +function VisitorsMetric({ visitors }) { + const shortNumber = numberShortFormatter(visitors) + const longNumber = numberLongFormatter(visitors) + const showTooltip = shortNumber !== longNumber + + if (showTooltip) { + return ( + + {shortNumber} + + ) + } else { + return shortNumber + } +} + function ColumnEmptyState({ active, filter, colIndex, direction }) { if (!active) { const prompt =