diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 52fbed8..84f99b0 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -15,32 +15,57 @@ import { import { createClient } from "@/lib/supabase/client"; import NotificationCenter from "@/components/NotificationCenter"; import LanguageSwitcher from "@/components/LanguageSwitcher"; +import AdSlot from "@/components/AdSlot"; -const navLinks = [ - { label: "NEWS", href: "/news" }, - { label: "GEAR & REVIEWS", href: "/gear" }, - { label: "SHOW COVERAGE", href: "/show-coverage" }, - { label: "TECHNOLOGY", href: "/technology" }, +interface NavItem { + label: string; + href: string; + dropdown?: { label: string; href: string }[]; +} + +const navLinks: NavItem[] = [ + { + label: "NEWS", + href: "/news", + dropdown: [ + { label: "Live Production", href: "/news?category=live-production" }, + { label: "IP & Cloud", href: "/news?category=ip-cloud" }, + { label: "AI & Automation", href: "/news?category=ai" }, + { label: "People", href: "/news?category=people" }, + ], + }, + { + label: "GEAR & REVIEWS", + href: "/gear", + dropdown: [ + { label: "Audio", href: "/gear?category=audio" }, + { label: "Cameras", href: "/gear?category=cameras" }, + { label: "Reviews", href: "/gear" }, + ], + }, + { + label: "SHOW COVERAGE", + href: "/show-coverage", + dropdown: [ + { label: "NAB Show", href: "/show-coverage" }, + { label: "IBC", href: "/show-coverage?event=ibc" }, + ], + }, + { + label: "TECHNOLOGY", + href: "/technology", + dropdown: [ + { label: "Storage & MAM", href: "/technology?category=storage" }, + { label: "Streaming", href: "/technology?category=streaming" }, + { label: "AI & Automation", href: "/technology?category=ai" }, + ], + }, { label: "NEWSLETTER", href: "/newsletter/archive" }, { label: "FORUM", href: "/forum" }, { label: "ADVERTISE", href: "/advertise" }, { label: "ABOUT", href: "/about" }, ]; -const categoryLinks = [ - { label: "Live Production", href: "/news?category=live-production" }, - { label: "IP & Cloud", href: "/news?category=ip-cloud" }, - { label: "Audio", href: "/gear?category=audio" }, - { label: "Cameras", href: "/gear?category=cameras" }, - { label: "Storage & MAM", href: "/technology?category=storage" }, - { label: "Streaming", href: "/technology?category=streaming" }, - { label: "AI & Automation", href: "/technology?category=ai" }, - { label: "NAB Show", href: "/show-coverage" }, - { label: "IBC", href: "/show-coverage?event=ibc" }, - { label: "People", href: "/news?category=people" }, - { label: "Reviews", href: "/gear" }, -]; - export default function Header() { const [scrolled, setScrolled] = useState(false); const [mobileOpen, setMobileOpen] = useState(false); @@ -56,7 +81,6 @@ export default function Header() { const mobileMenuRef = useRef(null); const hamburgerRef = useRef(null); const navLinksRef = useRef<(HTMLAnchorElement | null)[]>([]); - const categoryLinksRef = useRef<(HTMLAnchorElement | null)[]>([]); useEffect(() => { const handler = () => setScrolled(window.scrollY > 60); @@ -336,7 +360,14 @@ export default function Header() { - {/* MAIN NAV + CATEGORY SUB-NAV */} + {/* HEADER LEADERBOARD — site-wide 728x90 between utility bar and main nav */} +
+
+ +
+
+ + {/* MAIN NAV */}
- - {/* SECONDARY CATEGORY SUB-NAV */} -
);