ajoute les devoirs maison (chantier vrai cockpit, étape 3) : rendu en texte libre, suivi des rendus, notation

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Adam Belkacemi 2026-10-13 12:44:00 +02:00
parent bd74eaf20f
commit 33531de44d
17 changed files with 582 additions and 2 deletions

View file

@ -43,6 +43,29 @@
</ul>
</section>
@endif
{{-- Chantier « vrai cockpit », étape 3 : Devoirs maison, réels. --}}
@php($devoirsClasse = $eleve->classe->devoirs()->with(['rendus' => fn ($q) => $q->where('eleve_id', $eleve->id)])->where('echeance', '>=', now()->subDays(7))->get())
@if ($devoirsClasse->isNotEmpty())
<section class="mx-auto max-w-7xl px-5 pt-10 lg:px-10" aria-labelledby="t-devoirs">
<h2 id="t-devoirs" class="text-2xl font-extrabold">Devoirs maison</h2>
<ul class="mt-4 grid gap-3">
@foreach ($devoirsClasse as $devoir)
@php($monRendu = $devoir->rendus->first())
<li>
<a href="{{ route('devoirs.eleve.show', $devoir) }}" class="flex flex-wrap items-center justify-between gap-4 rounded-2xl border border-[#e3e5e8] p-5 {{ $monRendu ? 'bg-[#e6f4ea]' : ($devoir->echeanceDepassee() ? 'bg-[#fce8e6]' : 'bg-[#fef7e0]') }}">
<span class="text-xl font-extrabold">{{ $devoir->titre }}</span>
<span class="font-mono text-sm font-semibold">
@if ($monRendu) Rendu
@elseif ($devoir->echeanceDepassee()) Non rendu, échéance dépassée
@else À rendre avant le {{ $devoir->echeance->timezone(config('app.fuseau_utilisateurs'))->translatedFormat('d/m H:i') }}
@endif
</span>
</a>
</li>
@endforeach
</ul>
</section>
@endif
<div class="mx-auto grid max-w-7xl gap-12 px-5 py-14 lg:grid-cols-12 lg:px-10">
<section class="lg:col-span-7" aria-labelledby="t-afaire">
<h2 id="t-afaire" class="text-4xl font-extrabold tracking-tight">À faire</h2>