{{-- ================================================================ BACK + HEADER ================================================================ --}} @php $statusLabel = [ 'open' => 'Abierto', 'in_review' => 'En revisión', 'resolved' => 'Resuelto', 'closed' => 'Cerrado', ][$issue->status] ?? $issue->status; $priorityLabel = [ 'low' => 'Baja', 'medium' => 'Media', 'high' => 'Alta', 'critical' => 'Crítica', ][$issue->priority] ?? $issue->priority; $doneCount = $issue->tasks->where('is_done', true)->count(); $totalCount = $issue->tasks->count(); @endphp Volver a incidencias

{{ $issue->title }}

{{ $statusLabel }} Prioridad: {{ $priorityLabel }} @if($issue->feature) {{ $issue->feature->name }} @endif
Reportado por {{ $issue->reporter?->name ?? '—' }} el {{ $issue->created_at->format('d/m/Y H:i') }} @if($issue->assignee) · Asignado a {{ $issue->assignee->name }} @endif
{{-- Resolution progress --}} @if($totalCount > 0)
{{ $issue->progress }}%
{{ $doneCount }}/{{ $totalCount }} tareas
@endif
@if($issue->description)
{{ $issue->description }}
@endif {{-- ================================================================ STATUS WORKFLOW BAR ================================================================ --}} @if($canEdit)
Acciones: @if(in_array($issue->status, ['open'])) @if($totalCount > 0 && $doneCount < $totalCount) Completa todas las tareas para enviar a revisión @endif @endif @if(in_array($issue->status, ['open', 'in_review'])) @endif @if($issue->status !== 'closed') @endif @if(in_array($issue->status, ['resolved', 'closed'])) @endif
@endif
{{-- ================================================================ LEFT: CHECKLIST + COMMENTS ================================================================ --}}
{{-- CHECKLIST --}}

Tareas para resolver {{ $doneCount }}/{{ $totalCount }}

@if($totalCount > 0) @endif
    @forelse($issue->tasks as $task)
  • is_done) @disabled(! $canEdit) wire:click="toggleTask({{ $task->id }})" />
    {{ $task->title }}
    @if($task->assignee)👤 {{ $task->assignee->name }}@endif @if($task->due_date) 📅 {{ $task->due_date->format('d/m/Y') }} @endif @if($task->is_done && $task->completer) ✓ {{ $task->completer->name }} · {{ $task->done_at?->format('d/m/Y') }} @endif
    @if($canEdit) @endif
  • @empty
  • Aún no hay tareas. Añade la primera abajo.
  • @endforelse
@if($canEdit)
@error('newTaskTitle'){{ $message }}@enderror
@endif
{{-- COMMENTS / SEGUIMIENTO --}}

Seguimiento y comentarios {{ $issue->comments->count() }}

@forelse($issue->comments as $comment)
{{ strtoupper(substr($comment->user?->name ?? '?', 0, 1)) }}
{{ $comment->user?->name ?? 'Usuario' }} · {{ $comment->created_at->diffForHumans() }}
{{ $comment->body }}
@if($comment->media->count())
@foreach($comment->media as $m) @endforeach
@endif
@empty

Sin comentarios todavía.

@endforelse
{{-- New comment --}}
@error('newComment'){{ $message }}@enderror
@error('commentPhoto'){{ $message }}@enderror
{{-- ================================================================ RIGHT: PHOTOS + RESOLUTION ================================================================ --}}
{{-- ISSUE PHOTOS --}}

Fotos de la incidencia

@if($issue->media->count())
@foreach($issue->media as $m)
@can('delete media') @endcan
@endforeach
@else

Sin fotos.

@endif @can('upload media')
@error('issuePhotos.*'){{ $message }}@enderror @if($issuePhotos) @endif
@endcan
{{-- RESOLUTION NOTES --}} @if($canEdit)

Notas de resolución

@elseif($issue->resolution_notes)

Notas de resolución

{{ $issue->resolution_notes }}

@endif