import React from 'react';
import s from './ModalState.module.scss';
import { useStoreDispatch, useStoreSelector } from '../../../App';
import { SetModal } from '../../../store/actions/Settings';
import {
getModalInfoByName,
getModalParametersByName,
} from '../../../store/selectors/selectors';
import { ArStep1 } from '../ArStep1/ArStep1';
import { modalName } from '../../../store/reducers/Settings';
import { ModalComponent } from '../ModalComponent/ModalComponent';
import { ItemHint } from './../ItemHint/ItemHint';
import { MailComponent } from './../MailComponent/MailComponent';
import { MailSent } from '../MailSent/MailSent';
import { Loader } from '../Loader/Loader';
export const ModalState = () => {
const dispatch = useStoreDispatch();
const parameters = useStoreSelector(getModalParametersByName);
const arStep1 = useStoreSelector(getModalInfoByName('arStep1'));
const itemHint = useStoreSelector(getModalInfoByName('itemHint'));
const mailComponent = useStoreSelector(getModalInfoByName('MailComponent'));
const mailSent = useStoreSelector(getModalInfoByName('MailSent'));
const loader = useStoreSelector(getModalInfoByName('loader'));
const closeFunc = (name: modalName) => {
dispatch(SetModal({ list: { [name]: false } }));
};
return (
<>
{arStep1 && (
closeFunc('arStep1')}
>
)}
{itemHint && (
closeFunc('itemHint')}
>
)}
{mailComponent && (
closeFunc('MailComponent')}
>
)}
{mailSent && (
closeFunc('MailSent')}
>
)}
{loader && (
)}
>
);
};