@if(session('success'))
{{ session('success') }}
@endif
{{-- Banner contextual: explica qué pasa con cada status filtrado --}}
@php $stf = request('status'); @endphp
@if($stf === 'ready')
Estos misiles están en cola de CD
Ya los aprobaste para disparar. CD los selecciona y provisiona los sitios manualmente.
Vas a recibir notificación in-app cuando cada uno esté listo.
Mientras tanto, podés volver a tu cartera completa .
@elseif($stf === 'launched')
Misiles ya lanzados — empezá a contactar
Sitios provisionados. Entrá a cada uno para ver el Tenant Tracking
(estado de branding y contenido) y arrancar el outreach con scripts pre-cargados.
@endif
{{-- ═══════════════════════════════════════════════════════════════
STAGE FILTER CHIPS — 5 columnas color-coded como filtros
═══════════════════════════════════════════════════════════════ --}}
{{ $totalMisiles }} {{ $totalMisiles === 1 ? 'misil' : 'misiles' }}
{{-- ═══════════════════════════════════════════════════════════════
TOOLBAR — Search + Product + Quick filters
═══════════════════════════════════════════════════════════════ --}}
{{-- Bulk action toolbar (fixed bottom, hidden por default) --}}
{{-- ═══════════════════════════════════════════════════════════════
HEATMAP TOGGLE — vista patrón geográfico (OLA 7.4)
═══════════════════════════════════════════════════════════════ --}}
@if(!empty($heatmapZones) && !empty($heatmapSubs))
Ver patrón zona × sub-producto
@endif
{{-- ═══════════════════════════════════════════════════════════════
CARDS GRID — 3 columnas desktop, 2 tablet, 1 mobile
═══════════════════════════════════════════════════════════════ --}}
@if($paginated->isEmpty())
@if($hasFilters)
Sin resultados con esos filtros
Probá limpiar los filtros o cambiar el rango de búsqueda.
Limpiar filtros
@else
No tenés misiles aún
Solicitá tu primer misil a CD para que te preparen el lead con demo lista y empezar a contactar prospects.
Solicitar mi primer misil
@endif
@elseif(($currentView ?? 'cards') === 'table')
{{-- ════════════ VISTA TABLA DENSA (OLA 7.4) ════════════ --}}
@php
$intelParser = app(\App\Services\LeadIntelParser::class);
@endphp
@foreach($paginated as $m)
@php
$intel = $intelParser->fromMissile($m);
$stage = $m->salesStage();
$isSocial = $m->prospect_website && preg_match('/instagram|facebook|tiktok/i', $m->prospect_website);
@endphp
{{ $m->prospect_name ?: 'Sin nombre' }}
@if($m->prospect_address)
{{ \Illuminate\Support\Str::limit($m->prospect_address, 40) }}
@endif
@if(!empty($intel['reviews_count']))
· {{ number_format($intel['reviews_count']) }} reviews
@endif
@if(!empty($intel['rating']))
· {{ $intel['rating'] }}★
@endif
@if($m->zone)
{{ $m->zone }}
@else
—
@endif
@if($m->sub_product)
{{ ucwords(str_replace(['shops_', '_', '-'], ['', ' ', ' '], $m->sub_product)) }}
@else
—
@endif
@if($m->prospect_website)
@if($isSocial)
IG
@else
Web
@endif
@else
Sin web
@endif
@if(!empty($intel['lead_score']))
@php
$scoreColor = $intel['lead_score'] >= 75 ? 'danger'
: ($intel['lead_score'] >= 50 ? 'warning' : 'secondary');
@endphp
{{ $intel['recommendation_emoji'] ?? '' }} {{ $intel['lead_score'] }}
@else
—
@endif
{{-- OLA 9: Lanzar inline si está launchable + en draft/branding_pending --}}
@if(in_array($m->status, [\App\Models\MissileDraft::STATUS_DRAFT, \App\Models\MissileDraft::STATUS_BRANDING_PENDING], true) && $m->isLaunchable())
@endif
@if($m->status === \App\Models\MissileDraft::STATUS_LAUNCHED && $m->launchedProject?->domain)
@endif
@endforeach
{{-- Paginación --}}
Mostrando {{ $paginated->firstItem() }}–{{ $paginated->lastItem() }} de {{ $paginated->total() }}
{{ $paginated->withQueryString()->links() }}
@elseif(($currentView ?? 'cards') === 'kanban')
{{-- ════════════ VISTA KANBAN ════════════ --}}
@php
// Agrupar la página actual por status
$byStatus = [
'draft' => $paginated->where('status', 'draft'),
'ready' => $paginated->where('status', 'ready'),
'launched' => $paginated->where('status', 'launched'),
'rejected' => $paginated->where('status', 'rejected'),
];
$statusMeta = [
'draft' => ['label' => 'Sin revisar', 'color' => 'secondary', 'icon' => 'bi-inbox'],
'ready' => ['label' => 'Aprobados', 'color' => 'success', 'icon' => 'bi-check-circle'],
'launched' => ['label' => 'Lanzados', 'color' => 'primary', 'icon' => 'bi-rocket-takeoff'],
'rejected' => ['label' => 'Descartados', 'color' => 'danger', 'icon' => 'bi-x-circle'],
];
@endphp
@foreach($byStatus as $st => $items)
@php $meta = $statusMeta[$st]; @endphp
@endforeach
Mostrando {{ $paginated->firstItem() }}–{{ $paginated->lastItem() }} de {{ $paginated->total() }}
{{ $paginated->withQueryString()->links() }}
@else
{{-- ════════════ VISTA CARDS (default) ════════════ --}}
@foreach($paginated as $missile)
{{-- Checkbox bulk (hidden por default, se muestra en modo selección) --}}
@endforeach
{{-- Paginación --}}
Mostrando {{ $paginated->firstItem() }}–{{ $paginated->lastItem() }} de {{ $paginated->total() }}
{{ $paginated->withQueryString()->links() }}
@endif
{{-- ═══════════════ JS de bulk selection ═══════════════ --}}