Files
users/app/data-platform/loading.tsx
v0 901763fae0 fix: resolve deployment errors and add missing files
Fix CSS issue and create missing documentation files
Add new data platform and mobile optimization features

Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
2025-07-19 02:34:18 +00:00

62 lines
2.7 KiB
TypeScript

export default function DataPlatformLoading() {
return (
<div className="container mx-auto py-4 md:py-6 space-y-4 md:space-y-6">
{/* 页面标题骨架 */}
<div className="flex flex-col md:flex-row md:justify-between md:items-center gap-4">
<div>
<div className="h-8 bg-gray-200 rounded w-32 mb-2 animate-pulse"></div>
<div className="h-4 bg-gray-200 rounded w-48 animate-pulse"></div>
</div>
<div className="flex gap-2">
<div className="h-9 w-24 bg-gray-200 rounded animate-pulse"></div>
<div className="h-9 w-9 bg-gray-200 rounded animate-pulse"></div>
<div className="h-9 w-9 bg-gray-200 rounded animate-pulse"></div>
</div>
</div>
{/* 概览卡片骨架 */}
<div className="bg-white rounded-lg shadow-md p-4">
<div className="h-6 bg-gray-200 rounded w-32 mb-4 animate-pulse"></div>
<div className="grid grid-cols-2 md:grid-cols-4 gap-3 md:gap-4">
{Array.from({ length: 4 }).map((_, i) => (
<div key={i} className="bg-gray-50 p-3 rounded-lg">
<div className="h-8 bg-gray-200 rounded w-12 mb-2 animate-pulse"></div>
<div className="h-3 bg-gray-200 rounded w-16 animate-pulse"></div>
</div>
))}
</div>
</div>
{/* 数据源卡片骨架 */}
<div className="bg-white rounded-lg shadow-md p-4">
<div className="h-6 bg-gray-200 rounded w-40 mb-4 animate-pulse"></div>
<div className="space-y-3">
{Array.from({ length: 3 }).map((_, i) => (
<div key={i} className="bg-gray-50 border rounded-lg p-3">
<div className="h-5 bg-gray-200 rounded w-48 mb-2 animate-pulse"></div>
<div className="h-4 bg-gray-200 rounded w-full mb-2 animate-pulse"></div>
<div className="h-3 bg-gray-200 rounded w-32 animate-pulse"></div>
</div>
))}
</div>
</div>
{/* 其他内容骨架 */}
{Array.from({ length: 2 }).map((_, i) => (
<div key={i} className="bg-white rounded-lg shadow-md p-4">
<div className="h-6 bg-gray-200 rounded w-40 mb-4 animate-pulse"></div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
{Array.from({ length: 3 }).map((_, j) => (
<div key={j} className="bg-gray-50 p-4 rounded-lg">
<div className="h-4 bg-gray-200 rounded w-24 mb-2 animate-pulse"></div>
<div className="h-6 bg-gray-200 rounded w-16 mb-2 animate-pulse"></div>
<div className="h-2 bg-gray-200 rounded w-full animate-pulse"></div>
</div>
))}
</div>
</div>
))}
</div>
)
}