'use client'; import { useState, useEffect } from 'react'; interface OnlineUser { id: string; name: string; role: string; } export default function OnlineUsers() { const [users, setUsers] = useState([]); useEffect(() => { const load = async () => { try { const res = await fetch('/api/v1/health'); const data = await res.json(); // Approximate from WS stats const count = data.ws_active_users || 0; const mockUsers: OnlineUser[] = count > 0 ? [{ id: '1', name: 'Вы', role: 'admin' }] : []; setUsers(mockUsers); } catch { setUsers([]); } }; load(); const iv = setInterval(load, 30000); return () => clearInterval(iv); }, []); return (
{users.length > 0 ? `${users.length} онлайн` : 'Offline'}
); }