dynamic.tsx 698 B

123456789101112131415161718192021
  1. import type { JSX } from 'react';
  2. import { useLazyLoader } from '~/components/utils/use-lazy-loader';
  3. import { usePresentationModalStatus } from '~/states/ui/modal/page-presentation';
  4. type PagePresentationModalProps = Record<string, unknown>;
  5. export const PagePresentationModalLazyLoaded = (): JSX.Element => {
  6. const status = usePresentationModalStatus();
  7. const PagePresentationModal = useLazyLoader<PagePresentationModalProps>(
  8. 'page-presentation-modal',
  9. () =>
  10. import('./PagePresentationModal').then((mod) => ({
  11. default: mod.PagePresentationModal,
  12. })),
  13. status?.isOpened ?? false,
  14. );
  15. return PagePresentationModal ? <PagePresentationModal /> : <></>;
  16. };