"use client"; import { BadgeCheck, Bell, Bird, ChevronsUpDown, CreditCard, FileTextIcon, LogOut, Sparkles, } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useState } from "react"; 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"; export function NavUser({ user, }: { user: { displayName: string; username: string; avatar: string; }; }) { const { isMobile } = useSidebar(); const router = useRouter(); const [loggingOut, setLoggingOut] = useState(false); const handleLogout = async () => { setLoggingOut(true); try { await fetch("/api/users/logout", { method: "POST" }); } catch { // ignore network errors; redirect anyway } finally { setLoggingOut(false); } router.push("/"); router.refresh(); }; return ( CN
{user.displayName} {user.username}
{user.username.substring(0, 2).toUpperCase()}
{user.displayName} {user.username}
Service Record Flight Simulator Account Notifications handleLogout()}> {loggingOut ? "Logging out..." : "Log out"}
); }