dynamic.tsx 634 B

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