@extends('layouts.app') @section('title', $task->title.' | LPM') @section('heading', 'Detalle de tarea') @section('content') @php $statusStep = match ($task->status->value) { 'pending' => 1, 'in_progress' => 2, 'completed' => 3, default => 0, }; $taskActivities = $project->activityLogs->filter( fn ($activity) => (int) data_get($activity->metadata, 'task_id') === $task->id )->take(12); $stageDeliverables = $stage->deliverables; $attentionDeliverable = $stageDeliverables->first(fn ($item) => $item->status->value === 'changes_requested') ?? $stageDeliverables->first(fn ($item) => $item->versions->isEmpty()) ?? $stageDeliverables->first(fn ($item) => $item->status->value === 'draft') ?? $stageDeliverables->first(fn ($item) => $item->status->value === 'in_review'); @endphp
{{ mb_strtoupper($stage->name) }} · TAREA

{{ $task->title }}

{{ $task->description ?: 'Esta tarea no tiene una descripción adicional.' }}

{{ $task->status->label() }} Volver al proyecto
FLUJO DE LA TAREA

Avance actual

{{ $statusStep === 3 ? '100' : ($statusStep === 2 ? '60' : ($statusStep === 1 ? '20' : '0')) }}%
@foreach([1 => 'Registrada', 2 => 'En curso', 3 => 'Completada'] as $step => $label)
{{ $statusStep > $step ? '✓' : $step }}{{ $label }}
@endforeach
INFORMACIÓN ESENCIAL

Qué debe realizarse

{{ $task->description ?: 'Consulta con el responsable del proyecto para definir el resultado esperado de esta tarea.' }}
Responsable
{{ $task->responsible->name }}
Fecha límite
{{ $task->due_date?->format('d/m/Y') ?? 'Sin fecha definida' }}
Etapa
{{ $stage->name }}
Creada por
{{ $task->creator->name }}
EVIDENCIAS RELACIONADAS

Entregables de {{ $stage->name }}

Se muestran los productos asociados a esta etapa del proyecto.

{{ $stageDeliverables->where('status', App\Enums\DeliverableStatus::Approved)->count() }}/{{ $stageDeliverables->count() }} aprobados
@forelse($stageDeliverables as $deliverable) @include('projects.partials.deliverable-card', ['deliverable' => $deliverable]) @empty
Aún no hay entregables en esta etapa. Cuando se registre uno, aparecerá aquí sin salir de la tarea.
@endforelse
@can('create', [App\Models\Deliverable::class, $project]) @if($stage->status->value !== 'completed')
+ Crear entregable en {{ $stage->name }}
@csrf
@endif @endcan
ACTIVIDAD

Historial de la tarea

@forelse($taskActivities as $activity)
{{ $activity->description }}{{ $activity->user?->name ?? 'Sistema' }} · {{ $activity->created_at->format('d/m/Y H:i') }}
@empty
Los cambios de estado y ediciones aparecerán aquí.
@endforelse
@endsection