/** * Shipment Tracking Analytics Tab */ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Badge } from "@/components/ui/badge" import { BarChart3, TrendingUp, Package, Truck } from "lucide-react" import { useState } from "react" export function AnalyticsTab() { const [period, setPeriod] = useState('30days') // Placeholder data until the analytics endpoint is available. const analytics = { total_tracked_orders: 0, top_carriers: [] as { id: string; name: string; count: number }[], carrier_counts: {} as Record, chart_data: [] as { date: string; count: number }[], } return (
{/* Period Selector */}
{/* Stats Cards */}
Total Tracked Orders
{analytics.total_tracked_orders.toLocaleString()}

Orders with tracking info

Top Carrier
{analytics.top_carriers[0]?.name || 'N/A'}

{analytics.top_carriers[0]?.count || 0} shipments

Carriers Used
{Object.keys(analytics.carrier_counts).length}

Different shipping carriers

{/* Charts */}
{/* Tracking Timeline */} Tracking Activity Orders tracked over time
{analytics.chart_data.slice(-14).map((day, index) => { const maxCount = Math.max(...analytics.chart_data.map(d => d.count), 1) const height = (day.count / maxCount) * 100 return (
{index % 2 === 0 && ( {new Date(day.date).getDate()} )}
) })}
{/* Top Carriers */} Top Carriers Most used shipping carriers
{analytics.top_carriers.map((carrier, index) => { const maxCount = analytics.top_carriers[0]?.count || 1 const percentage = (carrier.count / maxCount) * 100 return (
{index + 1} {carrier.name}
{carrier.count} shipments
) })}
) }