| 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; |