'use client' import { useRef } from 'react' import Link from 'next/link' import { Settings, Sun, Globe, LogOut } from 'lucide-react' import { logoutAction } from '@/actions/auth' import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' import { Badge } from '@/components/ui/badge' import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' const ROLE_LABELS: Record = { PRODUCT_OWNER: 'Product Owner', SCRUM_MASTER: 'Scrum Master', DEVELOPER: 'Developer', } interface UserMenuProps { userId: string username: string email: string | null roles: string[] } export function UserMenu({ userId, username, email, roles }: UserMenuProps) { const initials = username.slice(0, 2).toUpperCase() const roleLabels = roles.map((r) => ROLE_LABELS[r]).filter(Boolean) const subtitle = email?.trim() ? email.trim() : 'Lokaal account' const logoutFormRef = useRef(null) return ( {initials}
{initials}
{username}
{subtitle}
{roleLabels.length > 0 && ( <> Rollen
{roleLabels.join(', ')}
)} }> Instellingen Thema: licht Binnenkort Taal: Nederlands Binnenkort logoutFormRef.current?.requestSubmit()} className="cursor-pointer" > Uitloggen
) }