Repository navigation
Expand file tree
/
Copy pathloading.tsx
More file actions
60 lines (57 loc) · 2.42 KB
/
Copy pathloading.tsx
File metadata and controls
60 lines (57 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
export function LoadingCards() {
return (
<>
<div className='flex flex-col gap-3 mt-8'>
<div className='h-8 w-56 animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='h-8 max-w-full w-[600px] animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
</div>
<div className='grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 gap-5 py-6'>
<div className='h-[200px] w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='h-[200px] w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='h-[200px] w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='h-[200px] w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='h-[200px] w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='h-[200px] w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
</div>
</>
)
}
export function LoadingResources() {
return (
<div className='grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 gap-5 py-6'>
{Array.from({ length: 20 }, (_, index) => (
<ResourceSkeleton key={index} />
))}
</div>
)
}
export function SubmitFormSkeleton() {
return (
<div
className='space-y-4'
aria-hidden='true'
>
<div className='grid gap-2'>
<div className='h-4 w-24 animate-pulse rounded bg-neutral-200 dark:bg-neutral-900' />
<div className='h-9 w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
</div>
<div className='h-10 w-full animate-pulse rounded-md bg-neutral-200 dark:bg-neutral-900' />
</div>
)
}
function ResourceSkeleton() {
return (
<div
className='flex w-full animate-pulse flex-col gap-3 rounded-lg border p-2.5'
aria-hidden='true'
>
<div className='aspect-video w-full rounded-md bg-neutral-200 dark:bg-neutral-900' />
<div className='flex flex-col gap-2'>
<div className='h-5 w-2/5 rounded bg-neutral-200 dark:bg-neutral-900' />
<div className='h-4 w-full rounded bg-neutral-200 dark:bg-neutral-900' />
<div className='h-4 w-4/5 rounded bg-neutral-200 dark:bg-neutral-900' />
</div>
<div className='mt-auto h-4 w-1/3 rounded bg-neutral-200 dark:bg-neutral-900' />
</div>
)
}