/** * PageSkeleton 组件 - 页面加载骨架屏 * * 用于 Suspense fallback 和初始加载状态,提供平滑的视觉过渡 * 避免白屏闪烁,减少布局偏移 */ interface PageSkeletonProps { /** 骨架屏类型 */ variant?: 'dashboard' | 'tool'; } /** * 仪表盘卡片骨架屏 */ function DashboardCardSkeleton() { 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';