@extends('layouts.recruitment') @section('content')

Recruitment Dashboard

Manage teacher applications and recruitment workflow for {{ date('Y') }}/{{ date('Y') + 1 }} academic year.

@if(auth()->user()->hasRole(['super_admin', 'hr_admin'])) Add Job Opening @endif
Total Applicants
{{ number_format($stats['total_applicants']) }}
Shortlisted
{{ number_format($stats['shortlisted']) }}
Success Rate
12.5%
Open Positions
{{ number_format($stats['open_positions']) }}

Hiring Pipeline

@php $max = max(array_values($pipeline)) ?: 1; @endphp @foreach($pipeline as $stage => $count)
{{ $count }}
{{ $stage }}
@endforeach

Upcoming Interviews

@php $upcoming = \App\Models\Interview::with(['application.applicant'])->where('status', 'Scheduled')->latest()->take(2)->get(); @endphp @forelse($upcoming as $interview)

{{ $interview->application->applicant->full_name }}

{{ ucfirst($interview->type) }} @ {{ \Carbon\Carbon::parse($interview->scheduled_at)->format('H:i') }}

@empty

No interviews scheduled for today.

@endforelse View Schedule

Recent Applicants

View All
@forelse($recentApplicants as $applicant)
Avatar
{{ $applicant->full_name }}
{{ $applicant->applications->first()->jobOpening->position->title ?? 'N/A' }}
@empty

No recent applications.

@endforelse

Recruitment Team

Team Member

{{ Auth::user()->name }}

Role: {{ Auth::user()->roles->first()->name ?? 'HR Manager' }}

Online

Hiring Goal

@php $degree = ($hiringGoalPercentage / 100) * 360; @endphp
{{ $hiringGoalPercentage }}% Positions Filled
Hired
Remaining
Activity Feed
@forelse($activities as $activity)

{{ $activity->application->applicant->full_name }}

{{ $activity->content }}

{{ $activity->created_at->diffForHumans() }}
@empty

No recent activity to show.

@endforelse
@endsection