"use client"; import { useState } from "react"; import Link from "next/link"; import { LayoutDashboard, Lock, LogOut, Settings } from "lucide-react"; import { signOut, useSession } from "next-auth/react"; import { useTranslations } from "next-intl"; import { Drawer } from "vaul"; import { useMediaQuery } from "@/hooks/use-media-query"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { UserAvatar } from "@/components/shared/user-avatar"; import { Badge } from "../ui/badge"; export function UserAccountNav() { const { data: session } = useSession(); const user = session?.user; const [open, setOpen] = useState(false); const closeDrawer = () => { setOpen(false); }; const { isMobile } = useMediaQuery(); const t = useTranslations("System"); if (!user) return (
); if (isMobile) { return ( setOpen(true)}>

{user.name || "Anonymous"}

{user.team}
{user.email && (

{user?.email}

)}
    {user.role === "ADMIN" ? (
  • {t("Admin")}

  • ) : null}
  • {t("Dashboard")}

  • {t("Settings")}

  • { event.preventDefault(); signOut({ callbackUrl: `${window.location.origin}/`, }); }} >

    {t("Log out")}

); } return (

{user.name || "Anonymous"}

{user.team}
{user.email && (

{user?.email}

)}
{user.role === "ADMIN" ? (

{t("Admin")}

) : null}

{t("Dashboard")}

{t("Settings")}

{ event.preventDefault(); signOut({ callbackUrl: `${window.location.origin}/`, }); }} >

{t("Log out")}

); }