import { useState } from 'react';
import { User, LogOut, LayoutDashboard, LogIn } from 'lucide-react';
import { API_BASE_URL } from '../utils/request';
interface UserAuthProps {
user: any;
onOpenAuth: () => void;
onLogout: () => void;
onNavigateToAdmin: () => void;
}
export function UserAuth({ user, onOpenAuth, onLogout, onNavigateToAdmin }: UserAuthProps) {
const [showUserMenu, setShowUserMenu] = useState(false);
if (!user) {
return (
);
}
// Helper to get full avatar URL
const getAvatarUrl = () => {
if (!user?.avatar_url) return null;
return `/upload/${user.avatar_url}`;
};
return (
{/* Overlay for closing menu */}
{showUserMenu && (
setShowUserMenu(false)}
/>
)}
{/* Dropdown Menu */}
{showUserMenu && (
{user.avatar_url ? (
})
) : (
)}
{user.full_name || user.username}
{user.email}
)}
);
}