api requests
This commit is contained in:
parent
fe74490440
commit
5a1cc7c43c
22 changed files with 665 additions and 133 deletions
|
|
@ -1,18 +1,47 @@
|
|||
import React from 'react';
|
||||
import styles from './Account.module.css'
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import styles from './Account.module.css';
|
||||
import AccountImg from '../../assets/account.svg?react';
|
||||
import { getCurrentUser } from '../../api/AuthApi';
|
||||
|
||||
interface AccountProps {
|
||||
href: string;
|
||||
user: string;
|
||||
}
|
||||
|
||||
const Account: React.FC<AccountProps> = ({href, user}) => {
|
||||
const Account: React.FC<AccountProps> = ({ href }) => {
|
||||
const [userName, setUserName] = useState<string>();
|
||||
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();
|
||||
}, []);
|
||||
|
||||
if (isLoading) {
|
||||
return <div className={styles.account}>Загрузка...</div>;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={styles.account}>
|
||||
<a className={styles.accountText} href={href}>
|
||||
<AccountImg className={styles.accountImg}/>
|
||||
{user}
|
||||
{userName}
|
||||
</a>
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue