From d9ab6ac43c300868d89645c76e3cb5067af0684d Mon Sep 17 00:00:00 2001 From: andrei Date: Sat, 5 Oct 2024 10:45:17 +0500 Subject: [PATCH] ._. --- src/AuthContext.jsx | 8 ++++++-- src/api.jsx | 1 - src/components/Header.jsx | 21 +++++++++++---------- src/pages/Login.jsx | 9 +++++---- 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/AuthContext.jsx b/src/AuthContext.jsx index 7b3a501..a24c42b 100644 --- a/src/AuthContext.jsx +++ b/src/AuthContext.jsx @@ -11,13 +11,17 @@ export const AuthProvider = ({ children }) => { const savedAuth = localStorage.getItem("isAuthenticated"); return savedAuth === "true"; }); + const [user, setUser] = useState(null); - const login = () => { + const login = (userData) => { setIsAuthenticated(true); + setUser(userData); + localStorage.setItem("token", userData.token); }; const logout = () => { setIsAuthenticated(false); + setUser(null); localStorage.removeItem("token"); localStorage.removeItem("isAuthenticated"); }; @@ -27,7 +31,7 @@ export const AuthProvider = ({ children }) => { }, [isAuthenticated]); return ( - + {children} ); diff --git a/src/api.jsx b/src/api.jsx index 02dad8b..5b50b43 100755 --- a/src/api.jsx +++ b/src/api.jsx @@ -19,7 +19,6 @@ export const loginUser = async (loginData) => { Accept: "application/json", }, }); - console.log(response.data); return response.data; } catch (error) { console.log( diff --git a/src/components/Header.jsx b/src/components/Header.jsx index 55f4db9..7ea9b37 100644 --- a/src/components/Header.jsx +++ b/src/components/Header.jsx @@ -3,7 +3,7 @@ import { Link, useNavigate } from "react-router-dom"; import { useAuth } from "../AuthContext"; const Header = () => { - const { isAuthenticated, logout } = useAuth(); + const { isAuthenticated, logout, user } = useAuth(); const navigate = useNavigate(); const handleLogout = () => { @@ -24,18 +24,19 @@ const Header = () => { Home -
  • - - Accessories - -
  • {/* Добавьте другие ссылки, если необходимо */} -
    +
    {isAuthenticated ? ( - +
    + {user?.user.login}{" "} + +
    ) : ( Login diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx index ce3fcdd..542b606 100644 --- a/src/pages/Login.jsx +++ b/src/pages/Login.jsx @@ -1,22 +1,23 @@ +// app/src/pages/Login.jsx + import React, { useState } from "react"; import { loginUser } from "../api"; import { useNavigate } from "react-router-dom"; -import { useAuth } from "../AuthContext"; +import { useAuth } from "../AuthContext"; // Импортируйте useAuth const Login = () => { const [login, setLogin] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const navigate = useNavigate(); - const { login: authenticate } = useAuth(); + const { login: loginContext } = useAuth(); const handleSubmit = async (e) => { e.preventDefault(); try { const userData = await loginUser({ login, password }); - localStorage.setItem("token", userData.access_token); - authenticate(); + loginContext(userData); navigate("/"); } catch (error) { setError(error.detail ? error.detail : "Ошибка авторизации");