"use client"
import { useRouter } from "next/navigation"
import { useState } from "react"
import { useAuth } from "@/components/auth-provider"
import { useI18n } from "@/i18n/provider"
import { ChangePasswordDialog } from "@/components/change-password-dialog"
import { useNotifications } from "@/components/notification-provider"
import { Badge } from "@/components/ui/badge"
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 {
BellIcon,
EllipsisVerticalIcon,
KeyRoundIcon,
LogOutIcon
} from "lucide-react"
export function NavUser({
user,
}: {
user: {
name: string
email: string
avatar: string
}
}) {
const t = useI18n()
const { signOut } = useAuth()
const { unreadCount } = useNotifications()
const { isMobile } = useSidebar()
const router = useRouter()
const [changePasswordOpen, setChangePasswordOpen] = useState(false)
const fallback = user.name.slice(0, 1).toUpperCase() || "U"
return (
<>
}
>
{fallback}
{user.name}
{user.email}
{fallback}
{user.name}
{user.email}
{
router.push("/dashboard/notifications")
}}
className="gap-2"
>
{t("nav.notifications")}
{unreadCount > 0 ? (
{unreadCount > 99 ? "99+" : unreadCount}
) : null}
{
setChangePasswordOpen(true)
}}
>
{t("nav.changePassword")}
{
void signOut()
}}
>
{t("nav.signOut")}
>
)
}