|
import React from 'react'; |
|
|
|
const SkeletonBlock = ({ className }) => ( |
|
<div className={`bg-gray-700 rounded-md animate-pulse ${className}`} /> |
|
); |
|
|
|
function LoadingSkeleton() { |
|
return ( |
|
<div className="mt-8 p-6 bg-gray-800/50 border border-gray-700 rounded-lg"> |
|
{/* Header Skeleton */} |
|
<div className="mb-6 pb-6 border-b border-gray-700"> |
|
<SkeletonBlock className="h-12 w-3/4 mb-3" /> |
|
<SkeletonBlock className="h-6 w-1/2" /> |
|
</div> |
|
|
|
{/* Key Metrics Skeleton */} |
|
<div className="grid grid-cols-2 md:grid-cols-5 gap-4 mb-10"> |
|
<SkeletonBlock className="h-20" /> |
|
<SkeletonBlock className="h-20" /> |
|
<SkeletonBlock className="h-20" /> |
|
<SkeletonBlock className="h-20" /> |
|
<SkeletonBlock className="h-20" /> |
|
</div> |
|
|
|
{/* Chart Skeleton */} |
|
<div className="mb-12 bg-gray-900/40 p-6 rounded-xl"> |
|
<SkeletonBlock className="h-8 w-1/3 mb-4" /> |
|
<SkeletonBlock className="h-72 w-full" /> |
|
</div> |
|
|
|
{/* AI Report Skeleton */} |
|
<div className="mb-12"> |
|
<SkeletonBlock className="h-8 w-1/3 mb-4" /> |
|
<div className="p-6 bg-gray-900/40 rounded-xl space-y-4"> |
|
<SkeletonBlock className="h-6 w-full" /> |
|
<SkeletonBlock className="h-6 w-5/6" /> |
|
<SkeletonBlock className="h-6 w-full" /> |
|
<SkeletonBlock className="h-6 w-3/4" /> |
|
</div> |
|
</div> |
|
</div> |
|
); |
|
} |
|
|
|
export default LoadingSkeleton; |