BasicLayout.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import React, { ReactNode } from 'react';
  2. import dynamic from 'next/dynamic';
  3. import { GrowiNavbar } from './Navbar/GrowiNavbar';
  4. import { RawLayout } from './RawLayout';
  5. import Sidebar from './Sidebar';
  6. type Props = {
  7. title: string
  8. className?: string,
  9. children?: ReactNode
  10. }
  11. export const BasicLayout = ({ children, title, className }: Props): JSX.Element => {
  12. // const HotkeysManager = dynamic(() => import('../client/js/components/Hotkeys/HotkeysManager'), { ssr: false });
  13. // const PageCreateModal = dynamic(() => import('../client/js/components/PageCreateModal'), { ssr: false });
  14. const GrowiNavbarBottom = dynamic(() => import('./Navbar/GrowiNavbarBottom').then(mod => mod.GrowiNavbarBottom), { ssr: false });
  15. const ShortcutsModal = dynamic(() => import('./ShortcutsModal'), { ssr: false });
  16. const SystemVersion = dynamic(() => import('./SystemVersion'), { ssr: false });
  17. return (
  18. <>
  19. <RawLayout title={title} className={className}>
  20. <GrowiNavbar />
  21. <div className="page-wrapper d-flex d-print-block">
  22. <div className="grw-sidebar-wrapper">
  23. <Sidebar />
  24. </div>
  25. <div className="flex-fill mw-0">
  26. {children}
  27. </div>
  28. </div>
  29. <GrowiNavbarBottom />
  30. </RawLayout>
  31. {/* <PageCreateModal /> */}
  32. {/* <HotkeysManager /> */}
  33. <ShortcutsModal />
  34. <SystemVersion />
  35. </>
  36. );
  37. };