undefined / teacher.html
Moamel19's picture
Official Request for Developing an Educational Website
1d9b079 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Teacher Portal - EduSphere</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
colors: {
primary: '#3b82f6',
secondary: '#8b5cf6',
accent: '#06b6d4'
}
}
}
}
</script>
<style>
.glass-effect {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.dark .glass-effect {
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.stat-card {
transition: all 0.3s ease;
}
.stat-card:hover {
transform: translateY(-5px);
}
</style>
</head>
<body class="bg-gradient-to-br from-blue-50 to-indigo-100 dark:from-gray-900 dark:to-gray-800 min-h-screen transition-colors duration-300">
<!-- Theme Toggle -->
<div class="fixed top-4 right-4 z-50">
<button id="themeToggle" class="glass-effect rounded-full p-3 text-gray-600 dark:text-gray-300 hover:scale-110 transition-transform duration-300">
<i data-feather="moon" class="w-5 h-5"></i>
</button>
</div>
<!-- Navigation -->
<nav class="glass-effect border-b border-gray-200 dark:border-gray-700">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between items-center py-4">
<div class="flex items-center space-x-4">
<a href="index.html" class="flex items-center space-x-3">
<div class="w-10 h-10 bg-gradient-to-r from-primary to-secondary rounded-lg flex items-center justify-center">
<i data-feather="award" class="text-white"></i>
</div>
<div>
<h1 class="text-white font-bold text-xl">Teacher Portal</h1>
<p class="text-gray-400 text-sm">Manage classes, materials, and student progress</p>
</div>
</a>
<div class="flex items-center space-x-4">
<span class="text-white">Prof. Sarah Johnson</span>
<button class="text-gray-400 hover:text-white">
<i data-feather="log-out" class="w-5 h-5"></i>
</button>
</div>
</div>
</div>
</nav>
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<!-- Teacher Stats -->
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 mb-8">
<div class="stat-card glass-effect rounded-xl p-6 text-white">
<div class="flex justify-between items-start">
<div>
<p class="text-gray-400 text-sm">Active Students</p>
<p class="text-3xl font-bold">42</p>
</div>
<i data-feather="users" class="w-8 h-8 text-primary"></i>
</div>
</div>
<div class="stat-card glass-effect rounded-xl p-6 text-white">
<div class="flex justify-between items-start">
<div>
<p class="text-gray-400 text-sm">Pending Exams</p>
<p class="text-3xl font-bold">8</p>
</div>
<i data-feather="file-text" class="w-8 h-8 text-secondary"></i>
</div>
</div>
<div class="stat-card glass-effect rounded-xl p-6 text-white">
<div class="flex justify-between items-start">
<div>
<p class="text-gray-400 text-sm">Materials Uploaded</p>
<p class="text-3xl font-bold">23</p>
</div>
<i data-feather="book" class="w-8 h-8 text-accent"></i>
</div>
</div>
<div class="stat-card glass-effect rounded-xl p-6 text-white">
<div class="flex justify-between items-start">
<div>
<p class="text-gray-400 text-sm">Avg. Attendance</p>
<p class="text-3xl font-bold">94%</p>
</div>
<i data-feather="bar-chart-2" class="w-8 h-8 text-green-400"></i>
</div>
</div>
</div>
<!-- Main Teacher Tools -->
<div class="glass-effect rounded-xl p-6">
<div class="flex space-x-4 border-b border-gray-700 pb-4 mb-6">
<button class="tab-btn bg-primary text-white px-4 py-2 rounded-lg" data-tab="students">Student Management</button>
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="materials">Teaching Materials</button>
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="exams">Exams & Assessments</button>
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="attendance">Attendance</button>
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="grades">Grade Management</button>
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="analytics">Analytics</button>
</div>
<!-- Student Management Tab -->
<div id="students-tab" class="tab-content">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-white">Student Management</h3>
<div class="flex space-x-4">
<button class="bg-green-500 hover:bg-green-700 text-white px-4 py-2 rounded-lg transition flex items-center space-x-2">
<i data-feather="user-plus" class="w-4 h-4"></i>
<span>Add Student</span>
</button>
</div>
<div class="overflow-x-auto">
<table class="w-full text-white">
<thead>
<tr class="border-b border-gray-700">
<th class="text-left py-3 px-4">Student ID</th>
<th class="text-left py-3 px-4">Name</th>
<th class="text-left py-3 px-4">Email</th>
<th class="text-left py-3 px-4">Actions</th>
</tr>
</thead>
<tbody>
<tr class="border-b border-gray-800">
<td class="py-3 px-4">S2024001</td>
<td class="py-3 px-4">Ahmed Hassan</td>
<td class="py-3 px-4">ahmed.hassan@edusphere.edu</td>
<td class="py-3 px-4">
<div class="flex space-x-2">
<button class="text-blue-400 hover:text-blue-300">
<i data-feather="edit" class="w-4 h-4"></i>
</button>
<button class="text-red-400 hover:text-red-300">
<i data-feather="trash-2" class="w-4 h-4"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Teaching Materials Tab -->
<div id="materials-tab" class="tab-content hidden">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-white">Teaching Materials</h3>
<div class="flex space-x-4">
<button class="bg-secondary hover:bg-purple-700 text-white px-4 py-2 rounded-lg transition flex items-center space-x-2">
<i data-feather="upload" class="w-4 h-4"></i>
<span>Upload Material</span>
</button>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div class="glass-effect rounded-lg p-4">
<div class="flex items-center space-x-3">
<i data-feather="file-text" class="w-6 h-6 text-gray-400"></i>
<div>
<h4 class="text-white font-semibold">Mathematics Notes</h4>
<p class="text-gray-400 text-sm">PDF • 2.4 MB</p>
</div>
</div>
</div>
</div>
<script>
// Theme Toggle
const themeToggle = document.getElementById('themeToggle');
const themeIcon = themeToggle.querySelector('i');
themeToggle.addEventListener('click', () => {
if (document.documentElement.classList.contains('dark')) {
document.documentElement.classList.remove('dark');
themeIcon.setAttribute('data-feather', 'moon');
} else {
document.documentElement.classList.add('dark');
themeIcon.setAttribute('data-feather', 'sun');
}
feather.replace();
});
// Tab functionality
document.querySelectorAll('.tab-btn').forEach(button => {
button.addEventListener('click', () => {
// Remove active class from all buttons
document.querySelectorAll('.tab-btn').forEach(btn => {
btn.classList.remove('bg-primary', 'text-white');
btn.classList.add('text-gray-300');
});
// Add active class to clicked button
button.classList.add('bg-primary', 'text-white');
button.classList.remove('text-gray-300');
// Hide all tab contents
document.querySelectorAll('.tab-content').forEach(content => {
content.classList.add('hidden');
});
// Show selected tab content
const tabId = button.getAttribute('data-tab');
document.getElementById(tabId + '-tab').classList.remove('hidden');
});
});
// Initialize feather icons
feather.replace();
</script>
</body>
</html>