import { useCallback, useEffect, useState } from 'react' import { getActiveEvSessions, type ActiveEvSessionRow } from '../api/backend' const POLL_MS = 30_000 export function useEVSessions(siteId: number | null) { const [sessions, setSessions] = useState([]) const [ready, setReady] = useState(false) const [error, setError] = useState(null) const load = useCallback(async () => { if (siteId == null) { setSessions([]) setReady(true) return } try { const rows = await getActiveEvSessions(siteId) setSessions(rows) setError(null) } catch { setSessions([]) setError('EV session se nepodařilo načíst') } finally { setReady(true) } }, [siteId]) useEffect(() => { void load() if (siteId == null) return const id = window.setInterval(() => void load(), POLL_MS) return () => window.clearInterval(id) }, [load, siteId]) return { sessions, ready, error, reload: load } }