{{-- Overview del Factory — tabla plana con todas las columnas operativas. SoT: FactoryController::buildOverviewData() (queries optimizadas, sin N+1). Es el punto de entrada por default — reemplaza al kanban/grid como primera vista. Las 7 vistas legacy (tiers/launch/focus/board/matrix/list/demos) siguen disponibles desde el toolbar arriba para casos especializados. --}} @php $rows = $overview['rows'] ?? []; $industries = $overview['industries'] ?? []; $stats = $overview['stats'] ?? []; $f = $overviewFilters ?? []; @endphp {{-- ────── Stats cards arriba ────── --}}
| Producto | Categoría | Status | Demo | Mods | Tenants | Demand | Health | Stripe | Precio | Lanzado | Modificado | Acciones |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@if($r['thumb'])
{{ strtoupper(substr($r['name'], 0, 1)) }}
@endif
{{ $r['name'] }}
{{ $r['slug'] }}
|
{{-- Categoría --}}
@if($r['category']) {{ $r['category'] }} @else — @endif | {{-- Status --}}{{ $r['status_label'] }} | {{-- Demo --}}
@if($r['demo'])
{{ \Illuminate\Support\Str::after($r['demo'], 'demo-') }}
@else
—
@endif
|
{{-- Módulos count (con tooltip de la lista) --}}
@if($r['modules_count'] > 0) 🧩 {{ $r['modules_count'] }} @else — @endif | {{-- Tenants vivos --}}@if($r['tenants_live'] > 0) {{ $r['tenants_live'] }} @else — @endif | {{-- Demand --}}@if($r['demand_count'] > 0) 🔥 {{ $r['demand_count'] }} @else — @endif | {{-- Health % --}}@if(is_numeric($r['health_pct'])) @php $hp = (int) $r['health_pct']; $hc = $hp >= 80 ? 'success' : ($hp >= 50 ? 'warning' : 'danger'); @endphp {{ $hp }}% @else — @endif | {{-- Stripe linked --}}@if($r['stripe_linked']) @else @endif | {{-- Precio + ciclo --}}
${{ number_format($r['price'], 0) }}
/{{ $r['cycle'] }}
@if($r['compare_price'] && $r['compare_price'] > $r['price'])
|
{{-- Lanzamiento --}}
@if($r['promoted_at']) {{ $r['promoted_at']->format('M Y') }} @else — @endif | {{-- Modificado: del activity_log --}}
@if($r['last_event_at'])
{{ $r['last_event_at']->diffForHumans() }}
@if($r['last_editor'])
por {{ $r['last_editor'] }}
@endif
@else
{{ $r['updated_at']?->diffForHumans() ?? '—' }}
sin auditar
@endif
|
{{-- Acciones --}}
|
|
Sin productos con esos filtros.
@if(($f['search'] ?? '') || ($f['status'] ?? '') !== 'active' || ($f['industry'] ?? ''))
Limpiar filtros
@endif
|
||||||||||||