TypeScript · 2074 bytes Raw Blame History
1 import Link from 'next/link';
2
3 interface BreadcrumbItem {
4 label: string;
5 href?: string;
6 }
7
8 interface HeaderProps {
9 breadcrumbs: BreadcrumbItem[];
10 showSearch?: boolean;
11 showIndex?: boolean;
12 }
13
14 export default function Header({ breadcrumbs, showSearch = true, showIndex = true }: HeaderProps) {
15 return (
16 <header className="bg-[#AE122A] shadow-lg">
17 <div className="max-w-6xl mx-auto px-4 py-6">
18 <div className="flex justify-between items-center">
19 {/* Breadcrumb Navigation */}
20 <nav className="flex items-center space-x-3 text-white flex-wrap">
21 {breadcrumbs.map((item, index) => (
22 <div key={index} className="flex items-center">
23 {item.href ? (
24 <Link
25 href={item.href}
26 className="text-[#FFD619] hover:text-white transition-colors"
27 >
28 {item.label}
29 </Link>
30 ) : (
31 <span className="font-semibold">{item.label}</span>
32 )}
33 {index < breadcrumbs.length - 1 && (
34 <span className="text-[#FFD619] ml-3"></span>
35 )}
36 </div>
37 ))}
38 </nav>
39
40 {/* Right Navigation */}
41 {(showSearch || showIndex) && (
42 <div className="flex items-center space-x-4">
43 {showSearch && (
44 <Link
45 href="/memorial/search"
46 className="text-[#FFD619] hover:text-white transition-colors font-semibold"
47 >
48 Search Memorial
49 </Link>
50 )}
51 {showIndex && (
52 <Link
53 href="/memorial"
54 className="bg-[#FFD619] text-[#AE122A] px-6 py-2 rounded font-bold hover:bg-white transition-colors shadow-md"
55 >
56 View Complete Index
57 </Link>
58 )}
59 </div>
60 )}
61 </div>
62 </div>
63 </header>
64 );
65 }