import React, { FC, FormEvent, useCallback, useEffect, useState } from 'react'; import { connect } from 'react-redux'; import { IDialogProps } from '~/redux/modal/constants'; import { BetterScrollDialog } from '~/containers/dialogs/BetterScrollDialog'; import { Padder } from '~/components/containers/Padder'; import { DialogTitle } from '~/components/dialogs/DialogTitle'; import { Group } from '~/components/containers/Group'; import { InputText } from '~/components/input/InputText'; import styles from './styles.module.scss'; import { selectAuthRegisterSocial } from '~/redux/auth/selectors'; import * as AUTH_ACTIONS from '~/redux/auth/actions'; import { useCloseOnEscape } from '~/utils/hooks'; import { LoginSocialRegisterButtons } from '~/containers/dialogs/LoginSocialRegisterButtons'; const mapStateToProps = selectAuthRegisterSocial; const mapDispatchToProps = { authSetRegisterSocialErrors: AUTH_ACTIONS.authSetRegisterSocialErrors, authSetRegisterSocial: AUTH_ACTIONS.authSetRegisterSocial, authSendRegisterSocial: AUTH_ACTIONS.authSendRegisterSocial, }; type Props = ReturnType & typeof mapDispatchToProps & IDialogProps & {}; const LoginSocialRegisterDialogUnconnected: FC = ({ onRequestClose, errors, error, authSetRegisterSocialErrors, authSetRegisterSocial, authSendRegisterSocial, }) => { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const onSubmit = useCallback( (event: FormEvent) => { event.preventDefault(); authSendRegisterSocial(username, password); }, [username, password, authSendRegisterSocial] ); useEffect(() => { if (errors.username) authSetRegisterSocialErrors({ username: '' }); }, [username]); useEffect(() => { if (errors.password) authSetRegisterSocialErrors({ password: '' }); }, [password]); useEffect(() => { if (error) authSetRegisterSocial({ error: '' }); }, [username, password]); useCloseOnEscape(onRequestClose); return (
} >
Добро пожаловать в семью!
); }; const LoginSocialRegisterDialog = connect( mapStateToProps, mapDispatchToProps )(LoginSocialRegisterDialogUnconnected); export { LoginSocialRegisterDialog };