@extends('layouts.landing') @section('title', 'Mis Tareas') @section('content')
{{-- Alertas de sesión --}} @if (session('info'))
{{ session('info') }}
@endif @if (session('error'))
{{ session('error') }}
@endif @if ($errors->has('entrega'))
{{ $errors->first('entrega') }}
@endif {{-- Sin ciclo activo --}} @if (!$cicloActual)
No hay un ciclo escolar activo en este momento. Contacta a tu coordinador.
@else {{-- ══════════════════════════════════════════════════ SECCIÓN 1: TAREAS POR ENTREGAR (ciclo actual) ══════════════════════════════════════════════════ --}}
Tareas por Entregar
{{ $cicloActual->name }}
@if ($tareasPendientes->isEmpty())
¡Estás al corriente! No tienes tareas pendientes de entrega.
@else @php $pendientesAgrupadas = $tareasPendientes->groupBy('material_id'); @endphp @foreach ($pendientesAgrupadas as $materialId => $grupoTareas) @php $material = $grupoTareas->first()->material; $grupo = $grupoTareas->first()->grupo; $vencidas = $grupoTareas->filter(fn($t) => $t->fecha_entrega && \Carbon\Carbon::parse($t->fecha_entrega)->isPast() )->count(); @endphp
{{ $material->name }}
Grupo: {{ $grupo->clave }}
@if ($vencidas > 0) {{ $vencidas }} vencida(s) @endif {{ $grupoTareas->count() }} por entregar
@foreach ($grupoTareas as $tarea) @endforeach
Tarea Fecha límite Entregar
{{ $tarea->titulo }} @if ($tarea->descripcion)

{{ Str::limit($tarea->descripcion, 100) }}

@endif
@if ($tarea->fecha_entrega) {{ \Carbon\Carbon::parse($tarea->fecha_entrega)->format('d/m/Y') }} @if (\Carbon\Carbon::parse($tarea->fecha_entrega)->isPast())
Vencida @else
Activa @endif @else Sin fecha @endif
@csrf
@endforeach @endif
{{-- ══════════════════════════════════════════════════ SECCIÓN 2: TAREAS YA ENTREGADAS ══════════════════════════════════════════════════ --}}
Tareas Entregadas
{{ $tareasEntregadas->count() }}
@if ($tareasEntregadas->isEmpty())
Aún no has entregado ninguna tarea en este ciclo.
@else @php $entregadasAgrupadas = $tareasEntregadas->groupBy('material_id'); @endphp @foreach ($entregadasAgrupadas as $materialId => $grupoTareas) @php $material = $grupoTareas->first()->material; $grupo = $grupoTareas->first()->grupo; $calificadas = $grupoTareas->filter( fn($t) => ($entregasMap[$t->id]->status ?? '') === 'calificada' )->count(); $pendientes = $grupoTareas->count() - $calificadas; @endphp
@foreach ($grupoTareas as $tarea) @php $entrega = $entregasMap[$tarea->id] ?? null; $status = $entrega?->status ?? 'sin_subir'; @endphp @endforeach
Tarea Status Calificación Lo que entregaste
{{ $tarea->titulo }} @if ($tarea->descripcion)

{{ Str::limit($tarea->descripcion, 80) }}

@endif
@if ($status === 'pendiente') Pendiente @else Calificada @endif @if ($status === 'calificada' && $entrega) {{ number_format($entrega->calificacion, 1) }} @if ($entrega->comentario)
{{ $entrega->comentario }} @endif @else Esperando... @endif
@if ($entrega?->texto)
{{ $entrega->texto }}
@endif @if ($entrega?->archivo) Ver archivo @endif @if (!$entrega?->texto && !$entrega?->archivo) Sin contenido registrado @endif
@endforeach @endif
@endif {{-- fin @if $cicloActual --}}
@endsection @section('scripts') @endsection