e12fce6032
Project object tree with add/edit/delete, drag & drop re-parenting, context menu and Excel export, 1:1 with the legacy web part. The tree widgets live in pages/_tree so the works page can reuse them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import * as React from 'react';
|
|
import { useRouter } from './routing/RouterContext';
|
|
import { SectionPlaceholder } from './SectionPlaceholder';
|
|
import { HubPage } from '../pages/hub/HubPage';
|
|
import { ResourcesPage } from '../pages/resources/ResourcesPage';
|
|
import { BinderPage } from '../pages/binder/BinderPage';
|
|
import { ReportsPage } from '../pages/reports/ReportsPage';
|
|
import { ImportWorksPage } from '../pages/import/ImportWorksPage';
|
|
import { ObjectsPage } from '../pages/objects/ObjectsPage';
|
|
|
|
/** Показывает страницу текущего раздела. Разделы подключаются сюда по мере переноса. */
|
|
export const PageOutlet: React.FC = () => {
|
|
const { route } = useRouter();
|
|
|
|
switch (route.page) {
|
|
case 'hub':
|
|
return <HubPage />;
|
|
case 'resources':
|
|
return <ResourcesPage />;
|
|
case 'binder':
|
|
return <BinderPage />;
|
|
case 'reports':
|
|
return <ReportsPage />;
|
|
case 'import':
|
|
return <ImportWorksPage />;
|
|
case 'objects':
|
|
return <ObjectsPage />;
|
|
default:
|
|
return <SectionPlaceholder />;
|
|
}
|
|
};
|