fix get user
This commit is contained in:
parent
b4125d2642
commit
2d129c0493
2 changed files with 31 additions and 15 deletions
|
|
@ -30,6 +30,7 @@ export const getCurrentUser = async () => {
|
||||||
|
|
||||||
if (response.status === 401) {
|
if (response.status === 401) {
|
||||||
localStorage.removeItem("token");
|
localStorage.removeItem("token");
|
||||||
|
localStorage.removeItem("user");
|
||||||
throw new Error("Сессия истекла. Пожалуйста, войдите снова.");
|
throw new Error("Сессия истекла. Пожалуйста, войдите снова.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -57,7 +58,8 @@ export const registerUser = async (data: IRegistrationData) => {
|
||||||
localStorage.setItem("token", responseData.accessToken);
|
localStorage.setItem("token", responseData.accessToken);
|
||||||
localStorage.setItem("user", JSON.stringify({
|
localStorage.setItem("user", JSON.stringify({
|
||||||
firstName: data.firstName,
|
firstName: data.firstName,
|
||||||
lastName: data.lastName
|
lastName: data.lastName,
|
||||||
|
email: data.email
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -79,13 +81,11 @@ export const authUser = async (data: IAuthData) => {
|
||||||
const token = responseData.accessToken || responseData.token;
|
const token = responseData.accessToken || responseData.token;
|
||||||
if (token) {
|
if (token) {
|
||||||
localStorage.setItem("token", token);
|
localStorage.setItem("token", token);
|
||||||
const user = localStorage.getItem("user");
|
|
||||||
if (!responseData.user && user) {
|
|
||||||
responseData.user = JSON.parse(user);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (responseData.user) {
|
if (responseData.user) {
|
||||||
localStorage.setItem("user", JSON.stringify(responseData.user));
|
localStorage.setItem("user", JSON.stringify(responseData.user));
|
||||||
|
} else {
|
||||||
|
const userData = await getCurrentUser();
|
||||||
|
localStorage.setItem("user", JSON.stringify(userData));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,20 +11,36 @@ const Account: React.FC<AccountProps> = ({ href }) => {
|
||||||
const [userName, setUserName] = useState<string>();
|
const [userName, setUserName] = useState<string>();
|
||||||
const [isLoading, setIsLoading] = useState(true);
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
|
|
||||||
|
// useEffect(() => {
|
||||||
|
// const fetchUserData = async () => {
|
||||||
|
// try {
|
||||||
|
// const userData = localStorage.getItem("user");
|
||||||
|
//
|
||||||
|
// if (userData) {
|
||||||
|
// const parsedData = JSON.parse(userData);
|
||||||
|
// setUserName(`${parsedData.firstName} ${parsedData.lastName}`);
|
||||||
|
// } else {
|
||||||
|
// const data = await getCurrentUser();
|
||||||
|
// setUserName(`${data.firstName} ${data.lastName}`);
|
||||||
|
// }
|
||||||
|
// } catch (error) {
|
||||||
|
// console.error("Ошибка загрузки данных пользователя:", error);
|
||||||
|
// } finally {
|
||||||
|
// setIsLoading(false);
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// fetchUserData();
|
||||||
|
// }, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const fetchUserData = async () => {
|
const fetchUserData = async () => {
|
||||||
try {
|
try {
|
||||||
const userData = localStorage.getItem("user");
|
const userData = await getCurrentUser();
|
||||||
|
setUserName(`${userData.firstName} ${userData.lastName}`);
|
||||||
if (userData) {
|
|
||||||
const parsedData = JSON.parse(userData);
|
|
||||||
setUserName(`${parsedData.firstName} ${parsedData.lastName}`);
|
|
||||||
} else {
|
|
||||||
const data = await getCurrentUser();
|
|
||||||
setUserName(`${data.firstName} ${data.lastName}`);
|
|
||||||
}
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Ошибка загрузки данных пользователя:", error);
|
console.error("Ошибка загрузки данных пользователя:", error);
|
||||||
|
localStorage.removeItem("user");
|
||||||
} finally {
|
} finally {
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue