Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>EduHome - Homeschooling Platform</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> | |
.gradient-bg { | |
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
} | |
.sidebar-item:hover .sidebar-icon { | |
transform: translateX(5px); | |
} | |
.card-hover:hover { | |
transform: translateY(-5px); | |
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
} | |
.animate-pulse-slow { | |
animation: pulse 3s infinite; | |
} | |
@keyframes pulse { | |
0%, 100% { | |
opacity: 1; | |
} | |
50% { | |
opacity: 0.5; | |
} | |
} | |
.notification-badge { | |
position: absolute; | |
top: -5px; | |
right: -5px; | |
} | |
</style> | |
</head> | |
<body class="bg-gray-100 font-sans"> | |
<!-- Login Page (Default View) --> | |
<div id="login-page" class="min-h-screen flex items-center justify-center gradient-bg p-4"> | |
<div class="bg-white rounded-xl shadow-2xl overflow-hidden w-full max-w-md"> | |
<div class="p-8"> | |
<div class="flex justify-center mb-8"> | |
<div class="bg-indigo-100 p-4 rounded-full"> | |
<i class="fas fa-home-school text-indigo-600 text-4xl"></i> | |
</div> | |
</div> | |
<h2 class="text-3xl font-bold text-center text-gray-800 mb-2">Welcome to EduHome</h2> | |
<p class="text-center text-gray-600 mb-8">Your complete homeschooling solution</p> | |
<form id="login-form" class="space-y-6"> | |
<div> | |
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email</label> | |
<input type="email" id="email" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="your@email.com" required> | |
</div> | |
<div> | |
<label for="password" class="block text-sm font-medium text-gray-700 mb-1">Password</label> | |
<input type="password" id="password" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="••••••••" required> | |
</div> | |
<div class="flex items-center justify-between"> | |
<div class="flex items-center"> | |
<input id="remember-me" type="checkbox" class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded"> | |
<label for="remember-me" class="ml-2 block text-sm text-gray-700">Remember me</label> | |
</div> | |
<a href="#" class="text-sm text-indigo-600 hover:text-indigo-500">Forgot password?</a> | |
</div> | |
<div> | |
<button type="submit" class="w-full gradient-bg text-white py-3 px-4 rounded-lg font-medium hover:opacity-90 transition duration-300 flex items-center justify-center"> | |
<i class="fas fa-sign-in-alt mr-2"></i> Sign In | |
</button> | |
</div> | |
</form> | |
<div class="mt-6 text-center"> | |
<p class="text-sm text-gray-600">Don't have an account? <a href="#" class="text-indigo-600 font-medium hover:text-indigo-500">Sign up</a></p> | |
</div> | |
</div> | |
<div class="bg-gray-50 px-8 py-4 text-center"> | |
<p class="text-xs text-gray-500">By continuing, you agree to our <a href="#" class="text-indigo-600">Terms</a> and <a href="#" class="text-indigo-600">Privacy Policy</a>.</p> | |
</div> | |
</div> | |
</div> | |
<!-- Teacher Dashboard (Hidden by Default) --> | |
<div id="teacher-dashboard" class="hidden min-h-screen flex"> | |
<!-- Sidebar --> | |
<div class="w-64 bg-white shadow-md"> | |
<div class="p-4 flex items-center space-x-3 border-b border-gray-200"> | |
<div class="relative"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Teacher" class="w-10 h-10 rounded-full object-cover"> | |
<span class="absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></span> | |
</div> | |
<div> | |
<p class="font-medium">Sarah Johnson</p> | |
<p class="text-xs text-gray-500">Teacher</p> | |
</div> | |
</div> | |
<nav class="p-4 space-y-1"> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg bg-indigo-50 text-indigo-700"> | |
<i class="sidebar-icon fas fa-tachometer-alt text-indigo-600 transition duration-200"></i> | |
<span>Dashboard</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-book text-gray-600 transition duration-200"></i> | |
<span>Courses</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-users text-gray-600 transition duration-200"></i> | |
<span>Students</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-tasks text-gray-600 transition duration-200"></i> | |
<span>Assignments</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-calendar-alt text-gray-600 transition duration-200"></i> | |
<span>Schedule</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-chart-line text-gray-600 transition duration-200"></i> | |
<span>Progress</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-comments text-gray-600 transition duration-200"></i> | |
<span>Messages</span> | |
<span class="ml-auto bg-red-500 text-white text-xs px-2 py-1 rounded-full">3</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-cog text-gray-600 transition duration-200"></i> | |
<span>Settings</span> | |
</a> | |
</nav> | |
<div class="absolute bottom-0 w-64 p-4 border-t border-gray-200"> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="fas fa-sign-out-alt text-gray-600"></i> | |
<span>Logout</span> | |
</a> | |
</div> | |
</div> | |
<!-- Main Content --> | |
<div class="flex-1 bg-gray-50 p-8"> | |
<div class="flex justify-between items-center mb-8"> | |
<h1 class="text-2xl font-bold text-gray-800">Teacher Dashboard</h1> | |
<div class="flex items-center space-x-4"> | |
<div class="relative"> | |
<button class="p-2 rounded-full bg-white shadow-sm hover:bg-gray-100"> | |
<i class="fas fa-bell text-gray-600"></i> | |
<span class="notification-badge bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center">5</span> | |
</button> | |
</div> | |
<button class="flex items-center space-x-2 bg-white shadow-sm rounded-full px-4 py-2 hover:bg-gray-100"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Teacher" class="w-8 h-8 rounded-full"> | |
<span class="text-sm font-medium">Sarah</span> | |
</button> | |
</div> | |
</div> | |
<!-- Stats Cards --> | |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Active Students</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">24</p> | |
</div> | |
<div class="p-3 rounded-full bg-indigo-100 text-indigo-600"> | |
<i class="fas fa-user-graduate text-xl"></i> | |
</div> | |
</div> | |
<div class="mt-4"> | |
<span class="text-xs font-medium text-green-500 bg-green-100 px-2 py-1 rounded-full">+3 from last week</span> | |
</div> | |
</div> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Courses</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">8</p> | |
</div> | |
<div class="p-3 rounded-full bg-blue-100 text-blue-600"> | |
<i class="fas fa-book-open text-xl"></i> | |
</div> | |
</div> | |
<div class="mt-4"> | |
<span class="text-xs font-medium text-blue-500 bg-blue-100 px-2 py-1 rounded-full">2 new this month</span> | |
</div> | |
</div> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Assignments Due</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">15</p> | |
</div> | |
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600"> | |
<i class="fas fa-tasks text-xl"></i> | |
</div> | |
</div> | |
<div class="mt-4"> | |
<span class="text-xs font-medium text-yellow-500 bg-yellow-100 px-2 py-1 rounded-full">5 overdue</span> | |
</div> | |
</div> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Messages</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">12</p> | |
</div> | |
<div class="p-3 rounded-full bg-purple-100 text-purple-600"> | |
<i class="fas fa-comments text-xl"></i> | |
</div> | |
</div> | |
<div class="mt-4"> | |
<span class="text-xs font-medium text-purple-500 bg-purple-100 px-2 py-1 rounded-full">3 unread</span> | |
</div> | |
</div> | |
</div> | |
<!-- Recent Activity and Upcoming Classes --> | |
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8"> | |
<div class="lg:col-span-2 bg-white rounded-xl shadow-sm p-6"> | |
<div class="flex justify-between items-center mb-6"> | |
<h2 class="text-lg font-bold text-gray-800">Recent Activity</h2> | |
<button class="text-sm text-indigo-600 hover:text-indigo-500">View All</button> | |
</div> | |
<div class="space-y-4"> | |
<div class="flex items-start space-x-3"> | |
<div class="p-2 rounded-full bg-green-100 text-green-600"> | |
<i class="fas fa-check-circle"></i> | |
</div> | |
<div> | |
<p class="text-sm font-medium">Emily submitted Math Assignment</p> | |
<p class="text-xs text-gray-500">10 minutes ago</p> | |
</div> | |
</div> | |
<div class="flex items-start space-x-3"> | |
<div class="p-2 rounded-full bg-blue-100 text-blue-600"> | |
<i class="fas fa-comment"></i> | |
</div> | |
<div> | |
<p class="text-sm font-medium">New message from David's parent</p> | |
<p class="text-xs text-gray-500">25 minutes ago</p> | |
</div> | |
</div> | |
<div class="flex items-start space-x-3"> | |
<div class="p-2 rounded-full bg-purple-100 text-purple-600"> | |
<i class="fas fa-book"></i> | |
</div> | |
<div> | |
<p class="text-sm font-medium">New course material added to Science</p> | |
<p class="text-xs text-gray-500">2 hours ago</p> | |
</div> | |
</div> | |
<div class="flex items-start space-x-3"> | |
<div class="p-2 rounded-full bg-yellow-100 text-yellow-600"> | |
<i class="fas fa-exclamation-circle"></i> | |
</div> | |
<div> | |
<p class="text-sm font-medium">Michael missed the History class</p> | |
<p class="text-xs text-gray-500">4 hours ago</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-sm p-6"> | |
<div class="flex justify-between items-center mb-6"> | |
<h2 class="text-lg font-bold text-gray-800">Upcoming Classes</h2> | |
<button class="text-sm text-indigo-600 hover:text-indigo-500">View All</button> | |
</div> | |
<div class="space-y-4"> | |
<div class="p-4 border border-gray-200 rounded-lg"> | |
<div class="flex justify-between items-start"> | |
<div> | |
<p class="font-medium">Mathematics</p> | |
<p class="text-sm text-gray-500">Grade 5</p> | |
</div> | |
<span class="px-2 py-1 bg-indigo-100 text-indigo-800 text-xs rounded-full">10:00 AM</span> | |
</div> | |
<div class="mt-2 flex items-center text-sm text-gray-500"> | |
<i class="fas fa-user-friends mr-1"></i> | |
<span>12 students</span> | |
</div> | |
</div> | |
<div class="p-4 border border-gray-200 rounded-lg"> | |
<div class="flex justify-between items-start"> | |
<div> | |
<p class="font-medium">Science</p> | |
<p class="text-sm text-gray-500">Grade 6</p> | |
</div> | |
<span class="px-2 py-1 bg-indigo-100 text-indigo-800 text-xs rounded-full">11:30 AM</span> | |
</div> | |
<div class="mt-2 flex items-center text-sm text-gray-500"> | |
<i class="fas fa-user-friends mr-1"></i> | |
<span>8 students</span> | |
</div> | |
</div> | |
<div class="p-4 border border-gray-200 rounded-lg"> | |
<div class="flex justify-between items-start"> | |
<div> | |
<p class="font-medium">History</p> | |
<p class="text-sm text-gray-500">Grade 7</p> | |
</div> | |
<span class="px-2 py-1 bg-indigo-100 text-indigo-800 text-xs rounded-full">2:00 PM</span> | |
</div> | |
<div class="mt-2 flex items-center text-sm text-gray-500"> | |
<i class="fas fa-user-friends mr-1"></i> | |
<span>10 students</span> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Student Progress --> | |
<div class="bg-white rounded-xl shadow-sm p-6"> | |
<div class="flex justify-between items-center mb-6"> | |
<h2 class="text-lg font-bold text-gray-800">Student Progress</h2> | |
<button class="text-sm text-indigo-600 hover:text-indigo-500">View All</button> | |
</div> | |
<div class="overflow-x-auto"> | |
<table class="min-w-full divide-y divide-gray-200"> | |
<thead class="bg-gray-50"> | |
<tr> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Student</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Grade</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Math</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Science</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">English</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th> | |
</tr> | |
</thead> | |
<tbody class="bg-white divide-y divide-gray-200"> | |
<tr> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="flex items-center"> | |
<div class="flex-shrink-0 h-10 w-10"> | |
<img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/women/12.jpg" alt=""> | |
</div> | |
<div class="ml-4"> | |
<div class="text-sm font-medium text-gray-900">Emily Johnson</div> | |
</div> | |
</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">5</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">92%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">88%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">95%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Excellent</span> | |
</td> | |
</tr> | |
<tr> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="flex items-center"> | |
<div class="flex-shrink-0 h-10 w-10"> | |
<img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/men/32.jpg" alt=""> | |
</div> | |
<div class="ml-4"> | |
<div class="text-sm font-medium text-gray-900">Michael Brown</div> | |
</div> | |
</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">6</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">78%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">85%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">82%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">Good</span> | |
</td> | |
</tr> | |
<tr> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="flex items-center"> | |
<div class="flex-shrink-0 h-10 w-10"> | |
<img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/women/23.jpg" alt=""> | |
</div> | |
<div class="ml-4"> | |
<div class="text-sm font-medium text-gray-900">Sophia Wilson</div> | |
</div> | |
</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">7</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">85%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">90%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">88%</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Excellent</span> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Student Dashboard (Hidden by Default) --> | |
<div id="student-dashboard" class="hidden min-h-screen flex"> | |
<!-- Sidebar --> | |
<div class="w-64 bg-white shadow-md"> | |
<div class="p-4 flex items-center space-x-3 border-b border-gray-200"> | |
<div class="relative"> | |
<img src="https://randomuser.me/api/portraits/women/12.jpg" alt="Student" class="w-10 h-10 rounded-full object-cover"> | |
<span class="absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></span> | |
</div> | |
<div> | |
<p class="font-medium">Emily Johnson</p> | |
<p class="text-xs text-gray-500">Grade 5</p> | |
</div> | |
</div> | |
<nav class="p-4 space-y-1"> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg bg-indigo-50 text-indigo-700"> | |
<i class="sidebar-icon fas fa-home text-indigo-600 transition duration-200"></i> | |
<span>Dashboard</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-book text-gray-600 transition duration-200"></i> | |
<span>My Courses</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-tasks text-gray-600 transition duration-200"></i> | |
<span>Assignments</span> | |
<span class="ml-auto bg-red-500 text-white text-xs px-2 py-1 rounded-full">2</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-calendar-alt text-gray-600 transition duration-200"></i> | |
<span>Schedule</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-chart-line text-gray-600 transition duration-200"></i> | |
<span>Progress</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-comments text-gray-600 transition duration-200"></i> | |
<span>Messages</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-award text-gray-600 transition duration-200"></i> | |
<span>Badges</span> | |
</a> | |
<a href="#" class="sidebar-item flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="sidebar-icon fas fa-cog text-gray-600 transition duration-200"></i> | |
<span>Settings</span> | |
</a> | |
</nav> | |
<div class="absolute bottom-0 w-64 p-4 border-t border-gray-200"> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> | |
<i class="fas fa-sign-out-alt text-gray-600"></i> | |
<span>Logout</span> | |
</a> | |
</div> | |
</div> | |
<!-- Main Content --> | |
<div class="flex-1 bg-gray-50 p-8"> | |
<div class="flex justify-between items-center mb-8"> | |
<h1 class="text-2xl font-bold text-gray-800">Student Dashboard</h1> | |
<div class="flex items-center space-x-4"> | |
<div class="relative"> | |
<button class="p-2 rounded-full bg-white shadow-sm hover:bg-gray-100"> | |
<i class="fas fa-bell text-gray-600"></i> | |
<span class="notification-badge bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center">2</span> | |
</button> | |
</div> | |
<button class="flex items-center space-x-2 bg-white shadow-sm rounded-full px-4 py-2 hover:bg-gray-100"> | |
<img src="https://randomuser.me/api/portraits/women/12.jpg" alt="Student" class="w-8 h-8 rounded-full"> | |
<span class="text-sm font-medium">Emily</span> | |
</button> | |
</div> | |
</div> | |
<!-- Welcome Card --> | |
<div class="gradient-bg rounded-xl shadow-sm p-6 text-white mb-8"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<h2 class="text-2xl font-bold mb-2">Welcome back, Emily!</h2> | |
<p class="mb-4">You have 2 assignments due today. Keep up the good work!</p> | |
<button class="bg-white text-indigo-600 px-4 py-2 rounded-lg font-medium hover:bg-opacity-90">View Assignments</button> | |
</div> | |
<div class="w-32 h-32"> | |
<img src="https://cdn-icons-png.flaticon.com/512/3132/3132773.png" alt="Student" class="w-full h-full object-contain"> | |
</div> | |
</div> | |
</div> | |
<!-- Stats Cards --> | |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Current Courses</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">5</p> | |
</div> | |
<div class="p-3 rounded-full bg-indigo-100 text-indigo-600"> | |
<i class="fas fa-book text-xl"></i> | |
</div> | |
</div> | |
</div> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Assignments Due</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">2</p> | |
</div> | |
<div class="p-3 rounded-full bg-red-100 text-red-600"> | |
<i class="fas fa-exclamation-circle text-xl"></i> | |
</div> | |
</div> | |
</div> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Average Grade</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">92%</p> | |
</div> | |
<div class="p-3 rounded-full bg-green-100 text-green-600"> | |
<i class="fas fa-star text-xl"></i> | |
</div> | |
</div> | |
</div> | |
<div class="card-hover bg-white rounded-xl shadow-sm p-6 transition duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-sm font-medium text-gray-500">Badges Earned</p> | |
<p class="text-3xl font-bold text-gray-800 mt-2">8</p> | |
</div> | |
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600"> | |
<i class="fas fa-award text-xl"></i> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Courses and Upcoming Classes --> | |
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8"> | |
<div class="lg:col-span-2 bg-white rounded-xl shadow-sm p-6"> | |
<div class="flex justify-between items-center mb-6"> | |
<h2 class="text-lg font-bold text-gray-800">My Courses</h2> | |
<button class="text-sm text-indigo-600 hover:text-indigo-500">View All</button> | |
</div> | |
<div class="grid grid-cols-1 md:grid-cols-2 gap-4"> | |
<div class="card-hover border border-gray-200 rounded-lg p-4 transition duration-300"> | |
<div class="flex items-center space-x-3 mb-3"> | |
<div class="p-2 rounded-lg bg-blue-100 text-blue-600"> | |
<i class="fas fa-square-root-alt"></i> | |
</div> | |
<h3 class="font-medium">Mathematics</h3> | |
</div> | |
<p class="text-sm text-gray-500 mb-4">Algebra and geometry concepts for grade 5 students.</p> | |
<div class="flex justify-between items-center"> | |
<div class="w-full bg-gray-200 rounded-full h-2"> | |
<div class="bg-blue-600 h-2 rounded-full" style="width: 85%"></div> | |
</div> | |
<span class="ml-2 text-sm font-medium">85%</span> | |
</div> | |
</div> | |
<div class="card-hover border border-gray-200 rounded-lg p-4 transition duration-300"> | |
<div class="flex items-center space-x-3 mb-3"> | |
<div class="p-2 rounded-lg bg-green-100 text-green-600"> | |
<i class="fas fa-atom"></i> | |
</div> | |
<h3 class="font-medium">Science</h3> | |
</div> | |
<p class="text-sm text-gray-500 mb-4">Introduction to biology and basic physics concepts.</p> | |
<div class="flex justify-between items-center"> | |
<div class="w-full bg-gray-200 rounded-full h-2"> | |
<div class="bg-green-600 h-2 rounded-full" style="width: 78%"></div> | |
</div> | |
<span class="ml-2 text-sm font-medium">78%</span> | |
</div> | |
</div> | |
<div class="card-hover border border-gray-200 rounded-lg p-4 transition duration-300"> | |
<div class="flex items-center space-x-3 mb-3"> | |
<div class="p-2 rounded-lg bg-purple-100 text-purple-600"> | |
<i class="fas fa-book-open"></i> | |
</div> | |
<h3 class="font-medium">English</h3> | |
</div> | |
<p class="text-sm text-gray-500 mb-4">Reading comprehension and creative writing.</p> | |
<div class="flex justify-between items-center"> | |
<div class="w-full bg-gray-200 rounded-full h-2"> | |
<div class="bg-purple-600 h-2 rounded-full" style="width: 92%"></div> | |
</div> | |
<span class="ml-2 text-sm font-medium">92%</span> | |
</div> | |
</div> | |
<div class="card-hover border border-gray-200 rounded-lg p-4 transition duration-300"> | |
<div class="flex items-center space-x-3 mb-3"> | |
<div class="p-2 rounded-lg bg-yellow-100 text-yellow-600"> | |
<i class="fas fa-landmark"></i> | |
</div> | |
<h3 class="font-medium">History</h3> | |
</div> | |
<p class="text-sm text-gray-500 mb-4">World civilizations and important historical events.</p> | |
<div class="flex justify-between items-center"> | |
<div class="w-full bg-gray-200 rounded-full h-2"> | |
<div class="bg-yellow-600 h-2 rounded-full" style="width: 80%"></div> | |
</div> | |
<span class="ml-2 text-sm font-medium">80%</span> | |
</div> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-sm p-6"> | |
<div class="flex justify-between items-center mb-6"> | |
<h2 class="text-lg font-bold text-gray-800">Today's Schedule</h2> | |
<button class="text-sm text-indigo-600 hover:text-indigo-500">View All</button> | |
</div> | |
<div class="space-y-4"> | |
<div class="p-4 border border-gray-200 rounded-lg"> | |
<div class="flex justify-between items-start"> | |
<div> | |
<p class="font-medium">Mathematics</p> | |
<p class="text-sm text-gray-500">With Mrs. Johnson</p> | |
</div> | |
<span class="px-2 py-1 bg-indigo-100 text-indigo-800 text-xs rounded-full">10:00 AM</span> | |
</div> | |
<div class="mt-2 flex items-center text-sm text-gray-500"> | |
<i class="fas fa-video mr-1"></i> | |
<span>Online Class</span> | |
</div> | |
<button class="mt-3 w-full bg-indigo-600 text-white py-2 px-4 rounded-lg text-sm font-medium hover:bg-indigo-700">Join Class</button> | |
</div> | |
<div class="p-4 border border-gray-200 rounded-lg"> | |
<div class="flex justify-between items-start"> | |
<div> | |
<p class="font-medium">Science</p> | |
<p class="text-sm text-gray-500">With Mr. Davis</p> | |
</div> | |
<span class="px-2 py-1 bg-indigo-100 text-indigo-800 text-xs rounded-full">11:30 AM</span> | |
</div> | |
<div class="mt-2 flex items-center text-sm text-gray-500"> | |
<i class="fas fa-video mr-1"></i> | |
<span>Online Class</span> | |
</div> | |
<button class="mt-3 w-full bg-gray-200 text-gray-700 py-2 px-4 rounded-lg text-sm font-medium hover:bg-gray-300" disabled>Starts in 2h 15m</button> | |
</div> | |
<div class="p-4 border border-gray-200 rounded-lg bg-indigo-50"> | |
<div class="flex justify-between items-start"> | |
<div> | |
<p class="font-medium">Assignment Due</p> | |
<p class="text-sm text-gray-500">Math Homework</p> | |
</div> | |
<span class="px-2 py-1 bg-red-100 text-red-800 text-xs rounded-full">3:00 PM</span> | |
</div> | |
<div class="mt-2 flex items-center text-sm text-gray-500"> | |
<i class="fas fa-tasks mr-1"></i> | |
<span>Chapter 5 Exercises</span> | |
</div> | |
<button class="mt-3 w-full bg-white text-indigo-600 border border-indigo-600 py-2 px-4 rounded-lg text-sm font-medium hover:bg-indigo-50">Submit Now</button> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Assignments --> | |
<div class="bg-white rounded-xl shadow-sm p-6"> | |
<div class="flex justify-between items-center mb-6"> | |
<h2 class="text-lg font-bold text-gray-800">Recent Assignments</h2> | |
<button class="text-sm text-indigo-600 hover:text-indigo-500">View All</button> | |
</div> | |
<div class="overflow-x-auto"> | |
<table class="min-w-full divide-y divide-gray-200"> | |
<thead class="bg-gray-50"> | |
<tr> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Assignment</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Course</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Due Date</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Grade</th> | |
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Action</th> | |
</tr> | |
</thead> | |
<tbody class="bg-white divide-y divide-gray-200"> | |
<tr> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm font-medium text-gray-900">Chapter 5 Exercises</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">Mathematics</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">Today, 3:00 PM</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">Due Soon</span> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">-</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<button class="text-indigo-600 hover:text-indigo-900 text-sm font-medium">Submit</button> | |
</td> | |
</tr> | |
<tr> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm font-medium text-gray-900">Science Project</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">Science</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">Tomorrow, 11:59 PM</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">In Progress</span> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">-</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<button class="text-indigo-600 hover:text-indigo-900 text-sm font-medium">Continue</button> | |
</td> | |
</tr> | |
<tr> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm font-medium text-gray-900">Book Report</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">English</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm text-gray-900">Apr 15, 2023</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Submitted</span> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<div class="text-sm font-medium text-gray-900">A</div> | |
</td> | |
<td class="px-6 py-4 whitespace-nowrap"> | |
<button class="text-indigo-600 hover:text-indigo-900 text-sm font-medium">View</button> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
</div> | |
</div> | |
</div> | |
<script> | |
// Simple login logic to demonstrate switching between views | |
document.getElementById('login-form').addEventListener('submit', function(e) { | |
e.preventDefault(); | |
const email = document.getElementById('email').value; | |
const password = document.getElementById('password').value; | |
// Simple demo logic - in a real app, you would validate credentials properly | |
if (email.includes('teacher')) { | |
document.getElementById('login-page').classList.add('hidden'); | |
document.getElementById('teacher-dashboard').classList.remove('hidden'); | |
} else if (email.includes('student')) { | |
document.getElementById('login-page').classList.add('hidden'); | |
document.getElementById('student-dashboard').classList.remove('hidden'); | |
} else { | |
alert('Invalid credentials. Use "teacher@example.com" or "student@example.com" for demo purposes.'); | |
} | |
}); | |
// Add some interactive elements | |
document.querySelectorAll('.card-hover').forEach(card => { | |
card.addEventListener('mouseenter', function() { | |
this.style.transition = 'transform 0.3s ease, box-shadow 0.3s ease'; | |
}); | |
}); | |
// Notification bell animation | |
const bell = document.querySelector('.fa-bell'); | |
if (bell) { | |
setInterval(() => { | |
bell.classList.toggle('animate-pulse-slow'); | |
}, 3000); | |
} | |
</script> | |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=GruntDaddy/educore2" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |