"use client" import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faUser } from '@fortawesome/free-solid-svg-icons'; import Image from 'next/image'; import { useEffect, useState } from 'react'; import { getAccessToken, clearAuthTokens } from '@/lib/auth'; import { useTranslation } from 'react-i18next'; import LanguageSwitcher from './LanguageSwitcher'; import { apiUrl } from '@/lib/api'; const Header = () => { const [userName, setUserName] = useState(''); const { t } = useTranslation(); useEffect(() => { async function fetchUser() { const token = getAccessToken(); if (!token) return; try { const response = await fetch(apiUrl('/api/user/getUser'), { method: 'GET', headers: { Authorization: `Bearer ${token}` }, }); if (!response.ok) return; const data = await response.json(); // Try both student and professor shape if (data?.personalInfo) { const p = data.personalInfo; setUserName([p.firstName, p.middleName, p.lastName].filter(Boolean).join(' ')); } } catch {} } fetchUser(); return () => {}; }, []); const handleLogout = () => { clearAuthTokens(); if (typeof window !== 'undefined') { window.location.href = '/'; } }; return (
{/* Left side - Logos and University Info */}
{/* UKIM Logo */}
UKIM Logo
{/* FINKI Logo */}
FINKI Logo
{/* University Text */}
{t('university')}
{t('faculty')}
{/* Right side - User Profile */}
{/* Language Switcher - now left of user info */}
{/* User Avatar */}
{/* User Name */}
{userName || '...'}
{/* Logout Button - more stylish and full width on mobile */}
); }; export default Header;