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

Training & Competency Dashboard

Overview of training activities and statistics

{{ number_format($stats['total_training_needs']) }}

{{ $stats['validated_tnas'] }} validated

Training Needs

View All

{{ number_format($stats['total_plans']) }}

{{ $stats['approved_plans'] }} approved

Training Plans

View All

{{ number_format($stats['total_sessions']) }}

{{ $stats['upcoming_sessions'] }} upcoming

Training Sessions

View All

{{ number_format($stats['total_certificates']) }}

{{ $stats['expiring_soon'] }} expiring soon

Certificates

View All

Recent Training Needs

View All
@if($recentTNAs->count() > 0)
@foreach($recentTNAs as $tna)
{{ $tna->training_title }}

{{ Str::limit($tna->training_description, 80) }}

{{ ucfirst($tna->priority) }} {{ $tna->creator->name ?? 'N/A' }} {{ $tna->created_at->diffForHumans() }}
{{ ucfirst($tna->status) }}
@endforeach
@else

No training needs found

@endif

Upcoming Sessions

View All
@if($upcomingSessions->count() > 0)
@foreach($upcomingSessions as $session)
{{ $session->title }}

{{ $session->scheduled_start->format('M j, Y') }}

{{ $session->scheduled_start->format('g:i A') }}

@endforeach
@else

No upcoming sessions

@endif

Training Needs by Priority

@php $priorityColors = [ 'critical' => 'bg-red-500', 'high' => 'bg-orange-500', 'medium' => 'bg-yellow-500', 'low' => 'bg-green-500' ]; @endphp @foreach(['critical', 'high', 'medium', 'low'] as $priority) @php $count = $trainingByPriority[$priority] ?? 0; $total = $trainingByPriority->sum(); $percentage = $total > 0 ? ($count / $total) * 100 : 0; $colorClass = $priorityColors[$priority] ?? 'bg-gray-500'; @endphp
{{ $priority }} {{ $count }} ({{ number_format($percentage, 1) }}%)
@endforeach

Training Needs by Status

@php $statusColors = [ 'identified' => 'bg-gray-500', 'validated' => 'bg-blue-500', 'planned' => 'bg-yellow-500', 'in_progress' => 'bg-indigo-500', 'completed' => 'bg-green-500' ]; @endphp @foreach(['identified', 'validated', 'planned', 'in_progress', 'completed'] as $status) @php $count = $trainingByStatus[$status] ?? 0; $total = $trainingByStatus->sum(); $percentage = $total > 0 ? ($count / $total) * 100 : 0; $colorClass = $statusColors[$status] ?? 'bg-gray-500'; @endphp @if($count > 0)
{{ str_replace('_', ' ', $status) }} {{ $count }} ({{ number_format($percentage, 1) }}%)
@endif @endforeach
@if($expiringCertificates->count() > 0)

Certificates Expiring Soon (Next 60 Days)

{{ $expiringCertificates->count() }} expiring
@foreach($expiringCertificates as $certificate) @php $daysRemaining = now()->diffInDays($certificate->expiry_date, false); @endphp @endforeach
Employee Certificate Expiry Date Days Remaining
{{ $certificate->user->name ?? 'N/A' }}
{{ $certificate->certificate_title ?? 'N/A' }}
{{ $certificate->expiry_date->format('M j, Y') }}
{{ $daysRemaining }} days
@endif
@endsection