| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import { Suspense, useState } from 'react';
- import dynamic from 'next/dynamic';
- import { useTranslation } from 'react-i18next';
- import ItemsTreeContentSkeleton from '../../ItemsTree/ItemsTreeContentSkeleton';
- import { PageTreeHeader } from './PageTreeSubstance';
- const PageTreeContent = dynamic(
- () => import('./PageTreeSubstance').then(mod => mod.PageTreeContent),
- { ssr: false, loading: ItemsTreeContentSkeleton },
- );
- export const PageTree = (): JSX.Element => {
- const { t } = useTranslation();
- const [isWipPageShown, setIsWipPageShown] = useState(true);
- return (
- <div className="pt-4 pb-3 px-3">
- <div className="grw-sidebar-content-header d-flex">
- <h4 className="mb-0">{t('Page Tree')}</h4>
- <Suspense>
- <PageTreeHeader
- isWipPageShown={isWipPageShown}
- onWipPageShownChange={() => { setIsWipPageShown(!isWipPageShown) }}
- />
- </Suspense>
- </div>
- <Suspense fallback={<ItemsTreeContentSkeleton />}>
- <PageTreeContent isWipPageShown={isWipPageShown} />
- </Suspense>
- </div>
- );
- };
|