// components/HeaderClient.tsx "use client"; import React, { useState } from "react"; import Link from "next/link"; import Image from "next/image"; import { FiChevronDown, FiClipboard, FiArrowRight, FiMenu, FiX, FiLogIn, FiUsers, // Resource Augmentation FiBriefcase, // Project Management FiCpu, // Product Development FiBox, // OBSE FiFileText, // Vacancies FiUserCheck, // Recruitment Portal } from "react-icons/fi"; import ThemeToggle from "./ThemeToggle"; import type { Session } from "@auth/core/types"; const omsLogoUrl = "/oms-logo.svg"; type DropdownMenuProps = { trigger: React.ReactNode; children: React.ReactNode; menuClasses?: string; }; const DropdownMenu = ({ trigger, children, menuClasses = "w-48", }: DropdownMenuProps) => (
{children}
); type DropdownLinkProps = { href: string; children: React.ReactNode; onClick?: () => void; }; const DropdownLink = ({ href, children, onClick }: DropdownLinkProps) => ( {children} ); type HeaderClientProps = { session: Session | null; handleSignIn: () => void; handleSignOut: () => void; }; const HeaderClient = ({ session, handleSignIn, handleSignOut, }: HeaderClientProps) => { const [isMenuOpen, setIsMenuOpen] = useState(false); const toggleMenu = () => setIsMenuOpen((open) => !open); const handleMobileLinkClick = () => setIsMenuOpen(false); const megaMenuTriggerClasses = ` relative inline-flex items-center text-sm font-medium text-primary-foreground group hover:opacity-90 transition-opacity duration-150 ease-in-out pb-1 after:content-[''] after:absolute after:left-0 after:bottom-0 after:h-[2px] after:w-0 after:bg-primary-foreground/80 after:transition-all after:duration-300 after:ease-out group-hover:after:w-full group-focus-within:after:w-full `; const megaMenuItemClasses = ` flex items-center p-3 -m-3 rounded-lg hover:bg-secondary transition-colors duration-150 ease-in-out group `; const megaMenuIconClasses = `flex-shrink-0 h-6 w-6 text-primary group-hover:text-primary-focus mr-4`; const megaMenuTextWrapperClasses = `text-sm`; const megaMenuTitleClasses = `font-semibold text-card-foreground`; return (
{/* Top Row */}
OMS Logo Owethu Managed Services
Request OBSE Demo {session?.user ? ( {session.user.name {session.user.name?.split(" ")[0]}
} > ) : ( )}
{/* Secondary Row w/ Mega Menus */}
{/* ← Here’s the Explore Our Offerings link, back in its original spot */} Explore Our Offerings
{/* Mobile Menu */}
); }; export default HeaderClient;