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,
};