From 90c6b3b536f01c891030abdfbf0d34374ef0a45d Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Thu, 27 Jun 2024 17:57:41 +0200 Subject: [PATCH] change(ui): funnel bar text color --- .../Funnels/FunnelWidget/FunnelBar.tsx | 240 +++++++++--------- 1 file changed, 121 insertions(+), 119 deletions(-) diff --git a/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx b/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx index 0ca634028..c4a35fded 100644 --- a/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx +++ b/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx @@ -1,146 +1,148 @@ -import { durationFormatted } from 'App/date'; +import {durationFormatted} from 'App/date'; import React from 'react'; import FunnelStepText from './FunnelStepText'; -import { Icon } from 'UI'; +import {Icon} from 'UI'; +import {Space} from "antd"; interface Props { - filter: any; - index?: number; - focusStage?: (index: number, isFocused: boolean) => void - focusedFilter?: number | null + filter: any; + index?: number; + focusStage?: (index: number, isFocused: boolean) => void + focusedFilter?: number | null } function FunnelBar(props: Props) { - const { filter, index, focusStage, focusedFilter } = props; + const {filter, index, focusStage, focusedFilter} = props; - const isFocused = focusedFilter && index ? focusedFilter === index - 1 : false; - return ( -
- -
-
-
- {filter.completedPercentageTotal}% -
-
-
focusStage?.(index! - 1, filter.isActive)} - className={'hover:border border-red-lightest'} - /> -
-
- {/* @ts-ignore */} -
- - {filter.sessionsCount} Sessions - + const isFocused = focusedFilter && index ? focusedFilter === index - 1 : false; + return ( +
+ +
+
+
+ {filter.completedPercentageTotal}% +
+
+
focusStage?.(index! - 1, filter.isActive)} + className={'hover:border border-red-lightest'} + /> +
+
+ {/* @ts-ignore */} +
+ + {filter.sessionsCount} Sessions + ({filter.completedPercentage}%) Completed +
+ + 0 ? "red" : "gray-light"} size={16}/> + 0 ? 'color-red' : 'disabled')}>{filter.droppedCount} Sessions + 0 ? 'color-red' : 'disabled')}>({filter.droppedPercentage}%) Dropped + +
- {/* @ts-ignore */} -
- - {filter.droppedCount} Sessions - ({filter.droppedPercentage}%) Dropped -
-
-
- ); + ); } export function UxTFunnelBar(props: Props) { - const { filter } = props; + const {filter} = props; - return ( -
-
{filter.title}
-
-
-
- {((filter.completed/(filter.completed+filter.skipped))*100).toFixed(1)}% -
-
-
-
- {/* @ts-ignore */} -
-
- - {filter.completed}completed this step -
-
- - + return ( +
+
{filter.title}
+
+
+
+ {((filter.completed / (filter.completed + filter.skipped)) * 100).toFixed(1)}% +
+
+
+
+ {/* @ts-ignore */} +
+
+ + {filter.completed}completed this step +
+
+ + {durationFormatted(filter.avgCompletionTime)} - + Avg. completion time -
+
+
+ {/* @ts-ignore */} +
+ + {filter.skipped} skipped +
+
- {/* @ts-ignore */} -
- - {filter.skipped} skipped -
-
-
- ); + ); } export default FunnelBar; const calculatePercentage = (completed: number, dropped: number) => { - const total = completed + dropped; - if (dropped === 0) return 100; - if (total === 0) return 0; + const total = completed + dropped; + if (dropped === 0) return 100; + if (total === 0) return 0; - return Math.round((completed / dropped) * 100); + return Math.round((completed / dropped) * 100); };