import React, { useState } from "react"; import { useFormValidation } from "@hooks/useFormValidation"; import { useNotification } from "@hooks/useNotification"; import BaseButton from "@components/Common/BaseButton/BaseButton"; import { Loader } from "@components/Common/Loader/Loader"; import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; import anyMoment from "assets/icons/anyMoment.svg"; import doc from "assets/icons/doc.svg"; import telegramLogo from "assets/icons/tgLogo.svg"; import accept from "assets/images/accept.png"; import "./modalRegistration.scss"; export const ModalRegistration = ({ active, setActive }) => { const [loader, setLoader] = useState(false); const [isPartner, setIsPartner] = useState(false); const fields = { username: "", email: "", password: "", secondPassword: "" }; const closeModal = () => { setActive(false); handleClearForm(); }; const apiEndpoint = "/register/sign-up"; const { showNotification } = useNotification(); const showNotificationError = () => { showNotification({ show: true, text: "Аккаунт с таким логином или email уже существует", type: "error" }); }; const showNotificationTrue = () => { showNotification({ show: true, text: "Аккаунт успешно создан", type: "success" }); }; const { formData, validationErrors, handleChange, handleSubmit, handleClearForm } = useFormValidation( apiEndpoint, fields, showNotificationError, showNotificationTrue, isPartner ); return (

Подключайтесь к ITguild

Зарегистрируйтесь и начните работу уже сегодня

Ваше имя
{validationErrors.username}
E-mail
{validationErrors.email}
Пароль
{validationErrors.password}
Повторите пароль
{validationErrors.secondPassword}
setIsPartner(!isPartner)} >

Партнер:

{isPartner ? accept : ""}
{loader ? ( ) : ( { e.preventDefault(); setLoader(true); const result = await handleSubmit(e); if (result === true) { closeModal(); } setLoader(false); }} styles="button-box__submit" > Отправить )} {/*
*/} {/* У вас уже есть аккаунт?

Войти

*/} {/*
*/}

Отказ от специалиста в любой момент

Поменяйте, откажитесь или возьмите еще специалиста в любой момент работы.

100% постоплата

Договор не подразумевает какую‑либо оплату до того, как вы арендовали специалиста

Есть вопросы?

Напишите нам в Телеграм. Мы с удовольствием ответим!

closeModal()} className="exit">
); }; export default ModalRegistration;