function PageDashboard({pushToast, onNav}){ const I = window.Icons; const D = window.FLUXData; const [period, setPeriod] = React.useState('mes'); const kpis = [ { label:'Quiebres objetivo', value:'-78%', icon:'Target', delta:18, deltaDir:'down', sub:'vs. mes anterior', spark:[55,52,48,42,38,32,28,22] }, { label:'Sincronización', value:'Tiempo real', icon:'Sync', sub:'Datos actualizados', status:'live' }, { label:'Reportes manuales', value:'0', icon:'Doc', delta:100, deltaDir:'down', sub:'vs. mes anterior', spark:[12,10,8,6,4,2,1,0] }, { label:'Tiempo estimado', value:'4 sem', icon:'Calendar', delta:11, deltaDir:'down', sub:'vs. mes anterior', spark:[8,7,7,6,5,5,4,4] }, ]; return ( <>

FLUX — Dashboard de analytics e inventario para cadena retail

Arquitectura de dashboard unificado con inventario en tiempo real y predicción de demanda. Diseñado para cadenas retail con múltiples puntos de venta.

{/* AI insight strip */}
Claude Insight He detectado 3 oportunidades en tu inventario hoy: una transferencia inter-tienda evitaría un quiebre en MTY, y SKU-7104 se beneficiaría de una promoción 2x1.
{/* KPI tiles */}
{kpis.map((k,i)=>{ const Ic = I[k.icon]; return (
{k.label}
{k.value}
{k.sub} {k.delta && {k.deltaDir==='down'?:} {k.delta}%} {k.status==='live' && En línea}
{k.spark &&
}
); })}
{/* Main: chart + alerts */}
Inventario y demanda en tiempo real Inventario disponible Demanda proyectada
Este mes
Alertas críticas
onNav('alerts')}>Ver todas
{D.alerts.slice(0,4).map((a,i)=>(
{a.title}
{a.detail}
{a.time}
))}
{/* Triple row */}
Resumen de inventario
onNav('inventory')}>Ver detalle
{D.inventoryStatus.map((it,i)=>(
{it.label} {it.count.toLocaleString()} ({it.pct}%)
))}
Quiebres por categoría
Este mes
({label:c.name, value:c.breakReduction, color:c.color}))} suffix="%"/>
Demanda por canal
Este mes
{D.channels.map((it,i)=>(
{it.label} {it.count.toLocaleString()} ({it.pct}%)
))}
{/* Store table + integrations */}
Rendimiento por tienda
onNav('stores')}>Ver todas
{D.stores.slice(0,5).map(s=>( ))}
TiendaVentas (MXN)vs. mes anteriorQuiebresvs. mes anteriorInventarioRotaciónAlertas
{s.name} ${(s.sales/1).toLocaleString('en-US')} {s.salesDelta.toFixed(1)}% {s.breakages}% {s.breakagesDelta.toFixed(1)}% {s.inventory.toLocaleString()} {s.rotation} {s.alerts>0 ? {s.alerts} : 0}
Integraciones activas
{D.integrations.filter(i=>i.status==='connected').slice(0,4).map(i=>(
{i.vendor.slice(0,3).toUpperCase()}
{i.name}
Conectado
))}
© 2025 FLUX Analytics. Todos los derechos reservados.
); } window.PageDashboard = PageDashboard;