"use client"; import { BadgeCheck, Bell, ChevronsUpDown, LogOut } from "lucide-react"; import { useSelector } from "react-redux"; import { authApi } from "~/api/auth-api.service"; import { Avatar, AvatarFallback, AvatarImage } from "~/components/ui/avatar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "~/components/ui/dropdown-menu"; import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "~/components/ui/sidebar"; import { useAppDispatch } from "~/hooks/use-app-dispatch"; import type { RootState } from "~/store"; import { clearUser } from "~/store/slices/app.slice"; import { ConfirmAlert } from "./btn/confirm-alert"; import Loader from "./loader"; import { Button } from "./ui/button"; export function NavUser() { const { user } = useSelector((state: RootState) => state.app); const { isMobile } = useSidebar(); const dispatch = useAppDispatch(); const handleLogout = async () => { const response = await authApi.logout(); if (response?.data) { dispatch(clearUser()); location.reload(); } }; const fullname = (user: IUser) => { return `${user.first_name} ${user.last_name}`; }; if (!user) return ; return ( {user.first_name[0]}
{fullname(user)} {user.email}
CN
{fullname(user)} {user.email}
Account Notifications
); }