@extends('layouts.app') @section('title', 'Dienstplan') @section('content')

Planung

Dienstplan

Dienste, Übungen, Sitzungen und weitere Termine.

+ Termin planen
@foreach(['agenda'=>'Agenda','month'=>'Monat','week'=>'Woche','staffing'=>'Besetzung'] as $key=>$label) {{ $label }} @endforeach
@if(request('ansicht', 'agenda') === 'month')
@foreach(['Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag'] as $day)
{{ $day }}
@endforeach @php $monthStart = now('Europe/Berlin')->startOfMonth()->startOfWeek(); @endphp @foreach(range(0,41) as $offset) @php $day = $monthStart->copy()->addDays($offset); $dayEvents = $events->getCollection()->filter(fn($e) => $e->starts_at->timezone('Europe/Berlin')->isSameDay($day)); @endphp
{{ $day->format('d') }} @foreach($dayEvents as $event){{ $event->starts_at->timezone('Europe/Berlin')->format('H:i') }} {{ $event->title }}@endforeach
@endforeach
@elseif(request('ansicht') === 'week' || request('ansicht') === 'staffing')
@forelse($events as $event)@empty@endforelse
DatumTerminOrganisationZugesagtOffen / angebotenStatus
{{ $event->starts_at->timezone('Europe/Berlin')->format('D, d.m. H:i') }}{{ $event->title }}{{ $event->organization->name }}{{ $event->assignments->where('state','accepted')->count() }}{{ $event->assignments->whereIn('state',['requested','offered'])->count() }}{{ $event->status }}
Keine Termine gefunden.
@else
@forelse($events as $event)
{{ $event->starts_at->timezone('Europe/Berlin')->format('d') }}{{ $event->starts_at->timezone('Europe/Berlin')->translatedFormat('M') }}

{{ $event->title }}

{{ match($event->type){'watch_duty'=>'Wachdienst','exercise'=>'Übung','meeting'=>'Sitzung',default=>'Sonstiges'} }}@if($event->watchLog)Wachbuch@endif

{{ $event->starts_at->timezone('Europe/Berlin')->translatedFormat('D, H:i') }}–{{ $event->ends_at->timezone('Europe/Berlin')->format('H:i') }} · {{ $event->location ?: 'Kein Ort' }}

{{ $event->organization->name }}

@empty
Keine Termine gefunden.
@endforelse
@endif
{{ $events->links() }}
@endsection