{{-- ✅ Construir URL de "Volver" con filtros --}} @php $backParams = []; if(isset($userFilter) && $userFilter) $backParams['user'] = $userFilter; if(isset($estadoFilter) && $estadoFilter) $backParams['estado'] = $estadoFilter; $backUrl = route('admin.tasks.index'); if(!empty($backParams)) { $backUrl .= '?' . http_build_query($backParams); } @endphp Volver
{{-- ✅ Mostrar filtros activos si existen --}} @if(isset($userFilter) || isset($estadoFilter))
Filtros Activos: @if(isset($userFilter)) @php $userName = \App\Models\User::find($userFilter)?->name ?? 'Usuario'; @endphp Usuario: {{ $userName }} @endif @if(isset($estadoFilter)) Estado: {{ ucfirst(str_replace('_', ' ', $estadoFilter)) }} @endif
Limpiar filtros
@endif

{{ $project->nombre_proyecto }}

{{ $project->descripcion }}

{{ $project->company->name ?? 'N/A' }}
{{ $project->area->nombre ?? 'N/A' }}
{{ $project->team->nombre ?? 'Sin equipo' }}
{{ $project->estado }}

Sprints del Proyecto ({{ $sprints->count() }} sprints)

@forelse($sprints as $sprint)

{{ $sprint->nombre }}

{{ $sprint->descripcion ?? 'Sin descripción' }}

{{ ucfirst(str_replace('_', ' ', $sprint->estado)) }}
Progreso {{ $sprint->progreso }}%
{{ $sprint->tareas_completadas_count }} / {{ $sprint->tasks_count }} tareas @if ($sprint->tareas_en_progreso_count > 0) {{ $sprint->tareas_en_progreso_count }} en progreso @endif
{{ \Carbon\Carbon::parse($sprint->fecha_inicio)->format('d/m/Y') }}
{{ \Carbon\Carbon::parse($sprint->fecha_fin)->format('d/m/Y') }}
@php $duracion = (int) \Carbon\Carbon::parse($sprint->fecha_inicio)->diffInDays( $sprint->fecha_fin, ); $diasRestantes = (int) \Carbon\Carbon::parse($sprint->fecha_fin)->diffInDays( now(), false, ); @endphp
{{ $duracion }} días @if ($sprint->estado === 'en_progreso') @if ($diasRestantes < 0) {{ abs($diasRestantes) }}d restantes @else Vencido {{ $diasRestantes }}d @endif @endif
{{ $sprint->tasks_count }}
Total
{{ $sprint->tareas_completadas_count }}
Completas
{{ $sprint->tareas_en_progreso_count }}
Pendientes
{{ $sprint->tareas_pendientes_count }}
Revisión
{{ $sprint->tareas_incompletas_count }}
Incompletas
{{ $sprint->tareas_canceladas_count ?? 0 }}
Canceladas
{{ $sprint->tareas_reabierto_count ?? 0 }}
Reabierto
@if ($sprint->tareas_pendientes_count > 0)
{{ $sprint->tareas_pendientes_count }} en revisión
@endif
{{-- ✅ Construir URL con filtros --}} @php $sprintParams = []; if(isset($userFilter) && $userFilter) $sprintParams['user'] = $userFilter; if(isset($estadoFilter) && $estadoFilter) $sprintParams['estado'] = $estadoFilter; $sprintUrl = route('admin.tasks.by-sprint', $sprint); if(!empty($sprintParams)) { $sprintUrl .= '?' . http_build_query($sprintParams); } @endphp Ver Tareas
@empty

No hay sprints {{ isset($userFilter) || isset($estadoFilter) ? 'que coincidan con los filtros' : 'en este proyecto' }}

{{ isset($userFilter) || isset($estadoFilter) ? 'Intenta cambiar o limpiar los filtros' : 'Los sprints aparecerán aquí cuando sean creados' }}

@endforelse