import { useEffect, useState } from "react"; import { useSquadStore } from "@/store/useSquadStore"; import { formatElapsed } from "@/lib/formatTime"; export function StatusBar() { const selectedSquad = useSquadStore((s) => s.selectedSquad); const state = useSquadStore((s) => s.selectedSquad ? s.activeStates.get(s.selectedSquad) : undefined ); const isConnected = useSquadStore((s) => s.isConnected); // Elapsed timer const [elapsed, setElapsed] = useState(0); useEffect(() => { if (!state?.startedAt) { setElapsed(0); return; } const startTime = new Date(state.startedAt).getTime(); const tick = () => setElapsed(Date.now() - startTime); tick(); const interval = setInterval(tick, 1000); return () => clearInterval(interval); }, [state?.startedAt]); if (!selectedSquad || !state) { return ( ); } return ( ); } function ConnectionDot({ connected }: { connected: boolean }) { return ( ); } const footerStyle: React.CSSProperties = { display: "flex", alignItems: "center", justifyContent: "space-between", padding: "8px 16px", borderTop: "1px solid var(--border)", background: "var(--bg-sidebar)", fontSize: 13, height: 40, minHeight: 40, };