From 69db3c774303492b5326b7d0d26f024d0016ea80 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:38:26 +0000 Subject: [PATCH] Integrate Data Completeness Dashboard Adds comprehensive data completeness dashboard UI and hooks: - Introduces data completeness types and hook (useDataCompleteness) to fetch and subscribe to updates - Builds dashboard components (summary, filters, table) and integrates into Admin Settings - Wireframes for real-time updates and filtering across parks, rides, companies, and ride models - Integrates into AdminSettings with a new Data Quality tab and route - Adds data types and scaffolding for analytics, including completeness analysis structure --- .../data-completeness/CompletenesSummary.tsx | 74 ++++ .../data-completeness/CompletenessFilters.tsx | 110 +++++ .../data-completeness/CompletenessTable.tsx | 146 +++++++ .../DataCompletenessDashboard.tsx | 145 +++++++ src/hooks/useDataCompleteness.ts | 106 +++++ src/pages/AdminSettings.tsx | 13 +- src/types/data-completeness.ts | 58 +++ ...8_8d93b59c-4b0d-4ec1-89d8-3dfb5ebd803b.sql | 397 ++++++++++++++++++ 8 files changed, 1047 insertions(+), 2 deletions(-) create mode 100644 src/components/admin/data-completeness/CompletenesSummary.tsx create mode 100644 src/components/admin/data-completeness/CompletenessFilters.tsx create mode 100644 src/components/admin/data-completeness/CompletenessTable.tsx create mode 100644 src/components/admin/data-completeness/DataCompletenessDashboard.tsx create mode 100644 src/hooks/useDataCompleteness.ts create mode 100644 src/types/data-completeness.ts create mode 100644 supabase/migrations/20251111163458_8d93b59c-4b0d-4ec1-89d8-3dfb5ebd803b.sql diff --git a/src/components/admin/data-completeness/CompletenesSummary.tsx b/src/components/admin/data-completeness/CompletenesSummary.tsx new file mode 100644 index 00000000..32803938 --- /dev/null +++ b/src/components/admin/data-completeness/CompletenesSummary.tsx @@ -0,0 +1,74 @@ +/** + * 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 ( +
+ Parks: {summary.by_entity_type.parks} | Rides: {summary.by_entity_type.rides} +
++ {((summary.entities_below_50 / summary.total_entities) * 100).toFixed(1)}% of total +
++ {((summary.entities_100_complete / summary.total_entities) * 100).toFixed(1)}% of total +
+No entities found
+Try adjusting your filters
++ Monitor and improve data quality across all entities +
+