"use client"; import Link from "next/link"; import { useEffect, useRef, useState } from "react"; import { ChevronDown, UserIcon } from "./icons"; import { BUSINESS_PORTAL_URL, CUSTOMER_PORTAL_URL } from "@/lib/config"; import { displayName, isAdmin } from "@/lib/authUser"; import type { AuthUser } from "@/lib/types"; // Desktop header account control. Anonymous: a plain link to the customer // portal's login/register. Signed in: "نام عزیز" + a dropdown with پروفایل // من / خروج, plus مدیریت وبسایت when the session looks like an admin's. export default function AccountMenu({ user }: { user: AuthUser | null }) { const [open, setOpen] = useState(false); const ref = useRef(null); useEffect(() => { const onClick = (e: MouseEvent) => { if (!ref.current?.contains(e.target as Node)) setOpen(false); }; document.addEventListener("mousedown", onClick); return () => document.removeEventListener("mousedown", onClick); }, []); if (!user) { return ( ورود | ثبت نام ); } return (
{open && (
پروفایل من {isAdmin(user) && ( مدیریت وبسایت )} خروج
)}
); }