Files
frontend/src/components/layout/Header.tsx

83 lines
3.3 KiB
TypeScript

'use client';
import Link from 'next/link';
import Image from 'next/image';
import { useSession } from 'next-auth/react';
import { Button } from '../ui/Button';
export function Header() {
const { data: session } = useSession();
return (
<header className="bg-[#00293d] text-white">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex items-center justify-between h-20">
{/* Logo */}
<Link href="/" className="flex items-center gap-2">
<Image
src="/assets/logo-white.svg"
alt="RE-Quest"
width={150}
height={40}
className="h-10 w-auto"
/>
</Link>
{/* Navigation */}
<nav className="hidden md:flex items-center gap-8">
<Link href="/education" className="hover:text-[#f5a623] transition-colors">
Education
</Link>
<Link href="/about" className="hover:text-[#f5a623] transition-colors">
About Us
</Link>
<Link href="/faq" className="hover:text-[#f5a623] transition-colors">
FAQ&apos;s
</Link>
</nav>
{/* Right Side */}
<div className="flex items-center gap-4">
{session ? (
<>
{/* Notification Bell */}
<button className="p-2 hover:bg-white/10 rounded-full transition-colors">
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
</svg>
</button>
{/* Profile */}
<Link href="/user/userdashboard" className="p-2 hover:bg-white/10 rounded-full transition-colors">
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />
</svg>
</Link>
</>
) : (
<div className="flex items-center gap-3">
<Link href="/login">
<Button variant="outline" size="sm" className="border-white text-white hover:bg-white hover:text-[#00293d]">
Login
</Button>
</Link>
<Link href="/register">
<Button variant="primary" size="sm">
Sign Up
</Button>
</Link>
</div>
)}
{/* Mobile Menu Button */}
<button className="md:hidden p-2 hover:bg-white/10 rounded-lg transition-colors">
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 6h16M4 12h16M4 18h16" />
</svg>
</button>
</div>
</div>
</div>
</header>
);
}