/** * PageSkeleton 组件 - 页面加载骨架屏 * * 用于 Suspense fallback 和初始加载状态,提供平滑的视觉过渡 * 避免白屏闪烁,减少布局偏移 */ import { Box, Skeleton, Stack, useTheme } from '@mui/material'; import { alpha } from '@mui/material'; interface PageSkeletonProps { /** 骨架屏类型 */ variant?: 'dashboard' | 'tool'; } /** * 仪表盘卡片骨架屏 */ function DashboardCardSkeleton() { const theme = useTheme(); const borderColor = alpha(theme.palette.divider, 0.5); return ( ); } /** * 工具页面骨架屏 */ function ToolPageSkeleton() { return ( {/* 标题区域 */} {/* 输入区域 */} {/* 控制栏 */} {/* 结果区域 */} ); } /** * 页面加载骨架屏 * * @param props - PageSkeletonProps * @returns 骨架屏 JSX 元素 */ export default function PageSkeleton({ variant = 'dashboard' }: PageSkeletonProps) { if (variant === 'tool') { return ; } return ( {Array.from({ length: 6 }).map((_, index) => ( ))} ); } PageSkeleton.displayName = 'PageSkeleton';