// static/js/auth.InviteRegisterForm.jsx function InviteRegisterForm() { const { setView } = useContext(AuthContext); const [inviteCode, setInviteCode] = useState(""); const [email, setEmail] = useState(""); const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); const [password, setPassword] = useState(""); const [password2, setPassword2] = useState(""); const [agreed, setAgreed] = useState(false); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const [success, setSuccess] = useState(""); const handleSubmit = async (e) => { e.preventDefault(); setError(""); setSuccess(""); if (!agreed) { setError("Для регистрации необходимо согласие на обработку персональных данных."); return; } if (!inviteCode.trim()) { setError("Введите код приглашения организации."); return; } if (password.length < 6) { setError("Пароль должен быть не короче 6 символов."); return; } if (password !== password2) { setError("Пароли не совпадают."); return; } setLoading(true); try { await API.register({ email: email.trim(), first_name: firstName.trim(), last_name: lastName.trim(), password, invite_code: inviteCode.trim(), personal_data_agreement: true, }); setSuccess("Регистрация успешна. Теперь вы можете войти в систему."); // Переключаемся на форму логина setView("login"); } catch (e) { console.error(e); setError(e.message || "Ошибка регистрации"); } finally { setLoading(false); } }; return (
Введите код приглашения, который вы получили от своего работодателя, и создайте личный аккаунт для прохождения тестов.
{error && (