@extends('layouts.app') @section('title', 'Applications') @push('styles') @endpush @section('breadcrumb') Dashboard Applications @endsection @section('content')
all
Total applications
{{ $stats['total'] }}
QUEUED
Pending
{{ $stats['pending'] }}
approved
Approved
{{ $stats['approved'] }}
{{ $stats['rejected'] }}
Rejected
{{ $stats['rejected'] }}
@include('partials._status-proportion', ['stats' => $stats, 'title' => 'Application pipeline'])
@if($statusFilter) {{ ucfirst($statusFilter) }} applications @else All applications @endif
{{ number_format($applications->total()) }} record(s) · showing {{ $applications->firstItem() ?? 0 }}–{{ $applications->lastItem() ?? 0 }} @if($statusFilter) · filtered by {{ $statusFilter }} @endif
@if($statusFilter)
Clear filter
@endif
@if($applications->isEmpty())
No applications yet
Applications will appear here as candidates apply to posts.
@else
@foreach($applications as $app) @php $status = strtolower($app->status_label ?? $app->status ?? ''); $pillTone = str_contains($status, 'approv') ? 's-success' : (str_contains($status, 'reject') ? 's-danger' : 's-warning'); @endphp @endforeach
# Candidate Post Roll # Status Applied Actions
@if($app->isPending()) @endif {{ $loop->iteration }}
{{ $app->user?->name }}
{{ $app->user?->email }}
{{ $app->post?->code }}
{{ Str::limit($app->post?->title, 36) }}
@if($app->roll_number) {{ $app->roll_number }} @else @endif {{ $app->status_label ?? ucfirst($app->status) }} {{ $app->created_at->format('d M Y') }}
@if($app->isPending())
@csrf
@else @endif
@if($applications->hasPages())
{{ $applications->links() }}
@endif @endif
{{-- Hidden bulk-approve form — populated by JS with the selected ids --}} {{-- Sticky bulk toolbar — appears when ≥1 row is selected. --}}
0selected
{{-- Reject modal — populated dynamically by the trigger buttons --}} @endsection @push('scripts') @endpush