import { cn } from "@/lib/utils"; /** Base shimmer block. Compose larger layouts from these. */ export function Skeleton({ className, ...props }: React.HTMLAttributes) { return
; } /** A page-header placeholder (title + description). */ export function HeaderSkeleton() { return (
); } /** A single card-shaped placeholder. */ export function CardSkeleton({ className }: { className?: string }) { return ; } /** A responsive row of stat-card placeholders. */ export function StatRowSkeleton({ count = 3 }: { count?: number }) { return (
{Array.from({ length: count }).map((_, i) => ( ))}
); } /** A grid of square episode-card placeholders. */ export function EpisodeGridSkeleton({ count = 8 }: { count?: number }) { return (
{Array.from({ length: count }).map((_, i) => (
))}
); } /** A stacked list of row placeholders (for lists/tables). */ export function ListSkeleton({ rows = 4 }: { rows?: number }) { return (
{Array.from({ length: rows }).map((_, i) => (
))}
); }