Skip to content

Commit 0442403

Browse files
authored
Visually improve funnel tooltip (#6120)
1 parent 898439b commit 0442403

1 file changed

Lines changed: 20 additions & 45 deletions

File tree

assets/js/dashboard/extra/funnel-tooltip.js

Lines changed: 20 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default function FunnelTooltip(palette, funnel) {
1414
}
1515

1616
tooltipEl.className =
17-
'absolute text-sm font-normal py-3 px-4 pointer-events-none rounded-md z-[100] bg-[rgb(25_30_56)]'
17+
'absolute text-sm font-normal py-3 px-4 pointer-events-none rounded-md z-[100] bg-gray-950'
1818

1919
if (tooltipEl && offset) {
2020
tooltipEl.style.opacity = 1
@@ -30,52 +30,27 @@ export default function FunnelTooltip(palette, funnel) {
3030
const previousStep = dataIndex > 0 ? funnel.steps[dataIndex - 1] : null
3131

3232
tooltipEl.innerHTML = `
33-
<aside class="text-gray-100 flex flex-col">
34-
<div class="flex justify-between items-center border-b-2 border-gray-700 pb-2">
35-
<span class="font-semibold mr-4 text-lg">${previousStep ? `<span class="mr-2">${previousStep.label}</span>` : ''}
36-
<span class="text-gray-500 mr-2">→</span>
37-
${tooltipModel.title}
38-
</span>
33+
<aside class="text-gray-100 flex flex-col gap-2">
34+
<div class="flex items-center gap-3 font-semibold">${previousStep ? `<span>${previousStep.label}</span>` : ''}
35+
<span class="text-gray-400">→</span>
36+
${tooltipModel.title}
3937
</div>
38+
<hr class="border-gray-750" />
39+
<div class="grid grid-cols-[1fr_auto_auto] items-center gap-y-1 gap-x-4">
40+
<span class="flex items-center gap-2">
41+
<span class="size-2 rounded-full ${palette.visitorsLegendClass}"></span>
42+
${dataIndex == 0 ? 'Entered the funnel' : 'Visitors'}
43+
</span>
44+
<span class="text-right font-semibold">${dataIndex == 0 ? funnel.entering_visitors.toLocaleString() : currentStep.visitors.toLocaleString()}</span>
45+
<span class="text-right text-gray-400">${dataIndex == 0 ? funnel.entering_visitors_percentage : currentStep.conversion_rate_step}%</span>
4046
41-
<table class="min-w-full mt-2">
42-
<tr>
43-
<th>
44-
<span class="flex items-center mr-4">
45-
<div class="w-3 h-3 mr-1 rounded-full ${palette.visitorsLegendClass}"></div>
46-
<span>
47-
${dataIndex == 0 ? 'Entered the funnel' : 'Visitors'}
48-
</span>
49-
</span>
50-
</th>
51-
<td class="text-right font-bold px-4">
52-
<span>
53-
${dataIndex == 0 ? funnel.entering_visitors.toLocaleString() : currentStep.visitors.toLocaleString()}
54-
</span>
55-
</td>
56-
<td class="text-right text-sm">
57-
<span>
58-
${dataIndex == 0 ? funnel.entering_visitors_percentage : currentStep.conversion_rate_step}%
59-
</span>
60-
</td>
61-
</tr>
62-
<tr>
63-
<th>
64-
<span class="flex items-center">
65-
<div class="w-3 h-3 mr-1 rounded-full ${palette.dropoffLegendClass}"></div>
66-
<span>
67-
${dataIndex == 0 ? 'Never entered the funnel' : 'Dropoff'}
68-
</span>
69-
</span>
70-
</th>
71-
<td class="text-right font-bold px-4">
72-
<span>${dataIndex == 0 ? funnel.never_entering_visitors.toLocaleString() : currentStep.dropoff.toLocaleString()}</span>
73-
</td >
74-
<td class="text-right text-sm">
75-
<span>${dataIndex == 0 ? funnel.never_entering_visitors_percentage : currentStep.dropoff_percentage}%</span>
76-
</td>
77-
</tr >
78-
</table >
47+
<span class="flex items-center gap-2">
48+
<span class="size-2 rounded-full ${palette.dropoffLegendClass}"></span>
49+
${dataIndex == 0 ? 'Never entered the funnel' : 'Dropoff'}
50+
</span>
51+
<span class="text-right font-semibold">${dataIndex == 0 ? funnel.never_entering_visitors.toLocaleString() : currentStep.dropoff.toLocaleString()}</span>
52+
<span class="text-right text-gray-400">${dataIndex == 0 ? funnel.never_entering_visitors_percentage : currentStep.dropoff_percentage}%</span>
53+
</div>
7954
</aside >
8055
`
8156
}

0 commit comments

Comments
 (0)