import { cn } from "@/lib/utils";
interface SkeletonProps {
className?: string;
animate?: boolean;
}
export function Skeleton({ className, animate = true }: SkeletonProps) {
return (
);
}
export function LoadingCard({ className }: { className?: string }) {
return (
);
}
export function LoadingTable({ rows = 5, columns = 4 }: { rows?: number; columns?: number }) {
return (
{/* Header */}
{Array.from({ length: columns }).map((_, i) => (
))}
{/* Rows */}
{Array.from({ length: rows }).map((_, rowIndex) => (
{Array.from({ length: columns }).map((_, colIndex) => (
))}
))}
);
}
export function LoadingStats({ count = 4 }: { count?: number }) {
return (
{Array.from({ length: count }).map((_, i) => (
))}
);
}
// Note: PageLoadingState is now handled by PageLayout component with proper skeleton loading
// FullPageLoadingState removed - use skeleton loading instead