|
|
<!DOCTYPE html> |
|
|
<html lang="ar" dir="rtl"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>مدرسة حموم سعيد - الصف الأول ابتدائي</title> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
|
|
<style> |
|
|
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700&display=swap'); |
|
|
|
|
|
body { |
|
|
font-family: 'Tajawal', sans-serif; |
|
|
background-color: #f5f7fa; |
|
|
} |
|
|
|
|
|
.sidebar { |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.student-card:hover { |
|
|
transform: translateY(-5px); |
|
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
|
|
|
.grade-progress { |
|
|
height: 8px; |
|
|
} |
|
|
|
|
|
.grade-A { |
|
|
background-color: #10B981; |
|
|
} |
|
|
|
|
|
.grade-B { |
|
|
background-color: #3B82F6; |
|
|
} |
|
|
|
|
|
.grade-C { |
|
|
background-color: #F59E0B; |
|
|
} |
|
|
|
|
|
.grade-D { |
|
|
background-color: #EF4444; |
|
|
} |
|
|
|
|
|
.subject-icon { |
|
|
width: 50px; |
|
|
height: 50px; |
|
|
} |
|
|
|
|
|
.grade-indicator { |
|
|
width: 80px; |
|
|
height: 30px; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
border-radius: 4px; |
|
|
font-weight: bold; |
|
|
font-size: 0.8rem; |
|
|
} |
|
|
|
|
|
.tab-content { |
|
|
display: none; |
|
|
} |
|
|
|
|
|
.tab-content.active { |
|
|
display: block; |
|
|
} |
|
|
|
|
|
.menu-item.active { |
|
|
background-color: #1e40af; |
|
|
} |
|
|
|
|
|
.grade-input { |
|
|
width: 80px; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.grade-input:focus { |
|
|
outline: 2px solid #3B82F6; |
|
|
} |
|
|
|
|
|
.subject-card { |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.subject-card:hover { |
|
|
transform: translateY(-3px); |
|
|
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
|
|
|
.student-id { |
|
|
font-size: 0.7rem; |
|
|
color: #6b7280; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="bg-gray-50"> |
|
|
<div class="flex h-screen overflow-hidden"> |
|
|
|
|
|
<div class="sidebar bg-blue-800 text-white w-64 flex-shrink-0 hidden md:block"> |
|
|
<div class="p-4"> |
|
|
<h1 class="text-2xl font-bold text-center">مدرسة حموم سعيد</h1> |
|
|
<p class="text-center text-blue-200 mt-1">الصف الأول ابتدائي</p> |
|
|
</div> |
|
|
<nav class="mt-6"> |
|
|
<div class="px-4 py-3 bg-blue-900"> |
|
|
<div class="flex items-center"> |
|
|
<i class="fas fa-user-tie ml-2"></i> |
|
|
<span>الأستاذ: باكلي سعيد</span> |
|
|
</div> |
|
|
</div> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white bg-blue-700 active" data-tab="home"> |
|
|
<i class="fas fa-home ml-2"></i> |
|
|
<span>الرئيسية</span> |
|
|
</a> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white hover:bg-blue-700" data-tab="students"> |
|
|
<i class="fas fa-users ml-2"></i> |
|
|
<span>قائمة الطلاب</span> |
|
|
</a> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white hover:bg-blue-700" data-tab="grades"> |
|
|
<i class="fas fa-graduation-cap ml-2"></i> |
|
|
<span>إدخال الدرجات</span> |
|
|
</a> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white hover:bg-blue-700" data-tab="stats"> |
|
|
<i class="fas fa-chart-line ml-2"></i> |
|
|
<span>الإحصائيات</span> |
|
|
</a> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white hover:bg-blue-700" data-tab="schedule"> |
|
|
<i class="fas fa-calendar-alt ml-2"></i> |
|
|
<span>الجدول الدراسي</span> |
|
|
</a> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white hover:bg-blue-700" data-tab="messages"> |
|
|
<i class="fas fa-envelope ml-2"></i> |
|
|
<span>رسائل أولياء الأمور</span> |
|
|
</a> |
|
|
<a href="#" class="menu-item flex items-center px-4 py-3 text-white hover:bg-blue-700" data-tab="settings"> |
|
|
<i class="fas fa-cog ml-2"></i> |
|
|
<span>الإعدادات</span> |
|
|
</a> |
|
|
</nav> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex-1 overflow-auto"> |
|
|
|
|
|
<header class="bg-blue-800 text-white p-4 flex items-center justify-between md:hidden"> |
|
|
<button id="menu-toggle" class="text-white"> |
|
|
<i class="fas fa-bars text-xl"></i> |
|
|
</button> |
|
|
<h1 class="text-xl font-bold">مدرسة حموم سعيد</h1> |
|
|
<div class="w-6"></div> |
|
|
</header> |
|
|
|
|
|
|
|
|
<main class="p-4"> |
|
|
|
|
|
<div id="home" class="tab-content active"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">مرحبا بك، الأستاذ باكلي سعيد</h2> |
|
|
<p class="text-gray-600">الصف الأول ابتدائي - 36 طالبًا</p> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-6"> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-blue-100 text-blue-600"> |
|
|
<i class="fas fa-users text-xl"></i> |
|
|
</div> |
|
|
<div class="mr-3"> |
|
|
<p class="text-gray-500">عدد الطلاب</p> |
|
|
<h3 class="text-xl font-bold">36</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-green-100 text-green-600"> |
|
|
<i class="fas fa-check-circle text-xl"></i> |
|
|
</div> |
|
|
<div class="mr-3"> |
|
|
<p class="text-gray-500">الحضور اليوم</p> |
|
|
<h3 class="text-xl font-bold">34</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600"> |
|
|
<i class="fas fa-tasks text-xl"></i> |
|
|
</div> |
|
|
<div class="mr-3"> |
|
|
<p class="text-gray-500">الواجبات المعلقة</p> |
|
|
<h3 class="text-xl font-bold">5</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-purple-100 text-purple-600"> |
|
|
<i class="fas fa-calendar-alt text-xl"></i> |
|
|
</div> |
|
|
<div class="mr-3"> |
|
|
<p class="text-gray-500">الأحداث القادمة</p> |
|
|
<h3 class="text-xl font-bold">2</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow mb-6"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">المواد الدراسية</h3> |
|
|
<div class="grid grid-cols-2 md:grid-cols-5 gap-4"> |
|
|
<div class="border rounded-lg p-4 text-center"> |
|
|
<div class="subject-icon bg-blue-100 text-blue-600 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-book-open text-2xl"></i> |
|
|
</div> |
|
|
<h4 class="font-bold">اللغة العربية</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 7.8/10</p> |
|
|
<div class="mt-2"> |
|
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
|
<div class="bg-blue-600 h-2.5 rounded-full" style="width: 78%"></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="border rounded-lg p-4 text-center"> |
|
|
<div class="subject-icon bg-green-100 text-green-600 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-calculator text-2xl"></i> |
|
|
</div> |
|
|
<h4 class="font-bold">الرياضيات</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 7.1/10</p> |
|
|
<div class="mt-2"> |
|
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
|
<div class="bg-green-600 h-2.5 rounded-full" style="width: 71%"></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="border rounded-lg p-4 text-center"> |
|
|
<div class="subject-icon bg-purple-100 text-purple-600 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-mosque text-2xl"></i> |
|
|
</div> |
|
|
<h4 class="font-bold">التربية الإسلامية</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 8.4/10</p> |
|
|
<div class="mt-2"> |
|
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
|
<div class="bg-purple-600 h-2.5 rounded-full" style="width: 84%"></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="border rounded-lg p-4 text-center"> |
|
|
<div class="subject-icon bg-yellow-100 text-yellow-600 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-paint-brush text-2xl"></i> |
|
|
</div> |
|
|
<h4 class="font-bold">التربية الفنية</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 8.8/10</p> |
|
|
<div class="mt-2"> |
|
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
|
<div class="bg-yellow-500 h-2.5 rounded-full" style="width: 88%"></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="border rounded-lg p-4 text-center"> |
|
|
<div class="subject-icon bg-red-100 text-red-600 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-music text-2xl"></i> |
|
|
</div> |
|
|
<h4 class="font-bold">التربية الموسيقية</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 9.1/10</p> |
|
|
<div class="mt-2"> |
|
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
|
<div class="bg-red-500 h-2.5 rounded-full" style="width: 91%"></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow mb-6"> |
|
|
<div class="flex justify-between items-center mb-4"> |
|
|
<h3 class="text-xl font-bold text-gray-800">أحدث الدرجات المسجلة</h3> |
|
|
<a href="#" class="text-blue-600 hover:underline">عرض الكل</a> |
|
|
</div> |
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">اسم الطالب</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">المادة</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الدرجة</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">التاريخ</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">التقييم</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200"> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">أحمد محمد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">8.0/10</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2023-06-15</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<div class="grade-indicator bg-green-100 text-green-800">جيد جدًا</div> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">سارة علي</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">7.0/10</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2023-06-14</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<div class="grade-indicator bg-blue-100 text-blue-800">جيد</div> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">يوسف خالد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الإسلامية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">8.5/10</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2023-06-14</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<div class="grade-indicator bg-green-100 text-green-800">جيد جدًا</div> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">ليلى عبدالله</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الفنية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">6.0/10</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2023-06-13</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<div class="grade-indicator bg-yellow-100 text-yellow-800">مقبول</div> |
|
|
</td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">أفضل الطلاب</h3> |
|
|
<div class="space-y-4"> |
|
|
<div class="flex items-center p-3 border rounded-lg student-card transition duration-300"> |
|
|
<div class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center font-bold ml-2">1</div> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-bold">أحمد محمد</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 8.5/10</p> |
|
|
</div> |
|
|
<div class="grade-indicator bg-green-100 text-green-800">ممتاز</div> |
|
|
</div> |
|
|
<div class="flex items-center p-3 border rounded-lg student-card transition duration-300"> |
|
|
<div class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center font-bold ml-2">2</div> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-bold">سارة علي</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 8.2/10</p> |
|
|
</div> |
|
|
<div class="grade-indicator bg-green-100 text-green-800">ممتاز</div> |
|
|
</div> |
|
|
<div class="flex items-center p-3 border rounded-lg student-card transition duration-300"> |
|
|
<div class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center font-bold ml-2">3</div> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-bold">يوسف خالد</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 8.0/10</p> |
|
|
</div> |
|
|
<div class="grade-indicator bg-blue-100 text-blue-800">جيد جدًا</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">طلاب يحتاجون متابعة</h3> |
|
|
<div class="space-y-4"> |
|
|
<div class="flex items-center p-3 border rounded-lg student-card transition duration-300"> |
|
|
<div class="bg-red-100 text-red-800 w-10 h-10 rounded-full flex items-center justify-center font-bold ml-2"> |
|
|
<i class="fas fa-exclamation"></i> |
|
|
</div> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-bold">ليلى عبدالله</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 5.5/10</p> |
|
|
</div> |
|
|
<div class="grade-indicator bg-red-100 text-red-800">ضعيف</div> |
|
|
</div> |
|
|
<div class="flex items-center p-3 border rounded-lg student-card transition duration-300"> |
|
|
<div class="bg-yellow-100 text-yellow-800 w-10 h-10 rounded-full flex items-center justify-center font-bold ml-2"> |
|
|
<i class="fas fa-exclamation"></i> |
|
|
</div> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-bold">عمر فارس</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 6.0/10</p> |
|
|
</div> |
|
|
<div class="grade-indicator bg-yellow-100 text-yellow-800">مقبول</div> |
|
|
</div> |
|
|
<div class="flex items-center p-3 border rounded-lg student-card transition duration-300"> |
|
|
<div class="bg-yellow-100 text-yellow-800 w-10 h-10 rounded-full flex items-center justify-center font-bold ml-2"> |
|
|
<i class="fas fa-exclamation"></i> |
|
|
</div> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-bold">نورا سعيد</h4> |
|
|
<p class="text-sm text-gray-500">المعدل: 6.2/10</p> |
|
|
</div> |
|
|
<div class="grade-indicator bg-yellow-100 text-yellow-800">مقبول</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="students" class="tab-content"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">قائمة الطلاب</h2> |
|
|
<p class="text-gray-600">إدارة طلاب الصف الأول ابتدائي</p> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow mb-6"> |
|
|
<div class="flex justify-between items-center mb-4"> |
|
|
<h3 class="text-xl font-bold text-gray-800">جميع الطلاب</h3> |
|
|
<button class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"> |
|
|
<i class="fas fa-plus ml-2"></i> إضافة طالب جديد |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">#</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">اسم الطالب</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">تاريخ الميلاد</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">ولي الأمر</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الهاتف</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الإجراءات</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200"> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">1</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">أحمد محمد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2016-05-12</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">محمد أحمد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">0612345678</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<button class="text-blue-600 hover:text-blue-800 mx-1"> |
|
|
<i class="fas fa-eye"></i> |
|
|
</button> |
|
|
<button class="text-yellow-600 hover:text-yellow-800 mx-1"> |
|
|
<i class="fas fa-edit"></i> |
|
|
</button> |
|
|
<button class="text-red-600 hover:text-red-800 mx-1"> |
|
|
<i class="fas fa-trash"></i> |
|
|
</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">سارة علي</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2016-07-23</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">علي محمود</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">0612345679</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<button class="text-blue-600 hover:text-blue-800 mx-1"> |
|
|
<i class="fas fa-eye"></i> |
|
|
</button> |
|
|
<button class="text-yellow-600 hover:text-yellow-800 mx-1"> |
|
|
<i class="fas fa-edit"></i> |
|
|
</button> |
|
|
<button class="text-red-600 hover:text-red-800 mx-1"> |
|
|
<i class="fas fa-trash"></i> |
|
|
</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">3</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">يوسف خالد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2016-03-15</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">خالد يوسف</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">0612345680</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<button class="text-blue-600 hover:text-blue-800 mx-1"> |
|
|
<i class="fas fa-eye"></i> |
|
|
</button> |
|
|
<button class="text-yellow-600 hover:text-yellow-800 mx-1"> |
|
|
<i class="fas fa-edit"></i> |
|
|
</button> |
|
|
<button class="text-red-600 hover:text-red-800 mx-1"> |
|
|
<i class="fas fa-trash"></i> |
|
|
</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap">4</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">ليلى عبدالله</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">2016-09-30</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">عبدالله محمد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">0612345681</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap"> |
|
|
<button class="text-blue-600 hover:text-blue-800 mx-1"> |
|
|
<i class="fas fa-eye"></i> |
|
|
</button> |
|
|
<button class="text-yellow-600 hover:text-yellow-800 mx-1"> |
|
|
<i class="fas fa-edit"></i> |
|
|
</button> |
|
|
<button class="text-red-600 hover:text-red-800 mx-1"> |
|
|
<i class="fas fa-trash"></i> |
|
|
</button> |
|
|
</td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="grades" class="tab-content"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">إدخال الدرجات</h2> |
|
|
<p class="text-gray-600">تسجيل درجات الطلاب في المواد المختلفة</p> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow mb-6"> |
|
|
<h2 class="text-xl font-bold text-gray-800 border-b pb-2 mb-4">إدخال الدرجات (0/10 - 10/10)</h2> |
|
|
|
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">رقم التعريف</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الطالب</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الغة العربية</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الرياضيات</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">التربية الإسلامية</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">التربية الفنية</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">المعدل</th> |
|
|
<th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">التقييم</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200" id="studentTable"> |
|
|
|
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
|
|
|
<div class="mt-6 flex justify-end"> |
|
|
<button id="saveBtn" class="bg-blue-600 hover:bg-blue-700 text-white font-bold py-2 px-6 rounded-lg mr-2"> |
|
|
<i class="fas fa-save ml-2"></i> حفظ التغييرات |
|
|
</button> |
|
|
<button id="resetBtn" class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-bold py-2 px-6 rounded-lg"> |
|
|
<i class="fas fa-redo ml-2"></i> إعادة تعيين |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6"> |
|
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow subject-card"> |
|
|
<div class="flex items-center mb-4"> |
|
|
<div class="bg-blue-100 text-blue-700 p-3 rounded-full mr-3"> |
|
|
<i class="fas fa-chalkboard-teacher text-xl"></i> |
|
|
</div> |
|
|
<h3 class="text-lg font-bold text-gray-800">معدل الفصل</h3> |
|
|
</div> |
|
|
<div class="text-center"> |
|
|
<div id="classAverage" class="text-4xl font-bold text-blue-600 mb-2">0.0</div> |
|
|
<div class="w-full bg-gray-200 rounded-full h-4"> |
|
|
<div id="classAverageBar" class="bg-blue-600 h-4 rounded-full" style="width: 0%"></div> |
|
|
</div> |
|
|
<p class="text-sm text-gray-500 mt-2">من أصل 10</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow subject-card"> |
|
|
<div class="flex items-center mb-4"> |
|
|
<div class="bg-green-100 text-green-700 p-3 rounded-full mr-3"> |
|
|
<i class="fas fa-star text-xl"></i> |
|
|
</div> |
|
|
<h3 class="text-lg font-bold text-gray-800">أفضل مادة</h3> |
|
|
</div> |
|
|
<div class="text-center"> |
|
|
<div id="bestSubject" class="text-2xl font-bold text-green-600 mb-1">-</div> |
|
|
<div id="bestSubjectScore" class="text-3xl font-bold mb-2">0.极</div> |
|
|
<div id="bestSubjectEval" class="grade-indicator bg-gray-100 text-gray-800 mx-auto">-</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow subject-card"> |
|
|
<div class="flex items-center mb-4"> |
|
|
<div class="bg-yellow-100 text-yellow-700 p-3 rounded-full mr-3"> |
|
|
<i class="fas fa-exclamation-triangle text-xl"></i> |
|
|
</div> |
|
|
<h3 class="text-lg font-bold text-gray-800">تحتاج تحسين</h3> |
|
|
</div> |
|
|
<div class="text-center"> |
|
|
<div id="weakSubject" class="text-2xl font-bold text-yellow-600 mb-1">-</div> |
|
|
<div id="weakSubjectScore" class="text-3xl font-bold mb-2">0.0</div> |
|
|
<div id="weakSubjectEval" class="grade-indicator bg-gray-100 text-gray-800 mx-auto">-</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow"> |
|
|
<h2 class="text-xl font-bold text-gray-800 border-b pb-2 mb-4">أداء الطلاب</h2> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
|
|
|
|
<div> |
|
|
<h3 class="text-lg font-bold text-gray-800 mb-3 flex items-center"> |
|
|
<i class="fas fa-trophy text-yellow-500 ml-2"></i> أفضل 3 طلاب |
|
|
</h3> |
|
|
<div id="topStudents" class="space-y-3"> |
|
|
|
|
|
<div class="text-center py-4 text-gray-500"> |
|
|
<i class="fas fa-spinner fa-spin mr-2"></i> |
|
|
جاري تحميل البيانات... |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<h3 class="text-lg font-bold text-gray-800 mb-3 flex items-center"> |
|
|
<i class="fas fa-hands-helping text-red-500 ml-2"></i> يحتاجون متابعة |
|
|
</h3> |
|
|
<div id="weakStudents" class="space-y-3"> |
|
|
|
|
|
<div class="text-center py-4 text-gray-500"> |
|
|
<i class="fas fa-spinner fa-spin mr极2"></i> |
|
|
جاري تحميل البيانات... |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="stats" class="tab-content"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">الإحصائيات</h2> |
|
|
<p class="极text-gray-600">تحليل أداء الطلاب في المواد المختلفة</p> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6"> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">توزيع الدرجات - اللغة العربية</h3> |
|
|
<div class="h-64"> |
|
|
|
|
|
<div class="flex items-center justify-center h-full bg-gray-100 rounded"> |
|
|
<p class="text-gray-500">رسم بياني يظهر توزيع الدرجات</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">توزيع الدرجات - الرياضيات</h3> |
|
|
<div class="h-64"> |
|
|
|
|
|
<div class="flex items-center justify-center h-full bg-gray-100 rounded"> |
|
|
<p class="text-gray-500">رسم بياني يظهر توزيع الدرجات</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow mb-6"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">مقارنة بين المواد</h3> |
|
|
<div class="h-96"> |
|
|
|
|
|
<div class="flex items-center justify-center h-full bg-gray-100 rounded"> |
|
|
<p class="text-gray-500">رسم بياني مقارن بين متوسطات المواد</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="schedule" class="tab-content"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">الجدول الدراسي</h2> |
|
|
<p class="text-gray-600">جدول حصص الصف الأول ابتدائي</p> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow mb-6"> |
|
|
<div class="flex justify-between items-center mb-4"> |
|
|
<h3 class="text-xl font-bold text-gray-800">جدول الحصص الأسبوعي</h3> |
|
|
<button class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"> |
|
|
<i class="fas fa-edit ml-2"></i> تعديل الجدول |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">اليوم</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الحصة الأولى</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الحصة الثانية</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray极500 uppercase tracking-wider">الحصة الثالثة</th> |
|
|
<th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الحصة الرابعة</th> |
|
|
<th class="px-4 py-极2 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الحصة الخامسة</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200"> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">الأحد</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الإسلامية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الفنية</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">الإثنين</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الموسيقية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">الثلاثاء</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الإسلامية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</极td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الفنية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">الأربعاء</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الإسلامية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الموسيقية</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-4 py-2 whitespace-nowrap font-bold">الخميس</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">التربية الإسلامية</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">الرياضيات</td> |
|
|
<td class="px-4 py-2 whitespace-nowrap">اللغة العربية</td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="messages" class="tab-content"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">رسائل أولياء الأمور</h2> |
|
|
<p class="text-gray-600">إدارة التواصل مع أولياء أمور الطلاب</p> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6"> |
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">الرسائل الواردة</h3> |
|
|
<div class="space-y-3"> |
|
|
<div class="border-b pb-3"> |
|
|
<div class="flex justify-between items-start"> |
|
|
<div> |
|
|
<h4 class="font-bold">محمد أحمد</h4> |
|
|
<p class="text-sm text-gray-500">والد أحمد محمد</p> |
|
|
</div> |
|
|
<span class="text-xs text-gray-500">2023-06-15</span> |
|
|
</div> |
|
|
<p class="mt-2 text-gray-700 line-clamp-2">أريد معرفة مستوى ابني في مادة الرياضيات خلال الأسبوع الماضي...</p> |
|
|
<button class="mt-2 text-blue-600 hover:underline text-sm">قراءة الرسالة</button> |
|
|
</div> |
|
|
<div class="border-b pb-3"> |
|
|
<极div class="flex justify-between items-start"> |
|
|
<div> |
|
|
<h4 class="font-bold">علي محمود</h4> |
|
|
<p class="text-sm text-gray-500">والد سارة علي</p> |
|
|
</div> |
|
|
<span class="text-xs text-gray-500">2023-06-14</span> |
|
|
</div> |
|
|
<p class="mt-2 text-gray-700 line-clamp-2">ابنتي تخبرني أنها تواجه صعوبة في فهم بعض دروس اللغة العربية...</p> |
|
|
<button class="mt-2 text-blue-600 hover:underline text-sm">قراءة الرسالة</button> |
|
|
</div> |
|
|
</div> |
|
|
<button class="mt-4 w-full bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"> |
|
|
عرض جميع الرسائل |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="md:col-span-2 bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">إرسال رسالة جديدة</h3> |
|
|
<form> |
|
|
<div class="mb-4"> |
|
|
<label class="block text-gray-700 mb-2">إلى ولي الأمر</label> |
|
|
<select class="border rounded px-3 py-2 w-full"> |
|
|
<option>اختر ولي الأمر</option> |
|
|
<option>محمد أحمد (أحمد محمد)</option> |
|
|
<option>علي محمود (سارة علي)</option> |
|
|
<option>خالد يوسف (يوسف خالد)</option> |
|
|
<option>عبدالله محمد (ليلى عبدالله)</option> |
|
|
</select> |
|
|
</div> |
|
|
<div class="mb-4"> |
|
|
<label class="block text-gray-700 mb-2">الموضوع</label> |
|
|
<input type="text" class="border rounded px-3 py-2 w-full" placeholder="أدخل موضوع الرسالة"> |
|
|
</div> |
|
|
<div class="mb-4"> |
|
|
<label class="block text-gray-700 mb-2">نص الرسالة</label> |
|
|
<textarea class="border rounded px-3 py-2 w-full h-32" placeholder="أدخل نص الرسالة هنا..."></textarea> |
|
|
</div> |
|
|
<button type="submit" class="bg-green-600 text-white px-4 py-2 rounded hover:bg-green-700"> |
|
|
<i class="fas fa-paper-plane ml-2"></i> إرسال الرسالة |
|
|
</button> |
|
|
</form> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="settings" class="tab-content"> |
|
|
<div class="mb-6"> |
|
|
<h2 class="text-2xl font-bold text-gray-800">الإعدادات</h极> |
|
|
<p class="text-gray-600">تخصيص إعدادات حسابك ونظام المدرسة</p> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6"> |
|
|
<div class="md:col-span-2 bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">معلومات الحساب</h3> |
|
|
<form> |
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"> |
|
|
<div> |
|
|
<label class="block text-gray-700 mb-2">الاسم الأول</label> |
|
|
<input type="text" class="border rounded px-3 py-2 w-full" value="باكلي"> |
|
|
</div> |
|
|
<div> |
|
|
<label class="block text-gray-700 mb-2">الاسم الأخير</label> |
|
|
<input type="text" class="border rounded px-3 py-2 w-full" value="سعيد"> |
|
|
</div> |
|
|
</div> |
|
|
<div class="mb-4"> |
|
|
<label class="block text-gray-700 mb-2">البريد الإلكتروني</label> |
|
|
<input type="email" class="border rounded px-3 py-2 w-full" value="said.bakli@example.com"> |
|
|
</div> |
|
|
<div class="mb-4"> |
|
|
<label class="block text-gray-700 mb-2">كلمة المرور الحالية</label> |
|
|
<input type="password" class="border rounded px-3 py-2 w-full" placeholder="أدخل كلمة المرور الحالية"> |
|
|
</div> |
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"> |
|
|
<div> |
|
|
<label class="block text-gray-700 mb-2">كلمة المرور الجديدة</label> |
|
|
<input type="password" class="border rounded px-3 py-2 w-full" placeholder="كلمة المرور الجديدة"> |
|
|
</div> |
|
|
<div> |
|
|
<label class="block text-gray-700 mb-2">تأكيد كلمة المرور</label> |
|
|
<input type="password" class="border rounded px-3 py-2 w-full" placeholder="تأكيد كلمة المرور"> |
|
|
</div> |
|
|
</div> |
|
|
<button type="submit" class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"> |
|
|
<i class="fas fa-save ml-2"></i> حفظ التغييرات |
|
|
</button> |
|
|
</form> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow"> |
|
|
<h3 class="text-xl font-bold text-gray-800 mb-4">إعدادات النظام</h3> |
|
|
<div class="space-y-4"> |
|
|
<div> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="form-checkbox" checked> |
|
|
<span class="mr-2">إشعارات البريد الإلكتروني</span> |
|
|
</label> |
|
|
<p class="text-sm text-gray-500 mt-1">تلقي إشعارات عبر البريد الإلكتروني عند تسجيل درجات جديدة</p> |
|
|
</div> |
|
|
<div> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="form-checkbox" checked> |
|
|
<span class="mr-2">إشعارات الرسائل القصيرة</span> |
|
|
</label> |
|
|
<p class="text-sm text-gray-500 mt-1">إرسال رسائل SMS لأولياء الأمور عند تسجيل درجات منخفضة</p> |
|
|
</div> |
|
|
<div> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="form-checkbox"> |
|
|
<span class="mr-2">وضع الظلام</span> |
|
|
</label> |
|
|
<p class="text-sm text-gray-500 mt-1">تفعيل الوضع المظلم لواجهة المستخدم</p> |
|
|
</div> |
|
|
</div> |
|
|
<button class="mt-6 w-full bg-green-600 text-white px-4 py-2 rounded hover:bg-green-700"> |
|
|
<i class="fas fa-sync-alt ml-2"></i> تطبيق الإعدادات |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</main> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
|
|
|
document.getElementById('menu-toggle').addEventListener('click', function() { |
|
|
document.querySelector('.sidebar').classList.toggle('hidden'); |
|
|
}); |
|
|
|
|
|
|
|
|
const menuItems = document.querySelectorAll('.menu-item'); |
|
|
const tabContents = document.querySelectorAll('.tab-content'); |
|
|
|
|
|
menuItems.forEach(item => { |
|
|
item.addEventListener('click', function(e) { |
|
|
e.preventDefault(); |
|
|
|
|
|
|
|
|
menuItems.forEach(i => i.classList.remove('active')); |
|
|
|
|
|
this.classList.add('active'); |
|
|
|
|
|
|
|
|
tabContents.forEach(content => content.classList.remove('active')); |
|
|
|
|
|
const tabId = this.getAttribute('data-tab'); |
|
|
document.getElementById(tabId).classList.add('active'); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const students = [ |
|
|
{id: 430, regNum: "1101806010679900", lastName: "أبركان", firstName: "لياقوت", gender: "أنثى", dob: "2018-08-04", age: 6}, |
|
|
{id: 431, regNum: "1101806010680300", lastName: "أدمام", firstName: "مروي", gender极 "أنثى", dob: "2018-08-04", age: 6}, |
|
|
{id: 432, regNum: "1001806010949200", lastName: "أوبراهم", firstName: "إسماعيل", gender: "ذكر", dob: "2018-10-13", age: 6}, |
|
|
{id: 433, regNum: "1101806010484600", lastName: "أيت إدير", firstName: "سلين", gender: "أنثى", dob: "2018-06-19", age: 6}, |
|
|
{id: 434, regNum: "1101806010970200", lastName: "أيت عيسي", firstName: "دنيا", gender: "أنثى", dob: "2018-10-19", age: 6}, |
|
|
{id: 435, regNum: "1001806010813200", lastName: "بعزيزي", firstName: "يونس", gender: "ذكر", dob: "2018-09-06", age: 6}, |
|
|
{id: 436, regNum: "1001806010630400", lastName: "بن عيسي", firstName: "أيوب", gender: "ذكر", dob: "2018-07-24", age: 6}, |
|
|
{id: 437, regNum: "1101806010950000", lastName: "بناي", firstName: "إلينا", gender: "أنثى", dob: "2018-10-14", age: 6}, |
|
|
{id: 438, regNum: "1001806010645000", lastName: "تولوم", firstName: "محمد وسيم", gender: "ذكر", dob: "2018-07-27", age: 6}, |
|
|
{id: 439, regNum: "1001806390106400", lastName: "حجام", firstName: "ياني", gender: "ذكر", dob: "2018-07-28", age: 6}, |
|
|
{id: 440, regNum: "1001806010677100", lastName: "حداد", firstName: "أيمن", gender: "ذكر", dob: "2018-08-03", age: 6}, |
|
|
{id: 441, regNum: "1001806010690500", lastName: "حساوي", firstName: "إلياس", gender: "ذكر", dob: "2018-08-06", age: 6}, |
|
|
{id: 442, regNum: "1101806010753900", lastName: "حموش", firstName: "حورية", gender: "أنثى", dob: "2018-08-22", age: 6}, |
|
|
{id: 443, regNum: "100180601070140极", lastName: "شولاق", firstName: "حسام", gender: "ذكر", dob: "2018-08-09", age: 6}, |
|
|
{id: 444, regNum: "1001806010807600", lastName: "عرقوب", firstName: "ياني", gender: "ذكر", dob: "极2018-09-04", age: 6}, |
|
|
{id: 445, regNum: "1101806010682700", lastName: "عسلون", firstName: "ملاك", gender: "أنثى", dob: "2018-08-05", age: 6}, |
|
|
{id: 446, regNum: "1001806010975800", lastName: "عيادي", firstName: "وسيم", gender: "ذكر", dob: "2018-10-20", age: 6}, |
|
|
{id: 447, regNum: "1101806010846100", lastName: "كبيش", firstName: "ليليان", gender: "أنثى", dob: "2018-09-14", age: 6}, |
|
|
{id: 448, regNum: "1101806010683800", lastName: "كوشة", firstName: "روزة", gender: "أنثى", dob: "2018-08-05", age: 6}, |
|
|
{id: 449, regNum: "1001806010957300", lastName: "لعراب", firstName: "الهاشمي يوداس", gender: "ذكر", dob: "2018-10-16", age: 6}, |
|
|
{id: 450, regNum: "1001806010385900", lastName: "لمريو", firstName: "بوزيد", gender: "ذكر", dob: "2018-05-24", age: 6}, |
|
|
{id: 451, regNum: "1101806010110400", lastName: "مادي", firstName: "تينهينان", gender: "أنثى", dob: "2018-02-08", age: 7}, |
|
|
{id: 452, regNum: "1101816120059700", lastName: "واعر", firstName: "هبة", gender: "أنثى", dob: "2018-08-11", age: 6}, |
|
|
{id: 453, regNum: "1101806011178300", lastName: "أوعيشوش", firstName: "فايز", gender: "ذكر", dob: "2018-12-22", age: 6}, |
|
|
{id: 454, regNum: "1001806010343100", lastName: "بورشوش", firstName: "أنيا", gender: "أنثى", dob: "2018-05-09", age: 6}, |
|
|
{id: 455, regNum: "1020190601003406", lastName: "بوعودية", firstName: "حكيمة", gender: "أنثى", dob: "2019-01-10", age: 6}, |
|
|
{id: 456, regNum: "1001906010059403", lastName: "حفاف", firstName: "بوعلام", gender: "ذكر", dob: "2019-03-22", age: 6}, |
|
|
{id: 457, regNum: "1101806011010900", lastName: "حموش", firstName: "غيلاس", gender: "ذكر", dob: "2018-10-30", age: 6}, |
|
|
{id: 458, regNum: "1020190601005606", lastName: "رابحي", firstName: "عبد العظيم", gender: "ذكر", dob: "2019-01-16", age: 6}, |
|
|
{id: 459, regNum: "1101814290126600", lastName: "روتال", firstName: "جهاد عبد الاله", gender: "ذكر", dob: "2018-08-20", age: 6}, |
|
|
{id: 460, regNum: "1101806011187300", lastName: "شجاري المر", firstName: "محمد إسلام", gender: "ذكر", dob: "2018-12-24", age: 6}, |
|
|
{id: 461, regNum: "1101806011020700", lastName: "ططاح", firstName: "أكسل", gender: "ذكر", dob: "2018-11-02", age: 6}, |
|
|
{id: 462, regNum: "1001806011104000", lastName: "عرقوب", firstName: "سيرين", gender: "أنثى", dob: "2018-11-27", age: 6}, |
|
|
{id: 463, regNum: "1101906010056800", lastName: "منصر", firstName: "ميرال", gender: "أنثى", dob: "2019-03-21", age: 6}, |
|
|
{id: 464, regNum: "1101806010631400", lastName: "مولوج", firstName: "أدم", gender: "ذكر", dob: "2018-07-24", age: 6}, |
|
|
{id: 465, regNum: "1020190601005502", lastName: "مولوجي", firstName: "سيدرة", gender: "أنثى", dob: "2019-01-16", age: 6}, |
|
|
{id: 466, regNum: "1101806011207300", lastName: "ميزي علاوة", firstName: "آدم", gender: "ذكر", dob: "2018-12-31", age: 6} |
|
|
]; |
|
|
|
|
|
|
|
|
const studentGrades = students.map(student => { |
|
|
return { |
|
|
...student, |
|
|
arabic: (Math.random() * 5 + 5).toFixed(1), |
|
|
math: (Math.random() * 5 + 5).toFixed(1), |
|
|
islamic: (Math.random() * 5 + 5).toFixed(1), |
|
|
art: (Math.random() * 5 + 5).toFixed(1), |
|
|
average: 0, |
|
|
evaluation: "" |
|
|
}; |
|
|
}); |
|
|
|
|
|
|
|
|
function calculateAverages() { |
|
|
studentGrades.forEach(student => { |
|
|
const avg = ((parseFloat(student.arabic) + parseFloat(student.math) + |
|
|
parseFloat(student.islamic) + parseFloat(student.art)) / 4).toFixed(1); |
|
|
student.average = avg; |
|
|
|
|
|
if (avg >= 8.5) { |
|
|
student.evaluation = "ممتاز"; |
|
|
} else if (avg >= 7) { |
|
|
student.evaluation = "جيد جدًا"; |
|
|
} else if (avg >= 5) { |
|
|
student.evaluation = "مقبول"; |
|
|
} else { |
|
|
student.evaluation = "ضعيف"; |
|
|
} |
|
|
}); |
|
|
} |
|
|
|
|
|
|
|
|
function renderStudentTable() { |
|
|
const tableBody = document.getElementById('studentTable'); |
|
|
tableBody.innerHTML = ''; |
|
|
|
|
|
studentGrades.forEach(student => { |
|
|
const row = document.createElement('tr'); |
|
|
|
|
|
row.innerHTML = ` |
|
|
<td class="px-4 py-3 whitespace-nowrap student-id">${student.id}</td> |
|
|
<td class="px-4 py-3 whitespace-nowrap"> |
|
|
<div class="font-medium">${student.firstName} ${student.lastName}</div> |
|
|
<div class="text-xs text-gray-500">${student.gender}, ${student.age} سنوات</div> |
|
|
</td> |
|
|
<td class="px-4 py-3 whitespace-nowrap"> |
|
|
<input type="number" min="0" max="10" step="0.5" class="grade-input border rounded p-1" |
|
|
value="${student.arabic}" data-subject="arabic" data-id="${student.id}"> |
|
|
</td> |
|
|
<td class="px极4 py-3 whitespace-nowrap"> |
|
|
<input type="number" min="0" max="10" step="0.5" class="grade-input border rounded p-1" |
|
|
value="${student.math}" data-subject="math" data-id="${student.id}"> |
|
|
</td> |
|
|
<td class="px-4 py-3 whitespace-nowrap"> |
|
|
<input type="number" min="0" max="10极 step="0.5" class="grade-input border rounded p-1" |
|
|
value="${student.islamic}" data-subject="islamic" data-id="${student.id}"> |
|
|
</td> |
|
|
<td class="px-4 py-3 whitespace-nowrap"> |
|
|
<input type="number" min="0" max="10" step="0.5" class="grade-input border rounded p-1" |
|
|
value="${student.art}" data-subject="art" data-id="${student.id}"> |
|
|
</td> |
|
|
<td class="px-4 py-3 whitespace-nowrap font-bold average-cell">${student.average}</td> |
|
|
<td class="px-4 py-3 whitespace-nowrap"> |
|
|
<div class="grade-indicator ${getEvaluationClass(student.evaluation)}">${student.evaluation}</div> |
|
|
</td> |
|
|
`; |
|
|
|
|
|
tableBody.appendChild(row); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.grade-input').forEach(input => { |
|
|
input.addEventListener('change', handleGradeChange); |
|
|
input.addEventListener('blur', validateGradeInput); |
|
|
}); |
|
|
|
|
|
updateStatistics(); |
|
|
} |
|
|
|
|
|
|
|
|
function getEvaluationClass(evaluation) { |
|
|
switch(evaluation) { |
|
|
case "ممتاز": return "bg-green-100 text-green-800"; |
|
|
case "جيد جدًا": return "bg-blue-100 text-blue-800"; |
|
|
case "مقبول": return "bg-yellow-100 text-yellow-800"; |
|
|
case "ضعيف": return "bg-red-100 text-red-800"; |
|
|
default: return "bg-gray-100 text-gray-800"; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function handleGradeChange(e) { |
|
|
const input = e.target; |
|
|
const studentId = parseInt(input.dataset.id); |
|
|
const subject = input.dataset.subject; |
|
|
const value = parseFloat(input.value) || 0; |
|
|
|
|
|
|
|
|
const student = studentGrades.find(s => s.id === studentId); |
|
|
if (student) { |
|
|
student[subject] = value.toFixed(1); |
|
|
|
|
|
|
|
|
const avg = ((parseFloat(student.arabic) + parseFloat(student.math) + |
|
|
parseFloat(student.islamic) + parseFloat(student.art)) / 4).toFixed(1); |
|
|
student.average = avg; |
|
|
|
|
|
|
|
|
if (avg >= 8.5) { |
|
|
student.evaluation = "ممتاز"; |
|
|
} else if (avg >= 7) { |
|
|
student.evaluation = "جيد جدًا"; |
|
|
} else if (avg >= 5) { |
|
|
student.evaluation = "مقبول"; |
|
|
} else { |
|
|
student.evaluation = "ضعيف"; |
|
|
} |
|
|
|
|
|
|
|
|
const row = input.closest('tr'); |
|
|
row.querySelector('.average-cell').textContent = avg; |
|
|
const evalCell = row.querySelector('.grade-indicator'); |
|
|
evalCell.className = `grade-indicator ${getEvaluationClass(student.evaluation)}`; |
|
|
evalCell.textContent = student.evaluation; |
|
|
|
|
|
updateStatistics(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function validateGradeInput(e) { |
|
|
const input = e.target; |
|
|
let value = parseFloat(input.value); |
|
|
|
|
|
if (isNaN(value)) { |
|
|
input.value = ''; |
|
|
return; |
|
|
} |
|
|
|
|
|
if (value < 0) input.value = '0'; |
|
|
if (value > 10) input.value = '10'; |
|
|
|
|
|
|
|
|
input.value = (Math.round(value * 2) / 2).toFixed(1); |
|
|
} |
|
|
|
|
|
|
|
|
function updateStatistics() { |
|
|
|
|
|
const total = studentGrades.reduce((sum, student) => sum + parseFloat(student.average), 0); |
|
|
const classAvg = (total / studentGrades.length).toFixed(1); |
|
|
document.getElementById('classAverage').textContent = classAvg; |
|
|
document.getElementById('classAverageBar').style.width = `${classAvg * 10}%`; |
|
|
|
|
|
|
|
|
const arabicAvg = studentGrades.reduce((sum, student) => sum + parseFloat(student.arabic), 0) / studentGrades.length; |
|
|
const mathAvg = studentGrades.reduce((sum, student) => sum + parseFloat(student.math), 0) / studentGrades.length; |
|
|
const islamicAvg = studentGrades.reduce((sum, student) => sum + parseFloat(student.islamic), 0) / studentGrades.length; |
|
|
const artAvg = studentGrades.reduce((sum, student) => sum + parseFloat(student.art), 0) / studentGrades.length; |
|
|
|
|
|
const subjects = [ |
|
|
{name: "اللغة العربية", avg: arabicAvg}, |
|
|
{name: "الرياضيات", avg: mathAvg}, |
|
|
{name: "التربية الإسلامية", avg: islamicAvg}, |
|
|
{name: "التربية الفنية", avg: artAvg} |
|
|
]; |
|
|
|
|
|
|
|
|
subjects.sort((a, b) => b.avg - a.avg); |
|
|
const bestSubject = subjects[0]; |
|
|
const weakSubject = subjects[subjects.length - 1]; |
|
|
|
|
|
document.getElementById('bestSubject').textContent = bestSubject.name; |
|
|
document.getElementById('bestSubjectScore').textContent = bestSubject.avg.toFixed(1); |
|
|
|
|
|
document.getElementById('weakSubject').textContent = weakSubject.name; |
|
|
document.getElementById('weakSubjectScore').textContent = weakSubject.avg.toFixed(1); |
|
|
|
|
|
|
|
|
const bestEval = bestSubject.avg >= 8.5 ? "ممتاز" : |
|
|
bestSubject.avg >= 7 ? "جيد جدًا" : |
|
|
bestSubject.avg >= 5 ? "مقبول" : "ضعيف"; |
|
|
|
|
|
const weakEval = weakSubject.avg >= 8.5 ? "ممتاز" : |
|
|
weakSubject.avg >= 7 ? "جيد جدًا" : |
|
|
weakSubject.avg >= 5 ? "مقبول" : "ضعيف"; |
|
|
|
|
|
const bestEvalCell = document.getElementById('bestSubjectEval'); |
|
|
bestEvalCell.className = `grade-indicator ${getEvaluationClass(bestEval)}`; |
|
|
bestEvalCell.textContent = bestEval; |
|
|
|
|
|
const weakEvalCell = document.getElementById('weakSubjectEval'); |
|
|
weakEvalCell.className = `grade-indicator ${getEvaluationClass(weakEval)}`; |
|
|
weakEvalCell.textContent = weakEval; |
|
|
|
|
|
|
|
|
updateStudentPerformance(); |
|
|
} |
|
|
|
|
|
|
|
|
function updateStudentPerformance() { |
|
|
|
|
|
const sortedStudents = [...studentGrades].sort((a, b) => b.average - a.average); |
|
|
|
|
|
|
|
|
const topStudentsContainer = document.getElementById('topStudents'); |
|
|
topStudentsContainer.innerHTML = ''; |
|
|
|
|
|
for (let i = 0; i < Math.min(3, sortedStudents |
|
|
</html> |