"use client" import { Skeleton } from "@/components/ui/skeleton" import { cn } from "@/lib/utils" // ─── Dashboard skeletons ────────────────────────────────────────────────────── function MetricCardSkeleton({ label, icon }: { label: string; icon: React.ReactNode }) { return (

{label}

{icon}
) } function CurrentUnitCardSkeleton({ icon }: { icon: React.ReactNode }) { return (

Current Unit

{icon}
) } export function CurrentSliceCardSkeleton() { return (

Current Slice

{[1, 2, 3].map((i) => (
))}
) } export function SessionCardSkeleton() { return (

Session

{[1, 2, 3].map((i) => (
{i === 1 ? "Model" : i === 2 ? "Cost" : "Tokens"}
))}
) } export function RecoveryCardSkeleton() { return (

Recovery Summary

{[1, 2, 3, 4].map((i) => ( ))}
) } export function ActivityCardSkeleton() { return (

Recent Activity

{[1, 2, 3, 4].map((i) => (
))}
) } interface DashboardSkeletonProps { icons: { Activity: React.ReactNode Clock: React.ReactNode DollarSign: React.ReactNode Zap: React.ReactNode } } export function DashboardMetricsSkeleton({ icons }: DashboardSkeletonProps) { return (
) } // ─── Sidebar skeletons ──────────────────────────────────────────────────────── /** Only the data-dependent portion of the sidebar content panel */ export function SidebarDataSkeleton() { return ( <> {/* Project path */} {/* Scope section */}

Active scope

{/* Milestones list */}
Milestones
{[1, 2].map((m) => (
{m === 1 && (
{[1, 2, 3].map((s) => (
))}
)}
))}
) } // ─── Status bar value skeletons ─────────────────────────────────────────────── export function StatusBarValueSkeleton({ width = "w-16" }: { width?: string }) { return }