2026-05-01 00:14:08 +08:00

37 lines
1.1 KiB
JavaScript

import Skeleton from "@mui/material/Skeleton";
export function PageSkeleton() {
return (
<div className="page-skeleton" aria-hidden="true">
<div className="page-skeleton__head">
<SkeletonBlock className="page-skeleton__title" />
<div className="page-skeleton__actions">
<SkeletonBlock />
<SkeletonBlock />
</div>
</div>
<div className="page-skeleton__kpis">
{Array.from({ length: 5 }, (_, index) => (
<SkeletonBlock className="page-skeleton__kpi" key={index} />
))}
</div>
<div className="page-skeleton__charts">
{Array.from({ length: 4 }, (_, index) => (
<SkeletonBlock className="page-skeleton__chart" key={index} />
))}
</div>
<div className="page-skeleton__content">
<SkeletonBlock className="page-skeleton__rail" />
<SkeletonBlock className="page-skeleton__table" />
</div>
</div>
);
}
function SkeletonBlock({ className = "" }) {
return <Skeleton animation="wave" className={["page-skeleton__block", className].filter(Boolean).join(" ")} variant="rounded" />;
}