// --- Reusable primitives --- const { useState, useEffect, useRef, useMemo, useCallback } = React; function LivePill({ live }) { if (live) { return ( LIVE NOW ); } return OFFLINE — παίρνω καφέ; } function Stars({ n }) { return ( {'★'.repeat(n)}{'☆'.repeat(5 - n)} ); } function TopBar({ live, theme }) { const [now, setNow] = useState(() => new Date()); useEffect(() => { const id = setInterval(() => setNow(new Date()), 1000); return () => clearInterval(id); }, []); const pad = (n) => String(n).padStart(2, '0'); const time = `${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(now.getSeconds())}`; return (