'use client' /** * GridOverlay Widgets - GridStats and GridLegend * * Extracted from GridOverlay.tsx to keep each file under 500 LOC. */ import { cn } from '@/lib/utils' import type { GridData } from './GridOverlay' /** * GridStats Component */ interface GridStatsProps { stats: GridData['stats'] deskewAngle?: number source?: string className?: string } export function GridStats({ stats, deskewAngle, source, className }: GridStatsProps) { const coveragePercent = Math.round(stats.coverage * 100) return (