docv/app/dashboard/folders/loading.tsx
Sadrinho27 aedd3b9f10
Some checks failed
4NK Template Sync / check-and-sync (push) Failing after 1s
first commit
2025-09-29 16:57:49 +02:00

76 lines
3.4 KiB
TypeScript

export default function FoldersLoading() {
return (
<div className="space-y-6">
{/* Header Skeleton */}
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between">
<div>
<div className="h-8 w-32 bg-gray-200 rounded animate-pulse mb-2" />
<div className="h-4 w-56 bg-gray-200 rounded animate-pulse" />
</div>
<div className="flex items-center space-x-3 mt-4 sm:mt-0">
<div className="h-9 w-24 bg-gray-200 rounded animate-pulse" />
<div className="h-9 w-36 bg-gray-200 rounded animate-pulse" />
</div>
</div>
{/* Breadcrumb Skeleton */}
<div className="flex items-center space-x-2">
<div className="h-4 w-16 bg-gray-200 rounded animate-pulse" />
</div>
{/* Stats Cards Skeleton */}
<div className="grid grid-cols-1 md:grid-cols-4 gap-4">
{[...Array(4)].map((_, i) => (
<div key={i} className="bg-white border rounded-lg p-4">
<div className="flex items-center justify-between">
<div>
<div className="h-4 w-16 bg-gray-200 rounded animate-pulse mb-2" />
<div className="h-8 w-8 bg-gray-200 rounded animate-pulse" />
</div>
<div className="h-8 w-8 bg-gray-200 rounded animate-pulse" />
</div>
</div>
))}
</div>
{/* Search and Filters Skeleton */}
<div className="bg-white border rounded-lg p-4">
<div className="flex flex-col lg:flex-row lg:items-center lg:justify-between space-y-4 lg:space-y-0">
<div className="flex flex-col sm:flex-row sm:items-center space-y-3 sm:space-y-0 sm:space-x-4">
<div className="h-10 w-80 bg-gray-200 rounded animate-pulse" />
<div className="h-10 w-20 bg-gray-200 rounded animate-pulse" />
</div>
<div className="flex items-center space-x-3">
<div className="h-10 w-32 bg-gray-200 rounded animate-pulse" />
<div className="h-10 w-20 bg-gray-200 rounded animate-pulse" />
</div>
</div>
</div>
{/* Folders Grid Skeleton */}
<div className="bg-white border rounded-lg p-6">
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6">
{[...Array(8)].map((_, i) => (
<div key={i} className="border rounded-lg p-6">
<div className="flex flex-col items-center space-y-4">
<div className="h-16 w-16 bg-gray-200 rounded-xl animate-pulse" />
<div className="text-center space-y-2 w-full">
<div className="h-6 w-32 bg-gray-200 rounded animate-pulse mx-auto" />
<div className="h-4 w-full bg-gray-200 rounded animate-pulse" />
<div className="h-4 w-3/4 bg-gray-200 rounded animate-pulse mx-auto" />
<div className="flex items-center justify-center space-x-4">
<div className="h-4 w-8 bg-gray-200 rounded animate-pulse" />
<div className="h-4 w-8 bg-gray-200 rounded animate-pulse" />
<div className="h-4 w-8 bg-gray-200 rounded animate-pulse" />
</div>
<div className="h-6 w-16 bg-gray-200 rounded animate-pulse mx-auto" />
</div>
</div>
</div>
))}
</div>
</div>
</div>
)
}