diff --git a/components/analytics/GrowthAnalyticsChart.tsx b/components/analytics/GrowthAnalyticsChart.tsx index cafba56..10d8ff7 100644 --- a/components/analytics/GrowthAnalyticsChart.tsx +++ b/components/analytics/GrowthAnalyticsChart.tsx @@ -24,22 +24,12 @@ import { CartesianGrid, Tooltip, ResponsiveContainer, - PieChart, - Pie, - Cell, } from "recharts"; interface GrowthAnalyticsChartProps { hideNumbers?: boolean; } -const SEGMENT_COLORS = { - new: "#3b82f6", - returning: "#10b981", - loyal: "#f59e0b", - vip: "#8b5cf6", -}; - export default function GrowthAnalyticsChart({ hideNumbers = false, }: GrowthAnalyticsChartProps) { @@ -277,145 +267,6 @@ export default function GrowthAnalyticsChart({ - {/* Customer Segments Pie Chart */} - - - Customer Segments - Breakdown by purchase behavior - - - {growthLoading ? ( -
-
-
- ) : growthData?.customers ? ( -
- - - - hideNumbers - ? name - : `${name}: ${(percent * 100).toFixed(0)}%` - } - labelLine={false} - > - {[ - { color: SEGMENT_COLORS.new }, - { color: SEGMENT_COLORS.returning }, - { color: SEGMENT_COLORS.loyal }, - { color: SEGMENT_COLORS.vip }, - ].map((entry, index) => ( - - ))} - - { - if (active && payload?.length) { - const data = payload[0].payload; - const segmentKey = data.name - .split(" ")[0] - .toLowerCase(); - const details = - growthData.customers.segmentDetails[segmentKey]; - return ( -
-

{data.name}

-

- Count:{" "} - {hideNumbers - ? "***" - : data.value.toLocaleString()} -

- {details && ( - <> -

- Revenue:{" "} - {formatCurrency(details.totalRevenue)} -

-

- Avg Orders:{" "} - {hideNumbers ? "***" : details.avgOrderCount} -

- - )} -
- ); - } - return null; - }} - /> -
-
-
- ) : ( -
- No customer data available -
- )} - - {/* Segment Stats */} - {growthData?.customers && ( -
-
-
- {hideNumbers ? "***" : growthData.customers.segments.new} -
-
New
-
-
-
- {hideNumbers - ? "***" - : growthData.customers.segments.returning} -
-
Returning
-
-
-
- {hideNumbers ? "***" : growthData.customers.segments.loyal} -
-
Loyal
-
-
-
- {hideNumbers ? "***" : growthData.customers.segments.vip} -
-
VIP
-
-
- )} -
-
- {/* Monthly Growth Table */} {growthData?.monthly && growthData.monthly.length > 0 && (