dynamic.tsx 752 B

12345678910111213141516171819
  1. import type { JSX } from 'react';
  2. import { useLazyLoader } from '~/components/utils/use-lazy-loader';
  3. import { usePageAccessoriesModalStatus } from '~/states/ui/modal/page-accessories';
  4. type PageAccessoriesModalProps = Record<string, unknown>;
  5. export const PageAccessoriesModalLazyLoaded = (): JSX.Element => {
  6. const status = usePageAccessoriesModalStatus();
  7. const PageAccessoriesModal = useLazyLoader<PageAccessoriesModalProps>(
  8. 'page-accessories-modal',
  9. () => import('./PageAccessoriesModal').then(mod => ({ default: mod.PageAccessoriesModal })),
  10. status?.isOpened ?? false,
  11. );
  12. // PageAccessoriesModal handles early return and fadeout transition internally
  13. return PageAccessoriesModal ? <PageAccessoriesModal /> : <></>;
  14. };