From 40dffcdb1e6399894a3e903d8bf474c39fef40c0 Mon Sep 17 00:00:00 2001 From: Usman Baig Date: Wed, 4 Feb 2026 22:36:19 +0100 Subject: [PATCH] feat: improve Funnel pages UI by updating styles for empty state and chart components, enhancing visual consistency and accessibility --- app/sites/[id]/funnels/[funnelId]/page.tsx | 43 ++++++++++++++++++---- app/sites/[id]/funnels/page.tsx | 6 +-- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/app/sites/[id]/funnels/[funnelId]/page.tsx b/app/sites/[id]/funnels/[funnelId]/page.tsx index fa9d523..ac8084d 100644 --- a/app/sites/[id]/funnels/[funnelId]/page.tsx +++ b/app/sites/[id]/funnels/[funnelId]/page.tsx @@ -4,8 +4,9 @@ import { useAuth } from '@/lib/auth/context' import { useEffect, useState } from 'react' import { useParams, useRouter } from 'next/navigation' import { getFunnel, getFunnelStats, deleteFunnel, type Funnel, type FunnelStats } from '@/lib/api/funnels' -import { toast, LoadingOverlay, Select, DatePicker, ChevronLeftIcon, ArrowRightIcon, TrashIcon } from '@ciphera-net/ui' +import { toast, LoadingOverlay, Select, DatePicker, ChevronLeftIcon, ArrowRightIcon, TrashIcon, useTheme } from '@ciphera-net/ui' import Link from 'next/link' +import { useMemo } from 'react' import { BarChart, Bar, @@ -18,6 +19,22 @@ import { } from 'recharts' import { getDateRange } from '@/lib/utils/format' +const CHART_COLORS_LIGHT = { + border: '#E5E5E5', + axis: '#A3A3A3', + tooltipBg: '#ffffff', + tooltipBorder: '#E5E5E5', +} + +const CHART_COLORS_DARK = { + border: '#404040', + axis: '#737373', + tooltipBg: '#262626', + tooltipBorder: '#404040', +} + +const BRAND_ORANGE = '#FD5E0F' + export default function FunnelReportPage() { const params = useParams() const router = useRouter() @@ -81,6 +98,12 @@ export default function FunnelReportPage() { conversion: s.conversion })) + const { resolvedTheme } = useTheme() + const chartColors = useMemo( + () => (resolvedTheme === 'dark' ? CHART_COLORS_DARK : CHART_COLORS_LIGHT), + [resolvedTheme] + ) + return (
@@ -136,23 +159,23 @@ export default function FunnelReportPage() {
{/* Chart */} -
+

Funnel Visualization

- + +

{label}

{data.visitors.toLocaleString()} visitors @@ -186,7 +215,7 @@ export default function FunnelReportPage() { /> {chartData.map((entry, index) => ( - + ))} diff --git a/app/sites/[id]/funnels/page.tsx b/app/sites/[id]/funnels/page.tsx index 8d2017d..73133b8 100644 --- a/app/sites/[id]/funnels/page.tsx +++ b/app/sites/[id]/funnels/page.tsx @@ -80,8 +80,8 @@ export default function FunnelsPage() { {funnels.length === 0 ? (

-
- +
+

No funnels yet @@ -119,7 +119,7 @@ export default function FunnelsPage() {
{funnel.steps.map((step, i) => (
- + {step.name} {i < funnel.steps.length - 1 && (