2023-01-10 15:39:29 +00:00
|
|
|
import { ShellSubHeading } from "../layout";
|
|
|
|
import Meta from "../meta/Meta";
|
2023-01-04 11:00:01 +00:00
|
|
|
import { SkeletonText } from "../skeleton";
|
2022-09-14 10:35:40 +00:00
|
|
|
|
2023-01-04 11:00:01 +00:00
|
|
|
export function SkeletonLoader({
|
2022-12-07 20:53:44 +00:00
|
|
|
className,
|
|
|
|
title,
|
|
|
|
description,
|
|
|
|
}: {
|
|
|
|
className?: string;
|
|
|
|
title?: string;
|
|
|
|
description?: string;
|
|
|
|
}) {
|
2022-09-14 10:35:40 +00:00
|
|
|
return (
|
|
|
|
<>
|
2023-04-05 18:14:46 +00:00
|
|
|
<ShellSubHeading title={<div className="bg-subtle h-6 w-32" />} {...{ className }} />
|
2022-12-07 20:53:44 +00:00
|
|
|
{title && description && <Meta title={title} description={description} />}
|
|
|
|
|
2023-04-05 18:14:46 +00:00
|
|
|
<ul className="bg-default border-subtle divide-subtle -mx-4 animate-pulse divide-y rounded-md border sm:mx-0 sm:overflow-hidden">
|
2022-09-14 10:35:40 +00:00
|
|
|
<SkeletonItem />
|
|
|
|
<SkeletonItem />
|
|
|
|
<SkeletonItem />
|
|
|
|
</ul>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
function SkeletonItem() {
|
|
|
|
return (
|
|
|
|
<li className="group flex w-full items-center justify-between p-3">
|
|
|
|
<div className="flex-grow truncate text-sm">
|
2023-01-04 07:38:45 +00:00
|
|
|
<div className="flex justify-start space-x-2 rtl:space-x-reverse">
|
2022-09-14 10:35:40 +00:00
|
|
|
<SkeletonText className="h-10 w-10" />
|
2023-04-20 22:33:49 +00:00
|
|
|
<div className="space-y-1">
|
|
|
|
<div>
|
|
|
|
<SkeletonText className="h-4 w-16" />
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<SkeletonText className="h-4 w-32" />
|
|
|
|
</div>
|
2022-09-14 10:35:40 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-06-22 22:25:37 +00:00
|
|
|
<div className="mt-4 hidden flex-shrink-0 sm:ml-5 sm:mt-0 lg:flex">
|
2022-09-14 10:35:40 +00:00
|
|
|
<div className="flex justify-between space-x-2 rtl:space-x-reverse">
|
|
|
|
<SkeletonText className="h-11 w-32" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
);
|
|
|
|
}
|