dynamic.tsx 634 B

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