feat(userAccount): improve user profile handling with avatar upload and dynamic display name
This commit is contained in:
@@ -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]">
|
||||
|
||||
Reference in New Issue
Block a user