@php /** * Panel de plataforma con datos reales. * * Reemplaza las vistas de /superadmin/* que traían los números * escritos a mano dentro del HTML. */ $fmt = fn ($n) => number_format((int) $n, 0, ',', '.'); $cop = fn ($n) => '$' . number_format((int) $n, 0, ',', '.'); $e = $stats['embudo']; $i = $stats['ingresos']; $a = $stats['ambientes']; $s = $stats['suscripciones']; @endphp Plataforma · GoberData

Plataforma

Actualizado {{ \Illuminate\Support\Carbon::parse($stats['generado_en'])->diffForHumans() }} · refrescar
{{-- Lo que requiere atención hoy. Va primero a propósito. --}} @if(count($stats['alertas'])) @foreach($stats['alertas'] as $alerta)
{{ $alerta['mensaje'] }} @if($alerta['accion'])Resolver →@endif
@endforeach @endif

Dinero

Ingreso recurrente
{{ $cop($i['mrr_estimado']) }}
normalizado a 30 días
Cobrado este mes
{{ $cop($i['mes_actual']) }}
@if($i['variacion_mensual'] !== null) {{ $i['variacion_mensual'] >= 0 ? '▲' : '▼' }} {{ abs($i['variacion_mensual']) }}% vs mes anterior @else sin comparación @endif
Total histórico
{{ $cop($i['total_historico']) }}
ticket medio {{ $cop($i['ticket_promedio']) }}
Membresías vigentes
{{ $fmt($s['vigentes']) }}
{{ $s['por_vencer_7d'] }} vencen en 7 días
Pagos rechazados
{{ $fmt($i['pagos_rechazados_30d']) }}
últimos 30 días

Embudo: de la demo al cliente

Solicitudes de demo
{{ $fmt($e['solicitudes']) }}
{{ $e['ultimos_30_dias']['solicitudes'] }} en 30 días
Ambientes creados
{{ $fmt($e['provisionadas']) }}
{{ $e['fallidas'] }} fallaron
Entraron a probar
{{ $fmt($e['accedieron']) }}
{{ $e['tasa_acceso'] }}% de los creados
Compraron
{{ $fmt($e['convirtieron']) }}
{{ $e['tasa_conversion'] }}% de los que entraron
Conversión global
{{ $e['tasa_global'] }}%
@if($e['dias_promedio_hasta_compra']) decide en {{ $e['dias_promedio_hasta_compra'] }} días @else sin datos aún @endif

Ambientes

Clientes activos
{{ $fmt($a['clientes_activos']) }}
Demos activas
{{ $fmt($a['demos_activas']) }}
{{ $a['demos_vencidas'] }} vencidas sin purgar
Suspendidos
{{ $fmt($a['suspendidos']) }}
Usuarios
{{ $fmt($a['total_usuarios']) }}
{{ $fmt($a['usuarios_activos_30d']) }} activos en 30 días

Últimos 12 meses

@php $maxIng = max(1, max(array_column($stats['series'], 'ingresos'))); @endphp
@foreach($stats['series'] as $mes)
{{ $mes['mes'] }}
@endforeach

Ambientes con más uso

@if(count($stats['top_tenants'])) @foreach($stats['top_tenants'] as $t) @endforeach
CampañaCandidatoJurisdicción PlanUsuariosVotantesVoluntariosVence
{{ $t['nombre'] }} {{ $t['candidato'] }} {{ $t['jurisdiccion'] }} {{ $t['plan'] ?? '—' }} {{ $fmt($t['usuarios']) }} {{ $fmt($t['votantes']) }} {{ $fmt($t['voluntarios']) }} @if($t['dias_restantes'] !== null) {{ $t['dias_restantes'] }} días @else — @endif
@else
Todavía no hay clientes activos.
@endif

Suscripciones por plan

@if(count($s['por_plan'])) @foreach($s['por_plan'] as $p) @endforeach
PlanVigentesFacturado
{{ $p['plan'] }}{{ $fmt($p['total']) }}{{ $cop($p['monto']) }}
@else
Sin suscripciones vigentes.
@endif