|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>Admin Center - 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"> |
|
|
|
|
|
<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> |
|
|
|
|
|
|
|
|
<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="settings" class="text-white"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h1 class="text-white font-bold text-xl">Admin Center</h1> |
|
|
<p class="text-gray-400 text-sm">Full system control and monitoring</p> |
|
|
</div> |
|
|
</a> |
|
|
<div class="flex items-center space-x-4"> |
|
|
<span class="text-white">System Administrator</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"> |
|
|
|
|
|
<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">Total Users</p> |
|
|
<p class="text-3xl font-bold">1,247</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">Active Courses</p> |
|
|
<p class="text-3xl font-bold">86</p> |
|
|
</div> |
|
|
<i data-feather="book-open" 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">System Health</p> |
|
|
<p class="text-3xl font-bold">98%</p> |
|
|
</div> |
|
|
<i data-feather="database" 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">Storage Used</p> |
|
|
<p class="text-3xl font-bold">64%</p> |
|
|
</div> |
|
|
<i data-feather="hard-drive" class="w-8 h-8 text-green-400"></i> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<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="users">User Management</button> |
|
|
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="courses">Course Management</button> |
|
|
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="system">System Settings</button> |
|
|
<button class="tab-btn text-gray-300 hover:text-white px-4 py-2 rounded-lg transition" data-tab="analytics">Analytics</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="users-tab" class="tab-content"> |
|
|
<div class="flex justify-between items-center mb-6"> |
|
|
<h3 class="text-2xl font-bold text-white">User Management</h3> |
|
|
<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 User</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">User ID</th> |
|
|
<th class="text-left py-3 px-4">Name</th> |
|
|
<th class="text-left py-3 px-4">Role</th> |
|
|
<th class="text-left py-3 px-4">Status</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">U2024001</td> |
|
|
<td class="py-3 px-4">Admin User</td> |
|
|
<td class="py-3 px-4">Admin</td> |
|
|
<td class="py-3 px-4"><span class="bg-green-500 text-white px-2 py-1 rounded text-xs">Active</span></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> |
|
|
|
|
|
<script> |
|
|
|
|
|
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(); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.tab-btn').forEach(button => { |
|
|
button.addEventListener('click', () => { |
|
|
|
|
|
document.querySelectorAll('.tab-btn').forEach(btn => { |
|
|
btn.classList.remove('bg-primary', 'text-white'); |
|
|
btn.classList.add('text-gray-300'); |
|
|
}); |
|
|
|
|
|
|
|
|
button.classList.add('bg-primary', 'text-white'); |
|
|
button.classList.remove('text-gray-300'); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.tab-content').forEach(content => { |
|
|
content.classList.add('hidden'); |
|
|
}); |
|
|
|
|
|
|
|
|
const tabId = button.getAttribute('data-tab'); |
|
|
document.getElementById(tabId + '-tab').classList.remove('hidden'); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
feather.replace(); |
|
|
</script> |
|
|
</body> |
|
|
</html> |