diff --git a/src/App.jsx b/src/App.jsx
index 6a2e781..8365017 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -3,13 +3,13 @@ import { Outlet, useNavigate } from "react-router-dom";
import { FormsData, UserData, TypeAnswerData, answersData } from "./context";
import { useCookies } from "react-cookie";
import { globalRender } from "./router/protectedRouting.js";
-import { verifyUserApi } from "./hooks/api/enterAccountApi.js"
-import classes from "./assets/styles/app.module.scss"
+import { verifyUserApi } from "./hooks/api/enterAccountApi.js";
+import classes from "./assets/styles/app.module.scss";
import NavBar from "./components/NavBar.jsx";
-import 'bootstrap/dist/css/bootstrap.min.css';
+import "bootstrap/dist/css/bootstrap.min.css";
import InputText from "./components/typeAnswer/InputText.jsx";
import TextArea from "./components/typeAnswer/TextArea.jsx";
-import YesNo from "./components/typeAnswer/YesNo.jsx"
+import YesNo from "./components/typeAnswer/YesNo.jsx";
import InputDate from "./components/typeAnswer/InputDate.jsx";
import InputMultipleRadio from "./components/typeAnswer/InputMultipleRadio.jsx";
import InputRadio from "./components/typeAnswer/InputRadio.jsx";
@@ -17,61 +17,63 @@ import DropDownList from "./components/typeAnswer/DropDownList.jsx";
import InputFile from "./components/typeAnswer/InputFile.jsx";
const App = () => {
- const navigate = useNavigate();
- const [forms, setForms] = useState([]);
- const [user, setUser] = useState(false);
- const [answersList, setAnswersList] = useState([]);
- const [listTypeAnswer, setListTypeAnswer] = useState([
- {id: 1, text: 'Краткий ответ', typeTag: InputText},
- {id: 2, text: 'Расширенный ответ', typeTag: TextArea},
- {id: 3, text: 'Выбор из вариантов', typeTag: InputRadio},
- {id: 4, text: 'Множественный выбор', typeTag: InputMultipleRadio},
- {id: 5, text: 'Выпадающий список', typeTag: DropDownList},
- {id: 6, text: 'Да/Нет', typeTag: YesNo},
- {id: 7, text: 'Файл', typeTag: InputFile},
- {id: 8, text: 'Дата', typeTag: InputDate}
- ]);
+ const navigate = useNavigate();
+ const [forms, setForms] = useState([]);
+ const [user, setUser] = useState(false);
+ const [answersList, setAnswersList] = useState([]);
+ const [listTypeAnswer, setListTypeAnswer] = useState([
+ { id: 1, text: "Краткий ответ", typeTag: InputText },
+ { id: 2, text: "Расширенный ответ", typeTag: TextArea },
+ { id: 3, text: "Выбор из вариантов", typeTag: InputRadio },
+ { id: 4, text: "Множественный выбор", typeTag: InputMultipleRadio },
+ { id: 5, text: "Выпадающий список", typeTag: DropDownList },
+ { id: 6, text: "Да/Нет", typeTag: YesNo },
+ { id: 7, text: "Файл", typeTag: InputFile },
+ { id: 8, text: "Дата", typeTag: InputDate },
+ ]);
- // useEffect(() => globalRender(window.location.pathname, user, navigate));
- const [cookies, _, __] = useCookies(["user"]);
+ // useEffect(() => globalRender(window.location.pathname, user, navigate));
+ const [cookies, _, __] = useCookies(["user"]);
- useEffect(() => {
- async function verifyUser() {
- const response = await verifyUserApi(cookies.token);
+ useEffect(() => {
+ async function verifyUser() {
+ const response = await verifyUserApi(cookies.token);
+ console.log("app", user);
- if (response) {
- if (response.status === 200) {
- setUser(response.data);
- }
- else {
- console.log(response)
- }
- }
+ if (response) {
+ if (response.status === 200) {
+ setUser(response.data);
+ } else {
+ console.log(response);
}
+ }
+ }
- verifyUser();
- }, [])
+ verifyUser();
+ }, []);
- return (
-
-
-
-
-
-
-
-
-
- )
-}
+ return (
+
+
+
+
+
+
+
+
+
+ );
+};
-export default App;
\ No newline at end of file
+export default App;
diff --git a/src/components/NavBar.jsx b/src/components/NavBar.jsx
index 462cc52..da19eaa 100644
--- a/src/components/NavBar.jsx
+++ b/src/components/NavBar.jsx
@@ -3,49 +3,46 @@ import { useCookies } from "react-cookie";
import classes from "../assets/styles/components/navbar.module.scss";
import { verifyUserApi } from "../hooks/api/enterAccountApi";
-const NavBar = ({navigate, auth, setAuth}) => {
- // const [cookies, _, __] = useCookies(["user"]);
+const NavBar = ({ navigate, auth, setAuth }) => {
+ useEffect(() => {
+ console.log("nav", auth);
+ });
- // useEffect(() => {
- // async function verifyUser() {
- // const response = await verifyUserApi(cookies.token);
-
- // if (response) {
- // if (response.status === 200) {
- // setAuth(response.data);
- // }
- // else {
- // console.log(response)
- // }
- // }
- // }
-
- // verifyUser()
- // }, []);
-
- return (
-
-
-
-
- navigate("/")}>Главная
- {auth ?
- auth.is_admin ? navigate("/forms")}>Мои формы : :
- }
-
-
-
- {auth ?
-
- navigate("/profile")}>Профиль ({auth.login})
-
:
-
- navigate("/enter")}>Вход
-
}
-
-
+ return (
+
+
+
+
+ navigate("/")}>Главная
+ {auth ? (
+ auth.is_admin ? (
+ navigate("/forms")}>Мои формы
+ ) : (
+
+ )
+ ) : (
+
+ )}
+
- )
-}
+
+ {auth ? (
+
+ navigate("/profile")}>
+ Профиль ({auth.login})
+
+
+ ) : (
+
+ navigate("/enter")}>
+ Вход
+
+
+ )}
+
+
+
+ );
+};
-export default NavBar;
\ No newline at end of file
+export default NavBar;
diff --git a/src/hooks/validation/enterAccountValidate.js b/src/hooks/validation/enterAccountValidate.js
index 6234291..52efee4 100644
--- a/src/hooks/validation/enterAccountValidate.js
+++ b/src/hooks/validation/enterAccountValidate.js
@@ -1,31 +1,38 @@
-const constructorAnswerValidate = (state, messageReject = "Ошибка", messageResolve = undefined) => {
- return state ?
- {
- status: true,
- message: messageResolve
- } :
- {
- status: false,
- message: messageReject
- }
-}
+const constructorAnswerValidate = (
+ state,
+ messageReject = "Ошибка",
+ messageResolve = undefined
+) => {
+ return state
+ ? {
+ status: true,
+ message: messageResolve,
+ }
+ : {
+ status: false,
+ message: messageReject,
+ };
+};
const totalRegisterValidate = (data) => {
- const listValidation = [
- constructorAnswerValidate(data.login.length, "Обязательное поле."),
- // constructorAnswerValidate(data.surname.length, "Обязательное поле."),
- // constructorAnswerValidate(data.email.length, "Обязательное поле."),
- // constructorAnswerValidate(data.phone.length, "Обязательное поле."),
- constructorAnswerValidate(data.password === data.repiedPassword, "Введенные пароли не совпадают."),
- constructorAnswerValidate(data.password >= 8, "Пароль должен иметь более 8 символов.")
- ]
+ const listValidation = [
+ constructorAnswerValidate(data.login.length, "Обязательное поле."),
+ // constructorAnswerValidate(data.surname.length, "Обязательное поле."),
+ // constructorAnswerValidate(data.email.length, "Обязательное поле."),
+ // constructorAnswerValidate(data.phone.length, "Обязательное поле."),
+ constructorAnswerValidate(
+ data.password === data.repiedPassword,
+ "Введенные пароли не совпадают."
+ ),
+ // constructorAnswerValidate(data.password >= 8, "Пароль должен иметь более 8 символов.")
+ ];
- for (let value of listValidation) {
- if (!value.status) {
- return value
- }
+ for (let value of listValidation) {
+ if (!value.status) {
+ return value;
}
- return { status: true }
-}
+ }
+ return { status: true };
+};
-export { totalRegisterValidate, constructorAnswerValidate }
\ No newline at end of file
+export { totalRegisterValidate, constructorAnswerValidate };
diff --git a/src/pages/EnterAccount.jsx b/src/pages/EnterAccount.jsx
index df00423..2a9b89a 100644
--- a/src/pages/EnterAccount.jsx
+++ b/src/pages/EnterAccount.jsx
@@ -49,18 +49,19 @@ const EnterAccount = () => {
});
if (response.status === 200) {
- setUser({
- email: email,
- phone: phone,
- login: login,
- surname: surname,
- patronymic: patronymic,
- password: password,
- });
+ // setUser({
+ // email: email,
+ // phone: phone,
+ // login: login,
+ // surname: surname,
+ // patronymic: patronymic,
+ // password: password,
+ // });
+ const responseMe = await verifyUserApi(response.data.token);
+ setUser(responseMe.data);
setCookie("token", response.data.token);
cleanState();
- window.location.reload();
- // navigate("/");
+ navigate("/");
} else {
console.log("Error");
}
@@ -71,13 +72,10 @@ const EnterAccount = () => {
if (response.status === 200) {
setCookie("token", response.data.token);
+ const responseMe = await verifyUserApi(response.data.token);
+ setUser(responseMe.data);
cleanState();
- // setUser({
- // login: login
- // })
- window.location.reload();
- // navigate("/")
- // window.location.reload()
+ navigate("/");
} else {
console.log(response);
}