ShareLinkLayout.tsx 1004 B

123456789101112131415161718192021222324252627282930313233343536
  1. import React, { ReactNode } from 'react';
  2. import dynamic from 'next/dynamic';
  3. import { useEditorModeClassName } from '../../client/services/layout';
  4. import { RawLayout } from './RawLayout';
  5. const PageCreateModal = dynamic(() => import('../PageCreateModal'), { ssr: false });
  6. const GrowiNavbarBottom = dynamic(() => import('../Navbar/GrowiNavbarBottom').then(mod => mod.GrowiNavbarBottom), { ssr: false });
  7. const ShortcutsModal = dynamic(() => import('../ShortcutsModal'), { ssr: false });
  8. const SystemVersion = dynamic(() => import('../SystemVersion'), { ssr: false });
  9. type Props = {
  10. children?: ReactNode
  11. }
  12. export const ShareLinkLayout = ({ children }: Props): JSX.Element => {
  13. const className = useEditorModeClassName();
  14. return (
  15. <RawLayout className={className}>
  16. <div className="page-wrapper">
  17. {children}
  18. </div>
  19. <GrowiNavbarBottom />
  20. <ShortcutsModal />
  21. <PageCreateModal />
  22. <SystemVersion showShortcutsButton />
  23. </RawLayout>
  24. );
  25. };