Добавлены компоненты для управления профилем пользователя, включая редактирование личной информации, смену пароля и настройки уведомлений. Обновлен контекст пользователя для хранения имени и фамилии. Обновлены стили для страницы аккаунта и компонентов.

This commit is contained in:
Redsandyg
2025-06-03 20:38:11 +03:00
parent 0e024b00a1
commit 582f5330c8
15 changed files with 1110 additions and 52 deletions

View File

@@ -4,6 +4,7 @@ import { usePathname } from "next/navigation";
import styles from "../styles/navigation.module.css";
import Cookies from "js-cookie";
import { useEffect, useState } from "react";
import { useUser } from "./UserContext";
interface NavItem {
id: string;
@@ -20,6 +21,7 @@ const navItems: NavItem[] = [
const Navigation: React.FC = () => {
const pathname = usePathname();
const [login, setLogin] = useState<string>("");
const { firstName, surname } = useUser();
useEffect(() => {
if (typeof document !== "undefined") {
@@ -48,8 +50,14 @@ const Navigation: React.FC = () => {
))}
</div>
<div className={styles.profile}>
<div className={styles.avatar}>{login ? login.slice(0, 2).toUpperCase() : "ПП"}</div>
<span className={styles.profileName}>{login ? login : "Партнер RE:Premium"}</span>
<Link href="/account" style={{ display: 'flex', alignItems: 'center', gap: 12, textDecoration: 'none' }}>
<div className={styles.avatar}>
{firstName && surname ? `${firstName[0]}${surname[0]}`.toUpperCase() : (login ? login.slice(0, 2).toUpperCase() : "ПП")}
</div>
<span className={styles.profileName}>
{firstName && surname ? `${firstName} ${surname}` : (login ? login : "Партнер RE:Premium")}
</span>
</Link>
</div>
</nav>
);