'use client'; /** * Loading skeleton for the ReviewIQ Dashboard. */ export function DashboardSkeleton() { return (
{/* KPI Cards Skeleton */}
{Array.from({ length: 8 }).map((_, i) => (
))}
{/* Charts Grid Skeleton */}
{/* Timeline Skeleton */}
{/* Tables Skeleton */}
); } /** * Error state component. */ export function DashboardError({ message, onRetry }: { message: string; onRetry?: () => void }) { return (
Failed to load dashboard

{message}

{onRetry && ( )}
); } /** * Empty state when no job is selected. */ export function DashboardEmpty() { return (
No Job Selected

Select a job to view analytics or run the ReviewIQ pipeline first.

); }