"use client"; import "./SignUpForm.scss"; import { useState } from "react"; import AuthInput from "@/features/AuthInput/AuthInput"; import Loader from "@/shared/ui/components/Loader/Loader"; import GoogleButton from "@/features/GoogleButton/GoogleButton"; import { useRouter } from "next/navigation"; import { apiInstance } from "@/shared/config/apiConfig"; import { AxiosError } from "axios"; const SignUpForm = () => { const [emailWarning, setEmailWarning] = useState(""); const [passwordWarning, setPasswordWarning] = useState(""); const [passwordConfirmWarning, setPasswordConfirmWarning] = useState(""); const [error, setError] = useState(""); const [loader, setLoader] = useState(false); const router = useRouter(); const handleSubmit: React.MouseEventHandler< HTMLFormElement > = async (e) => { e.preventDefault(); const formData = new FormData(e.currentTarget); if (!formData.get("email")?.toString()) { setError(""); setPasswordWarning(""); setPasswordConfirmWarning(""); setEmailWarning("Заполните поле Email"); return; } if (!formData.get("password")?.toString()) { setError(""); setEmailWarning(""); setPasswordConfirmWarning(""); setPasswordWarning("Заполните поле Пароль"); return; } if (!formData.get("password2")?.toString()) { setError(""); setEmailWarning(""); setPasswordWarning(""); setPasswordConfirmWarning("Заполните поле потверждения"); return; } if ( formData.get("password")?.toString() !== formData.get("password2")?.toString() ) { setError(""); setEmailWarning(""); setPasswordWarning(""); setPasswordConfirmWarning("Пароли не совпадают"); return; } try { setError(""); setEmailWarning(""); setPasswordWarning(""); setPasswordConfirmWarning(""); setLoader(true); const res = await apiInstance.post( "/users/register/", formData ); if (res.status === 200 || res.status === 201) { router.push( `/sign-up/confirm-email/?email=${formData.get("email")}` ); } } catch (error: unknown) { if (error instanceof AxiosError) { setError("Произошла непредвиденная ошибка"); } else { setError("An error ocured"); } } finally { setLoader(false); } }; return (
{error ?

{error}

: null}
{/* */}
); }; export default SignUpForm;