import { Skeleton } from "@/components/ui/skeleton";
interface PageSkeletonProps {
collectionHeading?: "date" | "group" | null;
variant?:
| "list"
| "issues-list"
| "detail"
| "dashboard"
| "approvals"
| "costs"
| "inbox"
| "org-chart";
}
export function PageSkeleton({ variant = "list", collectionHeading }: PageSkeletonProps) {
if (variant === "dashboard") {
return (
{Array.from({ length: 4 }).map((_, i) => (
))}
{Array.from({ length: 4 }).map((_, i) => (
))}
);
}
if (variant === "approvals") {
return (
{Array.from({ length: 3 }).map((_, i) => (
))}
);
}
if (variant === "costs") {
return (
{Array.from({ length: 6 }).map((_, i) => (
))}
);
}
if (variant === "org-chart") {
return (
);
}
if (variant === "detail") {
return (
);
}
if (variant === "issues-list" || variant === "inbox") {
return (
{collectionHeading ? (
Loading
) : null}
{Array.from({ length: 8 }, (_, index) => (
))}
);
}
return (
{Array.from({ length: 7 }).map((_, i) => (
))}
);
}