sushilideaclan01's picture
..
fe48c70
raw
history blame contribute delete
823 Bytes
import React from "react";
import { cn } from "@/lib/utils/cn";
interface LoadingSkeletonProps {
className?: string;
variant?: "text" | "circular" | "rectangular";
}
export const LoadingSkeleton: React.FC<LoadingSkeletonProps> = ({
className,
variant = "rectangular",
}) => {
const baseStyles = "animate-pulse bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200 bg-[length:200%_100%] animate-shimmer";
const variants = {
text: "h-4 rounded",
circular: "rounded-full aspect-square",
rectangular: "rounded-xl",
};
return (
<div className={cn(baseStyles, variants[variant], className)} />
);
};
// Add shimmer animation to globals.css
const shimmerKeyframes = `
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
`;