39669-vm/dashboard.php
2026-04-16 06:19:26 +00:00

123 lines
5.7 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/includes/app.php';
$flash = consume_flash();
$stats = dashboard_metrics();
$recentApplications = latest_applications(5);
render_page_start('لوحة القيادة', 'dashboard', 'لوحة متابعة منفصلة تعرض مؤشرات طلبات فتح المراكز وآخر الطلبات الواردة.');
render_flash($flash);
?>
<section class="py-4 py-lg-5">
<div class="container-xxl">
<div class="app-card mb-4">
<div class="section-head flex-column flex-lg-row align-items-start align-items-lg-center gap-3">
<div>
<div class="section-title">لوحة القيادة التشغيلية</div>
<div class="section-copy">هذه الصفحة مخصصة للمتابعة اليومية للمشرف العام: مؤشرات سريعة، آخر الطلبات، وروابط التحرك المباشر.</div>
</div>
<div class="d-flex flex-wrap gap-2">
<a class="btn btn-dark btn-sm px-3" href="applications.php?status=submitted">طلبات جديدة</a>
<a class="btn btn-outline-secondary btn-sm px-3" href="applications.php">كل الطلبات</a>
</div>
</div>
</div>
<div class="row g-3 mb-4">
<div class="col-sm-6 col-xl-3">
<div class="app-card stat-card h-100">
<div class="stat-label">إجمالي الطلبات</div>
<div class="stat-value"><?= e($stats['all']) ?></div>
<div class="stat-note">جميع طلبات فتح المراكز</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="app-card stat-card h-100">
<div class="stat-label">قيد الاستلام</div>
<div class="stat-value"><?= e($stats['submitted']) ?></div>
<div class="stat-note">بحاجة إلى بدء المراجعة</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="app-card stat-card h-100">
<div class="stat-label">تحت المراجعة</div>
<div class="stat-value"><?= e($stats['under_review']) ?></div>
<div class="stat-note">نشطة داخل مسار التقييم</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="app-card stat-card h-100">
<div class="stat-label">معتمد</div>
<div class="stat-value"><?= e($stats['approved']) ?></div>
<div class="stat-note">جاهز لاستقبال الطلاب</div>
</div>
</div>
</div>
<div class="row g-4">
<div class="col-lg-8">
<div class="app-card h-100">
<div class="section-head mb-3">
<div>
<div class="section-title">آخر الطلبات الواردة</div>
<div class="section-copy">قائمة مختصرة للطلبات الأحدث حتى يتمكن المشرف العام من فتح التفاصيل بسرعة.</div>
</div>
<a class="btn btn-outline-secondary btn-sm" href="applications.php">الانتقال إلى القائمة الكاملة</a>
</div>
<div class="table-responsive">
<table class="table app-table align-middle mb-0">
<thead>
<tr>
<th>المرجع</th>
<th>المركز</th>
<th>المدينة</th>
<th>الحالة</th>
<th>السعة</th>
</tr>
</thead>
<tbody>
<?php foreach ($recentApplications as $application): ?>
<tr>
<td><a class="table-link" href="application_detail.php?id=<?= e((string) $application['id']) ?>">#<?= e((string) $application['id']) ?></a></td>
<td>
<div class="fw-semibold"><?= e((string) $application['center_name']) ?></div>
<div class="text-muted small"><?= e((string) $application['director_name']) ?></div>
</td>
<td><?= e((string) $application['city']) ?></td>
<td><?= status_badge((string) $application['status']) ?></td>
<td><?= e((string) $application['expected_students']) ?> طالب</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="app-card h-100">
<div class="section-title mb-3">إجراءات سريعة</div>
<div class="module-list">
<article class="module-item">
<h2>بدء طلب جديد</h2>
<p class="mb-3">الانتقال مباشرة إلى شاشة التقديم دون المرور على تفاصيل أخرى.</p>
<a class="btn btn-outline-secondary btn-sm" href="center_application.php">فتح النموذج</a>
</article>
<article class="module-item">
<h2>مراجعة شاملة</h2>
<p class="mb-3">فتح لوحة الطلبات مع جميع السجلات وحالاتها الحالية.</p>
<a class="btn btn-outline-secondary btn-sm" href="applications.php">فتح القائمة</a>
</article>
<article class="module-item">
<h2>هيكل النظام</h2>
<p class="mb-3">مراجعة النطاق الحالي والصفحات المفصولة ضمن النسخة الأولية.</p>
<a class="btn btn-outline-secondary btn-sm" href="modules.php">فتح الصفحة</a>
</article>
</div>
</div>
</div>
</div>
</div>
</section>
<?php render_page_end(); ?>