// src/pages/OCPP.jsx import React, { useState, useEffect } from 'react'; import { get, post } from '../api'; import PageLayout from '../components/PageLayout'; const OCPP = () => { const [status, setStatus] = useState(null); const [loading, setLoading] = useState(true); const [config, setConfig] = useState({ url: '', chargeBoxId: '', certificate: '', privateKey: '', }); const [msg, setMsg] = useState(''); useEffect(() => { const load = async () => { try { const data = await get('/api/v1/ocpp'); setStatus(data); } catch { // ignore errors } try { const cfg = await get('/api/v1/config/ocpp'); setConfig(cfg); } catch {} setLoading(false); }; load(); }, []); const save = async () => { setMsg(''); try { await post('/api/v1/config/ocpp', config); setMsg('Configuração gravada com sucesso!'); } catch { setMsg('Erro ao gravar configuração.'); } }; return ( {loading ? (

A carregar...

) : ( <> {status && (

Versão: {status.ocpp_version}

Status: {status.status}

)} {msg &&
{msg}
}
{ e.preventDefault(); save(); }}>
setConfig({ ...config, url: e.target.value })} />
setConfig({ ...config, chargeBoxId: e.target.value })} />