/** * Data Completeness Summary Component * * Displays high-level overview cards for data completeness metrics */ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Progress } from '@/components/ui/progress'; import { Database, AlertCircle, CheckCircle2, TrendingUp } from 'lucide-react'; import type { CompletenessSummary } from '@/types/data-completeness'; interface CompletenessSummaryProps { summary: CompletenessSummary; } export function CompletenessSummary({ summary }: CompletenessSummaryProps) { return (
Total Entities
{summary.total_entities.toLocaleString()}

Parks: {summary.by_entity_type.parks} | Rides: {summary.by_entity_type.rides}

Avg Completeness
{summary.avg_completeness_score?.toFixed(1) || 0}%
Below 50%
{summary.entities_below_50}

{((summary.entities_below_50 / summary.total_entities) * 100).toFixed(1)}% of total

100% Complete
{summary.entities_100_complete}

{((summary.entities_100_complete / summary.total_entities) * 100).toFixed(1)}% of total

); }