/* global React, Icon, Reveal, CountUp */ const { useEffect: useEffectMid, useState: useStateMid } = React; /* =========================================================== Dashboard mockup =========================================================== */ function Dashboard() { // Live-ish data simulation const [now, setNow] = useStateMid(8.42); useEffectMid(() => { const id = setInterval(() => { setNow((v) => Math.max(6.5, Math.min(9.8, v + (Math.random() - 0.5) * 0.3))); }, 1800); return () => clearInterval(id); }, []); // sparkline data — hours of the day const hours = Array.from({ length: 24 }, (_, h) => { if (h < 7 || h > 19) return 0; const peak = 12; const v = Math.max(0, 9 - Math.abs(h - peak) * 1.1); return v + (Math.sin(h * 1.3) * 0.4); }); const maxH = Math.max(...hours); return (

04 — Plataforma de monitoreo

Lo que ve tu equipo después de la puesta en marcha.

Dashboard 24/7 con producción en tiempo real, ahorro acumulado, alertas operacionales y reportes exportables. Acceso por usuario y por planta para grupos multi-sitio.

{/* Window chrome */}
monitor.slf.cl / planta · MAULE-AGRO-04 ● en línea
{/* Header row */}

Planta Agroindustrial · Linares, Maule

MAULE-AGRO-04 · 1.840 kWp

100% disponibilidad Vivo · 12:42
{/* KPI row */}
{/* Chart */}

Curva de generación · hoy

Real Esperado
{/* Bar chart */}
{hours.map((v, h) => (
0 ? 'rgba(255,184,0,.6)' : 'transparent'), borderRadius: 2, minHeight: v > 0 ? 4 : 0, transition: 'height .4s', }} /> {h.toString().padStart(2, '0')}
))}
{/* Bottom row */}

Inversores · 4 strings

{[ { id: 'INV-01', val: 412, st: 'ok' }, { id: 'INV-02', val: 408, st: 'ok' }, { id: 'INV-03', val: 415, st: 'ok' }, { id: 'INV-04', val: 397, st: 'warn' }, ].map((inv) => (
{inv.id}
{inv.val} kW
{inv.st === 'warn' ? '● aviso menor' : '● ok'}
))}

Alertas activas

INV-04 · derate 4%

11:38 — revisión programada jue.

Limpieza completada · sector B

ayer 17:20 — ganancia +2.1%

); } function DashKpi({ label, value, unit, big, accent, green }) { return (
{label}
{value}{unit}
); } /* =========================================================== Casos de éxito =========================================================== */ function Cases() { const cases = [ { sector: 'Agroindustria', where: 'Linares · Maule', title: 'Frutícola exportadora · Riego y frío', kwp: 1840, saving: 38, payback: 5.4, placeholder: 'Fotografía real de planta SLF — agroindustria, Maule. Pendiente de autorización.', href: 'SLF Energia - Caso Antofagasta.html', }, { sector: 'Manufactura', where: 'Quilicura · RM', title: 'Industria de envases · Autoconsumo', kwp: 980, saving: 31, payback: 6.8, placeholder: 'Fotografía real de cubierta SLF — manufactura, RM. Pendiente de autorización.', href: 'SLF Energia - Caso Antofagasta.html', }, { sector: 'Minería (proveedor)', where: 'Antofagasta', title: 'Servicios mineros · Faena remota', kwp: 2450, saving: 44, payback: 4.4, placeholder: 'Fotografía real de instalación SLF — proveedor minería, II Región. Pendiente.', href: 'SLF Energia - Caso Antofagasta.html', }, ]; return (

05 — Casos de éxito

Proyectos en operación, no renders.

Ver todos los casos
{cases.map((c, i) => (
{c.sector} {c.placeholder}

{c.where}

{c.title}

kWp instalados
ahorro mensual
años payback
Leer caso completo
))}
); } /* =========================================================== Sector público y licitaciones =========================================================== */ function PublicSector() { return (
); } Object.assign(window, { Dashboard, Cases, PublicSector });