ShareLinkLayout.tsx 991 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import dynamic from 'next/dynamic';
  2. import type { JSX, ReactNode } from 'react';
  3. import React from 'react';
  4. import { RawLayout } from './RawLayout';
  5. const PageCreateModal = dynamic(
  6. () => import('~/client/components/PageCreateModal'),
  7. { ssr: false },
  8. );
  9. const GrowiNavbarBottom = dynamic(
  10. () =>
  11. import('~/client/components/Navbar/GrowiNavbarBottom').then(
  12. (mod) => mod.GrowiNavbarBottom,
  13. ),
  14. { ssr: false },
  15. );
  16. const ShortcutsModal = dynamic(
  17. () => import('~/client/components/ShortcutsModal'),
  18. { ssr: false },
  19. );
  20. const SystemVersion = dynamic(
  21. () => import('~/client/components/SystemVersion'),
  22. { ssr: false },
  23. );
  24. type Props = {
  25. children?: ReactNode;
  26. };
  27. export const ShareLinkLayout = ({ children }: Props): JSX.Element => {
  28. return (
  29. <RawLayout>
  30. <div className="page-wrapper">{children}</div>
  31. <GrowiNavbarBottom />
  32. <ShortcutsModal />
  33. <PageCreateModal />
  34. <SystemVersion showShortcutsButton />
  35. </RawLayout>
  36. );
  37. };