import Axios from "axios"; import Container from "react-bootstrap/Container"; import Form from "react-bootstrap/Form"; import { Helmet } from "react-helmet-async"; import Button from "react-bootstrap/Button"; import "../styles/SigninScreen.css"; import React, { useContext, useEffect, useState } from "react"; import { Link, useLocation, useNavigate } from "react-router-dom"; import { Store } from "../Store"; import { toast } from "react-toastify"; import { getError } from "../components/utils"; function SignupScreen() { const navigate = useNavigate(); const { search } = useLocation(); const redirectInUrl = new URLSearchParams(search).get("redirect"); const redirect = redirectInUrl ? redirectInUrl : "/"; const [name, setName] = useState(""); const [contact, setContact] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState(""); const { state, dispatch: ctxDispatch } = useContext(Store); const { userInfo } = state; const submitHandler = async (e) => { e.preventDefault(); if (password !== confirmPassword) { toast.error("Лозинките не се совпаѓаат"); return; } try { const { data } = await Axios.post("/api/users/signup", { name, contact, email, password, }); ctxDispatch({ type: "USER_SIGNIN", payload: data }); localStorage.setItem("userInfo", JSON.stringify(data)); navigate(redirect || "/"); } catch (err) { toast.error(getError(err)); } }; useEffect(() => { if (userInfo) { navigate(redirect); } }, [navigate, redirect, userInfo]); return (
Регистрирај се

Регистрирај се

Име и Презиме setName(e.target.value)} /> Телефон setContact(e.target.value)} /> Email setEmail(e.target.value)} /> Лозинка setPassword(e.target.value)} /> Потврди Лозинка setConfirmPassword(e.target.value)} />
Имате профил?{" "} Најави се
); } export default SignupScreen;