'use client'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { User } from '@/lib/session'; import { fetchPreferences } from '@/lib/storage'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { Cigarette, Leaf, LogOut, Home, ChevronDown } from 'lucide-react'; interface UserHeaderProps { user: User; } export function UserHeader({ user }: UserHeaderProps) { const [userName, setUserName] = useState(null); const router = useRouter(); useEffect(() => { const loadUserName = async () => { const prefs = await fetchPreferences(); setUserName(prefs.userName); }; loadUserName(); }, []); const initials = [user.firstName?.[0], user.lastName?.[0]] .filter(Boolean) .join('') .toUpperCase() || user.email[0].toUpperCase(); const handleLogout = () => { window.location.href = '/api/auth/logout'; }; const handleNavigate = (path: string) => { router.push(path); }; return (

handleNavigate('/')} > QuitTraq

{userName && (

Welcome {userName}, you got this!

)}
handleNavigate('/')}> Dashboard handleNavigate('/track/nicotine')}> Track Nicotine Usage handleNavigate('/track/marijuana')}> Track Marijuana Usage Sign out
{userName && (

Welcome {userName}, you got this!

)}
); }