@if(session('success'))
{{ session('success') }}
@endif {{-- Hero Card --}}
Tus ventas

Mis Ventas

Clientes que cerraste como Comercial. Trackeá conversiones, estados y proyectos activos.

{{ $kpis['active'] }}
Activos
{{ $kpis['total'] }}
Total
{{ $kpis['paused'] }}
Pausados
{{-- ════════════════════════════════════════════════════════════════ OLA 7.6 — Deluxe metrics: Sparks + time-to-close + heatmap ════════════════════════════════════════════════════════════════ --}}
Trend 8 semanas
{{ array_sum($weeklyTrend['values'] ?? []) }}
Cierres por semana
Últimos 6 meses
{{ array_sum($monthlyBreakdown['values'] ?? []) }}
@foreach(($monthlyBreakdown['labels'] ?? []) as $lbl) {{ $lbl }} @endforeach
Time-to-close avg
@if($timeToCloseAvg !== null)
{{ $timeToCloseAvg }}
días entre lanzamiento y primera venta
@else
Sin datos de venta cerrada todavía
@endif
{{-- Heatmap producto × tier — solo si hay data --}} @if(!empty($productTierGrid['rows']))
@endif {{-- Solicitudes en curso (closure_requests no provisionadas) --}} @if(isset($pendingRequests) && $pendingRequests->count() > 0)
Solicitudes en curso {{ $pendingRequests->count() }}
@foreach($pendingRequests as $r) @endforeach
Cliente Producto Comisión Estado Enviada
{{ $r->client_name }}
{{ $r->client_email }}
{{ $r->tier }} {{ $r->core }} USD {{ number_format($r->closer_commission, 0) }} {{ $r->statusLabel() }} @if($r->status === 'declined' && $r->decided_reason)
{{ \Illuminate\Support\Str::limit($r->decided_reason, 60) }}
@endif
{{ $r->created_at->diffForHumans() }}
@endif {{-- ════════ KPI cards (con click → filtro) ════════ --}} @php $qsBase = request()->except(['status','page']); $statusCards = [ ['key' => '', 'label' => 'Total', 'count' => $kpis['total'], 'tone' => 'primary', 'icon' => 'fa-handshake'], ['key' => 'active', 'label' => 'Activos', 'count' => $kpis['active'], 'tone' => 'success', 'icon' => 'fa-circle-check'], ['key' => 'paused', 'label' => 'Suspendidos', 'count' => $kpis['paused'], 'tone' => 'warning', 'icon' => 'fa-pause-circle'], ['key' => 'archived', 'label' => 'Archivados', 'count' => $kpis['archived'], 'tone' => 'secondary', 'icon' => 'fa-box-archive'], ['key' => 'failed', 'label' => 'Fallidos', 'count' => $kpis['failed'], 'tone' => 'danger', 'icon' => 'fa-triangle-exclamation'], ]; @endphp
@foreach($statusCards as $c) @continue($c['count'] === 0 && $c['key'] !== '') @endforeach
{{-- ════════ Filtros ricos ════════ --}}
@if($status)@endif
@if(request()->hasAny(['q','product','date_from','date_to'])) @endif

Tenants cerrados

{{ $closes->total() }} en total
@if($closes->isEmpty())

Sin cierres registrados

Tus cierres aparecen cuando el equipo te atribuye el lead. Si pensás que falta uno, contactá a soporte.

@else
@foreach($closes as $tp) @php [$badgeLabel, $badgeClass] = $tp->status_badge; $daysSinceClose = $tp->created_at ? $tp->created_at->diffInDays(now()) : null; @endphp @endforeach
Cliente Proyecto / Producto Plan Estado Desde Acciones
{{ trim((optional($tp->user)->first_name ?? '') . ' ' . (optional($tp->user)->last_name ?? '')) ?: '(sin nombre)' }}
{{ optional($tp->user)->email ?? 'sin email' }}
{{ $tp->project_name }}
@if($tp->domain) {{ $tp->domain }} @endif @if($tp->product_name) {{ $tp->product_name }} @endif @if($tp->tier) {{ $tp->tier }} @endif
@if($tp->amount_usd) USD {{ number_format($tp->amount_usd, 0) }}
/mes
@else @endif
{{ $badgeLabel }} {{ $tp->created_at?->format('d/m/Y') ?? '—' }} @if($daysSinceClose !== null)
hace {{ $daysSinceClose }} d
@if($daysSinceClose >= 30 && $tp->pipeline_status !== 'active') Estancado @endif @endif
@php $sourceMissile = $missileByTenant[$tp->id] ?? null; @endphp @if($sourceMissile) @endif @if($tp->domain) @endif
Mostrando {{ $closes->firstItem() }}-{{ $closes->lastItem() }} de {{ $closes->total() }}
{{ $closes->links() }}
@endif