'use client'; import React, { useState, useEffect } from 'react'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; interface SiteHeaderProps { signedIn: boolean; role: string; } export function SiteHeaderClient({ signedIn, role }: SiteHeaderProps) { const pathname = usePathname(); const [mobileMenuOpen, setMobileMenuOpen] = useState(false); useEffect(() => { setMobileMenuOpen(false); }, [pathname]); if (pathname?.includes('/manage') || pathname?.startsWith('/admin') || pathname?.startsWith('/ops')) return null; const navItems = [ { label: 'Live Cockpit', href: '/' }, { label: 'Features', href: '/features' }, { label: 'Group Rides', href: '/group-rides' }, { label: 'Pricing', href: '/pricing' }, { label: 'Hardware & App', href: '/pricing#hardware' }, ]; return (
{/* Left: Brand + Navigation */}
show_chart
MotorSignal PRO TELEMETRY
{/* Right: Telemetry Grid pill + Auth actions + Mobile Hamburger */}
{/* Telemetry Grid: Online Badge */}
Telemetry Grid: Online
{signedIn ? (
person
) : (
Sign In Get Started Free Get Started person
)} {/* Mobile Menu Hamburger Button */}
{/* Mobile Menu Drawer */} {mobileMenuOpen && (
Telemetry Grid: Online
{!signedIn && ( setMobileMenuOpen(false)} className="text-primary font-label-md text-label-md hover:underline py-1.5 px-2" > Sign In → )}
)}
); }