import { Activity, GitCompareArrows, LayoutGrid, Search } from 'lucide-react'; import { useEffect, useState } from 'react'; import { Link } from 'wouter'; interface HeaderProps { lastUpdatedAt: number; sseConnected?: boolean; onSearchOpen?: () => void; onAppSwitcherOpen?: () => void; } export function Header({ lastUpdatedAt, sseConnected = false, onSearchOpen, onAppSwitcherOpen, }: HeaderProps) { const [time, setTime] = useState(new Date()); const [countdown, setCountdown] = useState(30); useEffect(() => { const timer = setInterval(() => { setTime(new Date()); }, 1000); return () => clearInterval(timer); }, []); useEffect(() => { setCountdown(30); if (sseConnected) return; const interval = setInterval(() => { setCountdown((prev) => (prev <= 1 ? 30 : prev - 1)); }, 1000); return () => clearInterval(interval); }, [lastUpdatedAt, sseConnected]); return (

ECOSYSTEM COMMAND

{onAppSwitcherOpen && ( )} {onSearchOpen && ( )} What Changed
{sseConnected ? (
LIVE
) : (
Refreshing in: {countdown}s
)}
{time.toISOString().replace('T', ' ').substring(0, 19)} UTC
); }