'use client'; import Link from "next/link"; import Image from "next/image"; import { useBranding } from "@/context/BrandingContext"; import { useAuth } from "@/context/AuthContext"; import { useTranslation } from "@/context/I18nContext"; import { LogOut, Globe, Menu, X, Sun, Moon } from "lucide-react"; import NotificationCenter from "./NotificationCenter"; import { useState } from "react"; import { useTheme } from "@/context/ThemeContext"; import { lmsApi, getImageUrl } from "@/lib/api"; export default function AppHeader() { const { t, language, setLanguage } = useTranslation(); const { branding } = useBranding(); const { user, logout } = useAuth(); const { theme, toggleTheme } = useTheme(); const [isMenuOpen, setIsMenuOpen] = useState(false); // Use platform_name if available, otherwise name, otherwise default const platformName = branding?.platform_name || branding?.name || 'OpenCCB'; return (
{branding?.logo_url ? ( ) : ( )}
{branding?.logo_variant !== 'wide' && ( )}
{user?.full_name?.charAt(0) || 'U'}
{/* Mobile Menu Button */}
{/* Mobile Sidebar Overlay */} {isMenuOpen && (
setIsMenuOpen(false)} >
e.stopPropagation()} >
Menú
setIsMenuOpen(false)} className="flex items-center gap-3 px-4 py-3 rounded-xl hover:bg-white/5 transition-colors" > {user?.full_name || 'Mi Perfil'}
)}
); }