Event-Liste: Termine nach Monaten gruppiert mit Überschriften
Termine werden jetzt unter Monats-Headern (z.B. "März 2026", "April 2026") gruppiert dargestellt. Die Event-Karten bleiben unverändert, werden aber innerhalb der Monatsblöcke organisiert. Monatsnamen sind lokalisiert. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -37,19 +37,29 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{{-- Event-Liste --}}
|
{{-- Event-Liste nach Monaten gruppiert --}}
|
||||||
@if ($events->isEmpty())
|
@if ($events->isEmpty())
|
||||||
<div class="bg-white rounded-lg shadow p-6 text-center text-gray-500">
|
<div class="bg-white rounded-lg shadow p-6 text-center text-gray-500">
|
||||||
{{ __('events.no_events') }}
|
{{ __('events.no_events') }}
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<div class="space-y-3">
|
@php $currentMonth = null; @endphp
|
||||||
@foreach ($events as $event)
|
@foreach ($events as $event)
|
||||||
@php
|
@php
|
||||||
|
$eventMonth = $event->start_at->translatedFormat('F Y');
|
||||||
$minStatus = $event->minimumsStatus();
|
$minStatus = $event->minimumsStatus();
|
||||||
$bgClass = match($minStatus) { true => 'bg-green-100', false => 'bg-red-100', default => 'bg-white' };
|
$bgClass = match($minStatus) { true => 'bg-green-100', false => 'bg-red-100', default => 'bg-white' };
|
||||||
@endphp
|
@endphp
|
||||||
<a href="{{ route('events.show', $event) }}" class="block {{ $bgClass }} rounded-lg shadow p-4 hover:shadow-md transition-shadow">
|
|
||||||
|
{{-- Monats-Header --}}
|
||||||
|
@if ($eventMonth !== $currentMonth)
|
||||||
|
@php $currentMonth = $eventMonth; @endphp
|
||||||
|
<div class="{{ !$loop->first ? 'mt-6' : '' }} mb-3">
|
||||||
|
<h2 class="text-lg font-bold text-gray-800 border-b-2 border-gray-200 pb-1">{{ $eventMonth }}</h2>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<a href="{{ route('events.show', $event) }}" class="block {{ $bgClass }} rounded-lg shadow p-4 mb-3 hover:shadow-md transition-shadow">
|
||||||
<div class="flex flex-col sm:flex-row sm:items-center gap-3">
|
<div class="flex flex-col sm:flex-row sm:items-center gap-3">
|
||||||
<div class="flex-1 min-w-0">
|
<div class="flex-1 min-w-0">
|
||||||
<div class="flex items-center gap-2 mb-1 flex-wrap">
|
<div class="flex items-center gap-2 mb-1 flex-wrap">
|
||||||
@@ -80,7 +90,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
{{ $events->links() }}
|
{{ $events->links() }}
|
||||||
|
|||||||
Reference in New Issue
Block a user