// File: components/layout/user-nav.tsx 'use client'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { signOut, useSession } from 'next-auth/react'; import { useRouter } from 'next/navigation'; export function UserNav() { const { data: session } = useSession(); const router = useRouter(); // Helper function to get initials from name const getInitials = (name: string) => { return ( name ?.split(' ') .map((n) => n[0]) .join('') .toUpperCase() .substring(0, 2) || 'US' ); }; const userName = session?.user?.name || 'User'; const userEmail = session?.user?.email || 'user@example.com'; // ใช้ role หรือ organization หากมีใน session (ต้องแก้ type ใน next-auth.d.ts แล้ว) const userRole = session?.user?.role || 'Viewer'; const handleLogout = async () => { await signOut({ redirect: false }); router.push('/login'); }; return (

{userName}

{userEmail}

{userRole}

router.push('/profile')}> Profile ⇧⌘P router.push('/settings')}> Settings ⌘S Log out ⇧⌘Q
); }