@extends('admin.layouts.app') @section('content')

{{ __('admin/trainings.training_overview') }}

{{ __('admin/trainings.overview.stats.active_trainings') }}

{{ $stats['total_trainings'] }}

{{ __('admin/trainings.overview.stats.open_sessions') }}

{{ $stats['total_sessions'] }}

{{ __('admin/trainings.overview.stats.total_registrations') }}

{{ $stats['total_registrations'] }}

{{ __('admin/trainings.overview.stats.complete_sessions') }}

{{ $stats['sessions_complet'] }}

{{ __('admin/trainings.overview.table_overview.title') }}

{{ __('admin/trainings.overview.table_overview.updated_at', ['date' => now()->format(__('admin/trainings.date_format.full'))]) }}
@forelse($trainings as $training) @php $firstSession = true; $sessionCount = $training->sessions->count(); @endphp @foreach($training->sessions as $session) @php $confirmedCount = $session->registrations->where('status', 'confirmed')->count(); $pendingCount = $session->registrations->where('status', 'pending')->count(); $totalCount = $confirmedCount + $pendingCount; $isComplete = $session->seats_available && $totalCount >= $session->seats_available; $occupancyPercentage = $session->seats_available ? round(($totalCount / $session->seats_available) * 100) : 0; @endphp @if($firstSession) @php $firstSession = false; @endphp @endif @endforeach @empty @endforelse
{{ __('admin/trainings.overview.table_overview.headers.training') }} @if($sortParams['current_sort'] === 'name') @else @endif {{ __('admin/trainings.overview.table_overview.headers.session') }} {{ __('admin/trainings.overview.table_overview.headers.dates') }} @if($sortParams['current_sort'] === 'date') @else @endif {{ __('admin/trainings.overview.table_overview.headers.seats') }} {{ __('admin/trainings.overview.table_overview.headers.confirmed') }} {{ __('admin/trainings.overview.table_overview.headers.pending') }} {{ __('admin/trainings.overview.table_overview.headers.total') }} @if($sortParams['current_sort'] === 'registrations_count') @else @endif {{ __('admin/trainings.overview.table_overview.headers.status') }} {{ __('admin/trainings.table.headers.actions') }}
@if($training->color)
@endif
{{ $training->translate()->title ?? __('admin/trainings.table.empty') }}
{{ number_format($training->price, 0) }}€ {{ __('admin/trainings.table.student_price_short', ['price' => number_format($training->student_price, 0) . '€']) }}
{{ $session->name }}
{{ __('admin/trainings.overview.table_overview.session_id', ['id' => $session->id]) }}
@if($session->start_date)
{{ $session->start_date->format(__('admin/trainings.date_format.date_only')) }}
@if($session->end_date && $session->end_date != $session->start_date) {{ __('admin/trainings.overview.table_overview.date_range', ['end_date' => $session->end_date->format(__('admin/trainings.date_format.date_only'))]) }} @endif @else {{ __('admin/trainings.overview.table_overview.to_be_determined') }} @endif
@if($session->seats_available) {{ $session->seats_available }} @else {{ __('admin/trainings.overview.table_overview.no_limit') }} @endif {{ $confirmedCount }} @if($pendingCount > 0) {{ $pendingCount }} @else 0 @endif {{ $totalCount }} @if($session->seats_available)
{{ __('admin/trainings.overview.table_overview.occupancy', ['percentage' => $occupancyPercentage]) }} @endif
@if($isComplete) {{ __('admin/trainings.overview.table_overview.status_complete') }} @elseif($session->is_closed) {{ __('admin/trainings.overview.table_overview.status_closed') }} @else {{ __('admin/trainings.overview.table_overview.status_open') }} @endif
@if($totalCount > 0) @endif
{{ __('admin/trainings.overview.table_overview.empty_message') }}

{{ __('admin/trainings.overview.table_overview.empty_help') }}

@endsection @push('script') @endpush