-
Miłosz Grocholewski authoredMiłosz Grocholewski authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Modal.component.tsx 2.88 KiB
import { useAppSelector } from '@/redux/hooks/useAppSelector';
import { modalSelector } from '@/redux/modal/modal.selector';
import dynamic from 'next/dynamic';
import { AccessDeniedModal } from '@/components/FunctionalArea/Modal/AccessDeniedModal/AccessDeniedModal.component';
import { AddCommentModal } from '@/components/FunctionalArea/Modal/AddCommentModal/AddCommentModal.component';
import { LicenseModal } from '@/components/FunctionalArea/Modal/LicenseModal';
import { ToSModal } from '@/components/FunctionalArea/Modal/ToSModal/ToSModal.component';
import { EditOverlayModal } from './EditOverlayModal';
import { LoginModal } from './LoginModal';
import { ErrorReportModal } from './ErrorReportModal';
import { ModalLayout } from './ModalLayout';
import { OverviewImagesModal } from './OverviewImagesModal';
import { PublicationsModal } from './PublicationsModal';
import { LoggedInMenuModal } from './LoggedInMenuModal';
import { LayerFactoryModal } from './LayerFactoryModal';
const MolArtModal = dynamic(
() => import('./MolArtModal/MolArtModal.component').then(mod => mod.MolArtModal),
{ ssr: false },
);
export const Modal = (): React.ReactNode => {
const { isOpen, modalName } = useAppSelector(modalSelector);
return (
<>
{isOpen && modalName === 'overview-images' && (
<ModalLayout>
<OverviewImagesModal />
</ModalLayout>
)}
{isOpen && modalName === 'mol-art' && (
<ModalLayout>
<MolArtModal />
</ModalLayout>
)}
{isOpen && modalName === 'login' && (
<ModalLayout>
<LoginModal />
</ModalLayout>
)}
{isOpen && modalName === 'error-report' && (
<ModalLayout>
<ErrorReportModal />
</ModalLayout>
)}
{isOpen && modalName === 'license' && (
<ModalLayout>
<LicenseModal />
</ModalLayout>
)}
{isOpen && modalName === 'publications' && <PublicationsModal />}
{isOpen && modalName === 'edit-overlay' && (
<ModalLayout>
<EditOverlayModal />
</ModalLayout>
)}
{isOpen && modalName === 'logged-in-menu' && (
<ModalLayout>
<LoggedInMenuModal />
</ModalLayout>
)}
{isOpen && modalName === 'access-denied' && (
<ModalLayout>
<AccessDeniedModal />
</ModalLayout>
)}
{isOpen && modalName === 'terms-of-service' && (
<ModalLayout>
<ToSModal />
</ModalLayout>
)}
{isOpen && modalName === 'select-project' && (
<ModalLayout>
<AccessDeniedModal />
</ModalLayout>
)}
{isOpen && modalName === 'add-comment' && (
<ModalLayout>
<AddCommentModal />
</ModalLayout>
)}
{isOpen && modalName === 'layer-factory' && (
<ModalLayout>
<LayerFactoryModal />
</ModalLayout>
)}
</>
);
};