feat(userAccount): improve user profile handling with avatar upload and dynamic display name

This commit is contained in:
hamed
2026-06-19 11:05:43 +03:30
parent ea2c0c29ec
commit da05a4e13c
5 changed files with 103 additions and 65 deletions
+12 -2
View File
@@ -1,11 +1,21 @@
"use client";
import { useEffect, useState } from "react";
import CalendarAdD from "@/components/icons/CalendarAdD";
import CardTickD from "@/components/icons/CardTickD";
import { getParsedUserInfo } from "@/helper";
import Image from "next/image";
function Head({ user }) {
const userInfo = getParsedUserInfo() || {};
const displayName = userInfo.realName || user?.name || "کاربر";
// مقدار اولیه از prop سرور تا SSR و کلاینت یکسان باشند (جلوگیری از hydration mismatch)؛
// سپس در کلاینت نام واقعی از کوکی userInfo خوانده می‌شود.
const [displayName, setDisplayName] = useState(user?.name || "کاربر");
useEffect(() => {
const userInfo = getParsedUserInfo();
const name = userInfo?.realName || user?.name;
if (name) setDisplayName(name);
}, [user?.name]);
return (
<div className="hidden md:flex flex-col lg:flex-row w-full items-stretch justify-center gap-[12px] lg:gap-[24px]">