// Tela 1 — Visão geral dos pontos. const DSv = window.WiFi_eeb21e; const { Card: CardV, CardContent: CardContentV, Badge: BadgeV, Separator: SepV } = DSv; const { Dot: DotV, BtnMini: BtnMiniV, TermoDica: TermoV } = window; function KV({ k, children }) { return
{k}
{children}
; } function TelaVisaoGeral({ go }) { const { dados, carregando, erro, recarrega } = window.useCarrega(() => window.GestaoAPI.visao(), []); const meta = window.GESTAO_META; return {(() => { const sites = (dados && dados.sites) || {}; return
{Object.keys(meta).map(slug => { const s = { ...meta[slug], ...(sites[slug] || {}) }; const devices = s.devices || []; const online = devices.filter(d => d.status === 'online').length; const geral = s.status || (devices.length && online === devices.length ? 'online' : 'aviso'); return
{s.label}
{s.tipo}
{s.host} · {s.hw}
{`${online}/${devices.length} online`} {s.clientes != null ? `${s.clientes} agora` : '—'} {s.rede} {(s.portal || {}).tipo === 'charles' ? Portal CHARLES{s.portal.nota} : migração pendente{s.portal.nota}}
{devices.map((d, i) =>
{d.nome} {d.host} {d.linha}
)}
go('inventario', slug)}>Dispositivos go('listabranca', slug)}>Lista branca go('ssids', slug)}>SSIDs
; })}
; })()}
; } window.TelaVisaoGeral = TelaVisaoGeral;