import { useEffect, useState } from 'react'; import { get, post } from '../api'; import PageLayout from '../components/PageLayout'; export default function ElectricalNetwork() { const [loading, setLoading] = useState(true); const [msg, setMsg] = useState(''); const [error, setError] = useState(''); const [monitor, setMonitor] = useState({ voltage: '', current: '', quality: '' }); const [alerts, setAlerts] = useState(false); const [security, setSecurity] = useState({ earthFault: false, rcm: false }); const [loadBalancing, setLoadBalancing] = useState({ enabled: false, currentLimit: 32 }); const [solar, setSolar] = useState({ capacity: 0, useSolar: false, handleExcess: false }); useEffect(() => { const load = async () => { try { const cfg = await get('/api/v1/config/electrical'); if (cfg.monitor) setMonitor(cfg.monitor); if (cfg.alerts !== undefined) setAlerts(cfg.alerts); if (cfg.security) setSecurity(cfg.security); if (cfg.loadBalancing) setLoadBalancing(cfg.loadBalancing); if (cfg.solar) setSolar(cfg.solar); } catch { // endpoint opcional } finally { setLoading(false); } }; load(); }, []); const save = async () => { setMsg(''); setError(''); try { const body = { monitor, alerts, security, loadBalancing, solar }; await post('/api/v1/config/electrical', body); setMsg('Configuração gravada com sucesso!'); } catch { setError('Erro ao gravar configuração.'); } }; return ( {msg &&
{msg}
} {error &&
{error}
} {loading ? (

A carregar...

) : (
{ e.preventDefault(); save(); }}>

Monitoramento da Rede Elétrica

setMonitor({ ...monitor, voltage: e.target.value })} />
setMonitor({ ...monitor, current: e.target.value })} />
setMonitor({ ...monitor, quality: e.target.value })} />

Proteção de Segurança Elétrica

Balanceamento de Carga

setLoadBalancing({ ...loadBalancing, currentLimit: e.target.value })} />

Energia Solar

setSolar({ ...solar, capacity: e.target.value })} />
)}
); }