"use client"; import { useEffect, useRef, useState } from "react"; import { getParsedUserInfo, imageUrl } from "@/helper"; import { request } from "@/services/response"; import { toast } from "react-toastify"; import Image from "next/image"; function Head() { const [userInfo, setUserInfo] = useState(null); const [avatar, setAvatar] = useState(""); const [uploading, setUploading] = useState(false); const fileRef = useRef(null); useEffect(() => { const parsed = getParsedUserInfo(); setUserInfo(parsed); if (parsed?.uuid) { request .getUserProfile(parsed.uuid) .then((res) => { const profile = res?.data?.data ?? res?.data; if (profile?.avatar) setAvatar(profile.avatar); }) .catch(() => {}); } }, []); const handleAvatarChange = async (e) => { const file = e.target.files?.[0]; if (!file) return; setUploading(true); try { const res = await request.uploadUserAvatar(file); const url = res?.data?.avatar || res?.data?.url; if (url) { setAvatar(url); toast.success("عکس پروفایل به‌روزرسانی شد"); } } catch { toast.error("خطا در آپلود عکس"); } finally { setUploading(false); if (fileRef.current) fileRef.current.value = ""; } }; return (
{avatar ? ( profile ) : (
{userInfo?.realName?.trim()?.[0] ?? "؟"}
)}

{userInfo?.realName}

); } export default Head;