import { getFeatureByKey } from '@/config/features'; import { loadPage } from '@/config/pageLoaders/index'; import { useRouter } from '@/providers/RouterProvider'; import type { PageType } from '@/types/storage'; import { type ComponentType, useEffect, useState } from 'react'; import PageErrorBoundary from '@/components/PageErrorBoundary'; import PageSkeleton from '@/components/PageSkeleton'; import { cn } from '@/lib/utils'; import { AlertTriangle } from 'lucide-react'; function LoadedPage({ pageKey }: { pageKey: PageType }) { const [Page, setPage] = useState(null); useEffect(() => { let cancelled = false; loadPage(pageKey) .then((mod) => { if (!cancelled) { setPage(() => mod.default); } }) .catch((err) => { console.error('[Router Page Load Error]', err); }); return () => { cancelled = true; }; }, [pageKey]); if (!Page) { return ; } return ; } export default function RouterContainer() { const { currentPage } = useRouter(); const currentFeature = getFeatureByKey(currentPage); return (
{currentFeature ? ( ) : (

页面未找到

该功能不存在或已被移除。

)}
); }