import React, { useState, useEffect } from "react";
import AdminLayout from "@/layouts/admin";
interface PageWrapperProps {
children: React.ReactNode;
title: string;
description?: string;
className?: string;
}
export default function PageWrapper({
children,
title,
description,
className = "container mx-auto max-w-7xl px-3 lg:px-6 py-8",
}: PageWrapperProps) {
const [isReady, setIsReady] = useState(false);
useEffect(() => {
// 使用短暂的延迟确保组件完全加载,避免闪烁
const timer = setTimeout(() => {
setIsReady(true);
}, 50);
return () => clearTimeout(timer);
}, []);
if (!isReady) {
return (
);
}
return (
{title}
{description &&
{description}
}
{children}
);
}