tokey4 commited on
Commit
6786970
·
verified ·
1 Parent(s): a0a9096

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +618 -448
index.html CHANGED
@@ -4,9 +4,10 @@
4
  <head>
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>EduLearn - Your Learning Platform</title>
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
 
10
  <script>
11
  tailwind.config = {
12
  theme: {
@@ -23,6 +24,8 @@
23
  'text-primary': '#f1f5f9',
24
  'text-muted': '#94a3b8',
25
  success: '#10b981',
 
 
26
  }
27
  }
28
  }
@@ -44,25 +47,10 @@
44
  background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
45
  }
46
 
47
- .gradient-border::before {
48
- content: '';
49
- position: absolute;
50
- top: 0;
51
- left: 0;
52
- width: 100%;
53
- height: 4px;
54
- background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
55
- transform: scaleX(0);
56
- transition: transform 0.3s ease;
57
- }
58
-
59
- .gradient-border:hover::before {
60
- transform: scaleX(1);
61
- }
62
-
63
  /* Scrollbar */
64
  ::-webkit-scrollbar {
65
  width: 8px;
 
66
  }
67
 
68
  ::-webkit-scrollbar-track {
@@ -78,11 +66,35 @@
78
  background: #6366f1;
79
  }
80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  /* Animations */
82
  @keyframes fadeIn {
83
  from {
84
  opacity: 0;
85
- transform: translateY(20px);
86
  }
87
 
88
  to {
@@ -92,69 +104,31 @@
92
  }
93
 
94
  .animate-fade-in {
95
- animation: fadeIn 0.5s ease forwards;
96
- }
97
-
98
- .delay-100 { animation-delay: 0.1s; }
99
- .delay-200 { animation-delay: 0.2s; }
100
- .delay-300 { animation-delay: 0.3s; }
101
- .delay-400 { animation-delay: 0.4s; }
102
- .delay-500 { animation-delay: 0.5s; }
103
- .delay-600 { animation-delay: 0.6s; }
104
- .delay-700 { animation-delay: 0.7s; }
105
-
106
- /* Custom range slider */
107
- input[type="range"] {
108
- -webkit-appearance: none;
109
- appearance: none;
110
- height: 6px;
111
- background: #334155;
112
- border-radius: 3px;
113
- outline: none;
114
- }
115
-
116
- input[type="range"]::-webkit-slider-thumb {
117
- -webkit-appearance: none;
118
- appearance: none;
119
- width: 14px;
120
- height: 14px;
121
- background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
122
- border-radius: 50%;
123
- cursor: pointer;
124
- transition: transform 0.2s;
125
  }
126
 
127
- input[type="range"]::-webkit-slider-thumb:hover {
128
- transform: scale(1.2);
129
- }
130
-
131
- input[type="range"]::-moz-range-thumb {
132
- width: 14px;
133
- height: 14px;
134
- background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
135
- border-radius: 50%;
136
- cursor: pointer;
137
- border: none;
138
- }
139
 
140
- /* Video placeholder animation */
141
- @keyframes pulse {
142
- 0%, 100% { transform: scale(1); opacity: 1; }
143
- 50% { transform: scale(1.1); opacity: 0.8; }
144
  }
145
 
146
- .pulse-animation {
147
- animation: pulse 2s ease-in-out infinite;
148
  }
149
 
150
- /* Toast notification */
151
  .toast {
152
  position: fixed;
153
  bottom: 20px;
154
  right: 20px;
155
  padding: 16px 24px;
156
- background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
157
- color: white;
158
  border-radius: 12px;
159
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
160
  transform: translateY(100px);
@@ -168,443 +142,639 @@
168
  opacity: 1;
169
  }
170
 
171
- /* Progress completed */
172
- .topic-completed {
173
- background: rgba(16, 185, 129, 0.1) !important;
174
- border-color: #10b981 !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  }
176
 
177
- .topic-completed .play-icon {
178
- background: rgba(16, 185, 129, 0.2) !important;
179
- color: #10b981 !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
  }
181
  </style>
182
  </head>
183
 
184
- <body class="bg-background text-text-primary min-h-screen leading-relaxed">
185
  <!-- Toast Notification -->
186
- <div id="toast" class="toast">
187
  <i class="fas fa-check-circle mr-2"></i>
188
  <span id="toastMessage">Action completed!</span>
189
  </div>
190
 
191
- <!-- Header -->
192
- <header class="bg-background/95 backdrop-blur-xl border-b border-surface-light fixed w-full top-0 z-50 px-4 md:px-8 py-4">
193
- <div class="max-w-7xl mx-auto flex justify-between items-center">
194
- <div class="flex items-center gap-3 text-2xl font-bold cursor-pointer" onclick="showHome()">
195
- <i class="fas fa-graduation-cap gradient-text"></i>
196
- <span class="gradient-text">EduLearn</span>
197
- </div>
198
- <nav id="nav" class="hidden md:flex items-center gap-8">
199
- <a href="#" onclick="showHome(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300 relative group nav-link active" data-section="home">
200
- Home
201
- <span class="absolute bottom-0 left-0 w-0 h-0.5 gradient-bg group-hover:w-full transition-all duration-300"></span>
202
- </a>
203
- <a href="#" onclick="showCourses(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300 relative group nav-link" data-section="courses">
204
- Courses
205
- <span class="absolute bottom-0 left-0 w-0 h-0.5 gradient-bg group-hover:w-full transition-all duration-300"></span>
206
- </a>
207
- <a href="#" onclick="showAbout(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300 relative group nav-link" data-section="about">
208
- About
209
- <span class="absolute bottom-0 left-0 w-0 h-0.5 gradient-bg group-hover:w-full transition-all duration-300"></span>
210
- </a>
211
- <a href="#" onclick="showContact(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300 relative group nav-link" data-section="contact">
212
- Contact
213
- <span class="absolute bottom-0 left-0 w-0 h-0.5 gradient-bg group-hover:w-full transition-all duration-300"></span>
214
- </a>
215
- <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank"
216
- class="text-text-muted text-sm px-4 py-2 border border-surface-light rounded-full hover:border-primary hover:text-primary-light transition-all duration-300">
217
- Built with anycoder
218
- </a>
219
- </nav>
220
- <button class="md:hidden text-text-primary text-xl" onclick="toggleMenu()">
221
- <i class="fas fa-bars" id="menuIcon"></i>
222
- </button>
223
- </div>
224
- <!-- Mobile Menu -->
225
- <nav id="mobileNav" class="hidden md:hidden flex-col gap-4 mt-4 pb-4 border-t border-surface-light pt-4">
226
- <a href="#" onclick="showHome(); toggleMenu(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300">Home</a>
227
- <a href="#" onclick="showCourses(); toggleMenu(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300">Courses</a>
228
- <a href="#" onclick="showAbout(); toggleMenu(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300">About</a>
229
- <a href="#" onclick="showContact(); toggleMenu(); return false;" class="text-text-muted hover:text-text-primary font-medium transition-colors duration-300">Contact</a>
230
- <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank"
231
- class="text-text-muted text-sm px-4 py-2 border border-surface-light rounded-full hover:border-primary hover:text-primary-light transition-all duration-300 w-fit">
232
- Built with anycoder
233
- </a>
234
- </nav>
235
- </header>
236
-
237
- <main class="mt-20 min-h-[calc(100vh-80px)]">
238
- <!-- Home View -->
239
- <section id="homeView">
240
- <!-- Hero Section -->
241
- <div class="bg-gradient-to-br from-primary/10 to-secondary/10 py-16 px-4 md:px-8 text-center border-b border-surface-light">
242
- <h1 class="text-3xl md:text-5xl lg:text-6xl font-bold mb-4 gradient-text animate-fade-in">Master Your Skills with EduLearn</h1>
243
- <p class="text-text-muted text-lg md:text-xl max-w-2xl mx-auto mb-8 animate-fade-in delay-100">
244
- Explore our comprehensive courses designed to help you excel in your academic journey and beyond.
245
- </p>
246
- <div class="max-w-lg mx-auto relative animate-fade-in delay-200">
247
- <i class="fas fa-search absolute left-5 top-1/2 -translate-y-1/2 text-text-muted"></i>
248
- <input type="text" id="searchInput" placeholder="Search for subjects, topics, or lessons..."
249
- class="w-full py-4 px-6 pl-12 border-2 border-surface-light rounded-full bg-surface text-text-primary text-base focus:outline-none focus:border-primary focus:shadow-lg focus:shadow-primary/20 transition-all duration-300"
250
- oninput="handleSearch(this.value)">
251
  </div>
252
- <div id="searchResults" class="max-w-lg mx-auto mt-4 text-left hidden"></div>
253
  </div>
 
 
254
 
255
- <!-- Stats Section -->
256
- <div class="py-8 px-4 md:px-8 max-w-7xl mx-auto">
257
- <div class="grid grid-cols-2 md:grid-cols-4 gap-4">
258
- <div class="bg-surface rounded-xl p-6 text-center border border-surface-light animate-fade-in delay-100">
259
- <div class="text-3xl font-bold gradient-text" id="statStudents">0</div>
260
- <div class="text-text-muted text-sm mt-1">Active Students</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
261
  </div>
262
- <div class="bg-surface rounded-xl p-6 text-center border border-surface-light animate-fade-in delay-200">
263
- <div class="text-3xl font-bold gradient-text" id="statCourses">0</div>
264
- <div class="text-text-muted text-sm mt-1">Total Courses</div>
 
 
 
 
 
265
  </div>
266
- <div class="bg-surface rounded-xl p-6 text-center border border-surface-light animate-fade-in delay-300">
267
- <div class="text-3xl font-bold gradient-text" id="statHours">0</div>
268
- <div class="text-text-muted text-sm mt-1">Hours of Content</div>
 
 
 
 
269
  </div>
270
- <div class="bg-surface rounded-xl p-6 text-center border border-surface-light animate-fade-in delay-400">
271
- <div class="text-3xl font-bold gradient-text" id="statRating">0</div>
272
- <div class="text-text-muted text-sm mt-1">Average Rating</div>
 
 
273
  </div>
274
  </div>
275
- </div>
276
-
277
- <!-- Subjects Grid -->
278
- <div class="py-12 px-4 md:px-8 max-w-7xl mx-auto">
279
- <h2 class="text-2xl font-bold mb-8 flex items-center gap-3">
280
- <i class="fas fa-book-open text-primary"></i> Available Subjects
281
- </h2>
282
- <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6" id="subjectsGrid">
283
- <!-- Subject cards will be dynamically inserted -->
284
  </div>
285
- </div>
286
- </section>
287
-
288
- <!-- Courses View -->
289
- <section id="coursesView" class="hidden py-12 px-4 md:px-8 max-w-7xl mx-auto">
290
- <h1 class="text-3xl md:text-4xl font-bold mb-4 gradient-text">All Courses</h1>
291
- <p class="text-text-muted mb-8">Browse our complete catalog of courses</p>
292
-
293
- <!-- Filter Section -->
294
- <div class="flex flex-wrap gap-4 mb-8">
295
- <button class="px-6 py-2 rounded-full bg-primary text-white filter-btn active" data-filter="all" onclick="filterCourses('all')">All</button>
296
- <button class="px-6 py-2 rounded-full bg-surface border border-surface-light text-text-muted hover:border-primary hover:text-primary-light transition-all filter-btn" data-filter="programming" onclick="filterCourses('programming')">Programming</button>
297
- <button class="px-6 py-2 rounded-full bg-surface border border-surface-light text-text-muted hover:border-primary hover:text-primary-light transition-all filter-btn" data-filter="electronics" onclick="filterCourses('electronics')">Electronics</button>
298
- <button class="px-6 py-2 rounded-full bg-surface border border-surface-light text-text-muted hover:border-primary hover:text-primary-light transition-all filter-btn" data-filter="business" onclick="filterCourses('business')">Business</button>
299
- <button class="px-6 py-2 rounded-full bg-surface border border-surface-light text-text-muted hover:border-primary hover:text-primary-light transition-all filter-btn" data-filter="science" onclick="filterCourses('science')">Science</button>
300
- </div>
301
-
302
- <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6" id="coursesGrid">
303
- <!-- Course cards will be dynamically inserted -->
304
- </div>
305
- </section>
306
-
307
- <!-- About View -->
308
- <section id="aboutView" class="hidden py-12 px-4 md:px-8 max-w-7xl mx-auto">
309
- <div class="text-center mb-12">
310
- <h1 class="text-3xl md:text-4xl font-bold mb-4 gradient-text">About EduLearn</h1>
311
- <p class="text-text-muted max-w-2xl mx-auto">We're on a mission to make quality education accessible to everyone, everywhere.</p>
312
- </div>
313
-
314
- <div class="grid md:grid-cols-2 gap-12 items-center mb-16">
315
  <div>
316
- <h2 class="text-2xl font-bold mb-4">Our Story</h2>
317
- <p class="text-text-muted mb-4">Founded in 2020, EduLearn started with a simple idea: everyone deserves access to world-class education. What began as a small collection of programming tutorials has grown into a comprehensive learning platform serving thousands of students worldwide.</p>
318
- <p class="text-text-muted">Today, we offer courses in programming, electronics, business, and more, all designed by industry experts and educators who are passionate about teaching.</p>
 
319
  </div>
320
- <div class="bg-gradient-to-br from-primary/20 to-secondary/20 rounded-2xl p-8 border border-surface-light">
321
- <div class="grid grid-cols-2 gap-6">
322
- <div class="text-center">
323
- <div class="text-4xl font-bold gradient-text">50K+</div>
324
- <div class="text-text-muted">Students</div>
325
- </div>
326
- <div class="text-center">
327
- <div class="text-4xl font-bold gradient-text">200+</div>
328
- <div class="text-text-muted">Courses</div>
329
- </div>
330
- <div class="text-center">
331
- <div class="text-4xl font-bold gradient-text">50+</div>
332
- <div class="text-text-muted">Instructors</div>
333
- </div>
334
- <div class="text-center">
335
- <div class="text-4xl font-bold gradient-text">95%</div>
336
- <div class="text-text-muted">Satisfaction</div>
337
- </div>
338
- </div>
339
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  </div>
341
-
342
- <h2 class="text-2xl font-bold mb-8 text-center">Meet Our Team</h2>
343
- <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
344
- <div class="bg-surface rounded-2xl p-6 text-center border border-surface-light hover:border-primary transition-all">
345
- <div class="w-24 h-24 rounded-full bg-gradient-to-br from-primary to-secondary mx-auto mb-4 flex items-center justify-center text-3xl text-white">
346
- <i class="fas fa-user"></i>
 
 
347
  </div>
348
- <h3 class="font-bold text-lg">John Smith</h3>
349
- <p class="text-text-muted text-sm">CEO & Founder</p>
350
- </div>
351
- <div class="bg-surface rounded-2xl p-6 text-center border border-surface-light hover:border-primary transition-all">
352
- <div class="w-24 h-24 rounded-full bg-gradient-to-br from-amber-500 to-amber-600 mx-auto mb-4 flex items-center justify-center text-3xl text-white">
353
- <i class="fas fa-user"></i>
354
  </div>
355
- <h3 class="font-bold text-lg">Sarah Johnson</h3>
356
- <p class="text-text-muted text-sm">Head of Education</p>
357
  </div>
358
- <div class="bg-surface rounded-2xl p-6 text-center border border-surface-light hover:border-primary transition-all">
359
- <div class="w-24 h-24 rounded-full bg-gradient-to-br from-emerald-500 to-emerald-600 mx-auto mb-4 flex items-center justify-center text-3xl text-white">
360
- <i class="fas fa-user"></i>
361
- </div>
362
- <h3 class="font-bold text-lg">Mike Chen</h3>
363
- <p class="text-text-muted text-sm">Lead Developer</p>
364
  </div>
365
- <div class="bg-surface rounded-2xl p-6 text-center border border-surface-light hover:border-primary transition-all">
366
- <div class="w-24 h-24 rounded-full bg-gradient-to-br from-pink-500 to-pink-600 mx-auto mb-4 flex items-center justify-center text-3xl text-white">
367
- <i class="fas fa-user"></i>
368
- </div>
369
- <h3 class="font-bold text-lg">Emily Davis</h3>
370
- <p class="text-text-muted text-sm">Content Director</p>
 
 
 
 
 
 
 
 
 
 
 
371
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
  </div>
373
- </section>
374
 
375
- <!-- Contact View -->
376
- <section id="contactView" class="hidden py-12 px-4 md:px-8 max-w-7xl mx-auto">
377
- <div class="text-center mb-12">
378
- <h1 class="text-3xl md:text-4xl font-bold mb-4 gradient-text">Contact Us</h1>
379
- <p class="text-text-muted max-w-2xl mx-auto">Have questions? We'd love to hear from you. Send us a message and we'll respond as soon as possible.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  </div>
381
-
382
- <div class="grid md:grid-cols-2 gap-12">
383
- <div>
384
- <form id="contactForm" class="space-y-6" onsubmit="handleContactSubmit(event)">
385
- <div>
386
- <label class="block text-sm font-medium mb-2">Your Name</label>
387
- <input type="text" id="contactName" required class="w-full py-3 px-4 bg-surface border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all" placeholder="John Doe">
388
- </div>
389
- <div>
390
- <label class="block text-sm font-medium mb-2">Email Address</label>
391
- <input type="email" id="contactEmail" required class="w-full py-3 px-4 bg-surface border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all" placeholder="john@example.com">
392
- </div>
393
- <div>
394
- <label class="block text-sm font-medium mb-2">Subject</label>
395
- <select id="contactSubject" class="w-full py-3 px-4 bg-surface border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all">
396
- <option value="general">General Inquiry</option>
397
- <option value="support">Technical Support</option>
398
- <option value="billing">Billing Question</option>
399
- <option value="partnership">Partnership</option>
400
- </select>
401
- </div>
402
- <div>
403
- <label class="block text-sm font-medium mb-2">Message</label>
404
- <textarea id="contactMessage" required rows="5" class="w-full py-3 px-4 bg-surface border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all resize-none" placeholder="Your message..."></textarea>
405
  </div>
406
- <button type="submit" class="w-full py-4 gradient-bg text-white font-semibold rounded-xl hover:opacity-90 transition-all flex items-center justify-center gap-2">
407
- <i class="fas fa-paper-plane"></i> Send Message
 
 
 
408
  </button>
409
- </form>
410
- </div>
411
-
412
- <div class="space-y-6">
413
- <div class="bg-surface rounded-2xl p-6 border border-surface-light">
414
- <div class="flex items-center gap-4 mb-4">
415
- <div class="w-12 h-12 gradient-bg rounded-xl flex items-center justify-center text-white">
416
- <i class="fas fa-envelope"></i>
417
  </div>
418
- <div>
419
- <h3 class="font-bold">Email Us</h3>
420
- <p class="text-text-muted">support@edulearn.com</p>
421
  </div>
422
  </div>
423
  </div>
424
-
425
- <div class="bg-surface rounded-2xl p-6 border border-surface-light">
426
- <div class="flex items-center gap-4 mb-4">
427
- <div class="w-12 h-12 gradient-bg rounded-xl flex items-center justify-center text-white">
428
- <i class="fas fa-phone"></i>
429
- </div>
430
- <div>
431
- <h3 class="font-bold">Call Us</h3>
432
- <p class="text-text-muted">+1 (234) 567-890</p>
 
 
 
 
 
 
 
433
  </div>
 
 
 
434
  </div>
 
 
435
  </div>
436
-
437
- <div class="bg-surface rounded-2xl p-6 border border-surface-light">
438
- <div class="flex items-center gap-4 mb-4">
439
- <div class="w-12 h-12 gradient-bg rounded-xl flex items-center justify-center text-white">
440
- <i class="fas fa-map-marker-alt"></i>
441
- </div>
442
- <div>
443
- <h3 class="font-bold">Visit Us</h3>
444
- <p class="text-text-muted">123 Education St, Learning City, LC 12345</p>
445
  </div>
 
 
 
446
  </div>
 
 
447
  </div>
448
-
449
- <div class="bg-surface rounded-2xl p-6 border border-surface-light">
450
- <h3 class="font-bold mb-4">Follow Us</h3>
451
- <div class="flex gap-4">
452
- <a href="#" class="w-12 h-12 bg-surface-light rounded-xl flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
453
- <i class="fab fa-facebook-f"></i>
454
- </a>
455
- <a href="#" class="w-12 h-12 bg-surface-light rounded-xl flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
456
- <i class="fab fa-twitter"></i>
457
- </a>
458
- <a href="#" class="w-12 h-12 bg-surface-light rounded-xl flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
459
- <i class="fab fa-linkedin-in"></i>
460
- </a>
461
- <a href="#" class="w-12 h-12 bg-surface-light rounded-xl flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
462
- <i class="fab fa-youtube"></i>
463
- </a>
464
  </div>
 
 
465
  </div>
466
- </div>
467
- </div>
468
- </section>
469
-
470
- <!-- Subject Detail View -->
471
- <section class="hidden py-8 px-4 md:px-8 max-w-6xl mx-auto" id="subjectDetail">
472
- <button class="inline-flex items-center gap-2 text-text-muted px-6 py-3 bg-surface rounded-lg hover:bg-surface-light hover:text-text-primary transition-all duration-300 mb-8" onclick="showHome()">
473
- <i class="fas fa-arrow-left"></i> Back to Subjects
474
- </button>
475
- <div class="flex flex-col md:flex-row items-center gap-6 mb-8 p-8 bg-surface rounded-2xl border border-surface-light" id="subjectHeader">
476
- <!-- Dynamic content -->
477
- </div>
478
-
479
- <!-- Progress Bar -->
480
- <div class="bg-surface rounded-xl p-6 border border-surface-light mb-8">
481
- <div class="flex justify-between items-center mb-3">
482
- <span class="font-medium">Course Progress</span>
483
- <span class="text-primary-light font-bold" id="courseProgressText">0%</span>
484
- </div>
485
- <div class="w-full h-3 bg-surface-light rounded-full overflow-hidden">
486
- <div class="h-full gradient-bg rounded-full transition-all duration-500" id="courseProgressBar" style="width: 0%"></div>
487
- </div>
488
- </div>
489
-
490
- <h3 class="text-xl font-bold mb-6 flex items-center gap-3">
491
- <i class="fas fa-list text-primary"></i> Chapters
492
- </h3>
493
- <div class="flex flex-col gap-4" id="chaptersList">
494
- <!-- Dynamic content -->
495
- </div>
496
- </section>
497
-
498
- <!-- Video Player View -->
499
- <section class="hidden py-8 px-4 md:px-8 max-w-6xl mx-auto" id="videoSection">
500
- <button class="inline-flex items-center gap-2 text-text-muted px-6 py-3 bg-surface rounded-lg hover:bg-surface-light hover:text-text-primary transition-all duration-300 mb-8" onclick="backToSubject()">
501
- <i class="fas fa-arrow-left"></i> Back to Chapters
502
- </button>
503
- <div class="bg-surface rounded-2xl overflow-hidden border border-surface-light">
504
- <div class="relative pt-[56.25%] bg-black" id="videoContainer">
505
- <div class="absolute inset-0 flex flex-col items-center justify-center bg-gradient-to-br from-surface to-background cursor-pointer" id="videoPlaceholder" onclick="togglePlay()">
506
- <i class="fas fa-play-circle text-7xl text-primary mb-4 pulse-animation"></i>
507
- <p class="text-text-muted text-xl">Click to start learning</p>
508
- </div>
509
- <div class="absolute inset-0 hidden items-center justify-center bg-gradient-to-br from-surface to-background" id="videoPlaying">
510
- <div class="text-center">
511
- <i class="fas fa-video text-6xl text-primary mb-4"></i>
512
- <p class="text-text-primary text-xl font-semibold" id="nowPlayingTitle">Now Playing</p>
513
- <p class="text-text-muted">Video is playing...</p>
514
- <div class="mt-4 flex items-center justify-center gap-2">
515
- <div class="w-3 h-3 bg-primary rounded-full animate-pulse"></div>
516
- <div class="w-3 h-3 bg-primary rounded-full animate-pulse" style="animation-delay: 0.2s"></div>
517
- <div class="w-3 h-3 bg-primary rounded-full animate-pulse" style="animation-delay: 0.4s"></div>
518
  </div>
 
 
 
519
  </div>
 
 
520
  </div>
521
  </div>
522
- <!-- Video Controls -->
523
- <div class="p-6 bg-surface">
524
- <div class="w-full h-2 bg-surface-light rounded-full mb-4 cursor-pointer overflow-hidden" id="progressBar" onclick="seekVideo(event)">
525
- <div class="h-full w-0 gradient-bg rounded-full transition-all duration-100" id="progressFill"></div>
 
 
526
  </div>
527
- <div class="flex flex-wrap justify-between items-center gap-4">
528
- <div class="flex items-center gap-3">
529
- <button class="w-11 h-11 bg-surface-light text-text-primary rounded-full hover:bg-primary hover:scale-110 transition-all duration-300 flex items-center justify-center" onclick="skipBack()" title="Skip back 10s">
530
- <i class="fas fa-backward"></i>
531
- </button>
532
- <button class="w-14 h-14 gradient-bg text-white rounded-full hover:scale-110 transition-all duration-300 flex items-center justify-center text-xl" onclick="togglePlay()" id="playButton">
533
- <i class="fas fa-play" id="playIcon"></i>
534
- </button>
535
- <button class="w-11 h-11 bg-surface-light text-text-primary rounded-full hover:bg-primary hover:scale-110 transition-all duration-300 flex items-center justify-center" onclick="skipForward()" title="Skip forward 10s">
536
- <i class="fas fa-forward"></i>
537
- </button>
538
- <span class="text-text-muted text-sm font-mono" id="timeDisplay">00:00 / 00:00</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
539
  </div>
540
- <div class="flex items-center gap-3">
541
- <div class="flex items-center gap-3">
542
- <button class="w-11 h-11 bg-surface-light text-text-primary rounded-full hover:bg-primary hover:scale-110 transition-all duration-300 flex items-center justify-center" onclick="toggleMute()">
543
- <i class="fas fa-volume-up" id="volumeIcon"></i>
544
- </button>
545
- <input type="range" class="w-20 md:w-24" min="0" max="100" value="75" id="volumeSlider" oninput="changeVolume(this.value)">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
546
  </div>
547
- <button class="w-11 h-11 bg-surface-light text-text-primary rounded-full hover:bg-primary hover:scale-110 transition-all duration-300 flex items-center justify-center" onclick="changeSpeed()" title="Playback speed">
548
- <span class="text-xs font-bold" id="speedDisplay">1x</span>
549
- </button>
550
- <button class="w-11 h-11 bg-surface-light text-text-primary rounded-full hover:bg-primary hover:scale-110 transition-all duration-300 flex items-center justify-center" onclick="toggleFullscreen()">
551
- <i class="fas fa-expand" id="fullscreenIcon"></i>
552
- </button>
553
  </div>
554
  </div>
555
  </div>
556
- <div class="p-6 border-t border-surface-light" id="videoInfo">
557
- <!-- Dynamic content -->
558
- </div>
559
-
560
- <!-- Notes Section -->
561
- <div class="p-6 border-t border-surface-light">
562
- <h4 class="font-bold mb-4 flex items-center gap-2">
563
- <i class="fas fa-sticky-note text-primary"></i> Your Notes
564
- </h4>
565
- <textarea id="videoNotes" class="w-full h-32 p-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary resize-none" placeholder="Take notes while watching..."></textarea>
566
- <button onclick="saveNotes()" class="mt-3 px-6 py-2 gradient-bg text-white rounded-lg hover:opacity-90 transition-all">
567
- <i class="fas fa-save mr-2"></i>Save Notes
568
  </button>
569
  </div>
570
-
571
- <!-- Related Topics -->
572
- <div class="p-6 border-t border-surface-light">
573
- <h4 class="font-bold mb-4 flex items-center gap-2">
574
- <i class="fas fa-list text-primary"></i> Up Next
575
- </h4>
576
- <div id="relatedTopics" class="space-y-3">
577
- <!-- Dynamic content -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  </div>
579
  </div>
580
- </div>
581
- </section>
582
- </main>
583
-
584
- <!-- Footer -->
585
- <footer class="bg-surface border-t border-surface-light py-12 px-4 md:px-8 mt-16">
586
- <div class="max-w-7xl mx-auto grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8">
587
- <div>
588
- <h4 class="text-xl font-bold mb-4 flex items-center gap-2">
589
- <i class="fas fa-graduation-cap gradient-text"></i>
590
- <span class="gradient-text">EduLearn</span>
591
- </h4>
592
- <p class="text-text-muted">Empowering students with quality education and comprehensive learning resources.</p>
593
- <div class="flex gap-3 mt-4">
594
- <a href="#" class="w-10 h-10 bg-surface-light rounded-lg flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
595
- <i class="fab fa-facebook-f"></i>
596
- </a>
597
- <a href="#" class="w-10 h-10 bg-surface-light rounded-lg flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
598
- <i class="fab fa-twitter"></i>
599
- </a>
600
- <a href="#" class="w-10 h-10 bg-surface-light rounded-lg flex items-center justify-center text-text-muted hover:text-primary-light hover:bg-primary/20 transition-all">
601
- <i class="fab fa-linkedin-in"></i>
602
- </a>
 
 
 
 
 
 
 
 
 
603
  </div>
604
- </div>
605
- <div>
606
- <h4 class="text-xl font-bold mb-4">Quick Links</h4>
607
- <a href="#" onclick="showHome(); return false;" class="block text-text-muted hover:text-primary-light transition-colors duration-300 mb-2">Home</a>
608
- <a href="#" onclick="showCourses(); return false;" class="block text-text-muted hover:text-primary-light transition-colors duration-300 mb-2">Courses</a>
609
- <a href="#" onclick="showAbout(); return false;" class="block text-text-muted hover:text-primary-light transition-colors duration-300 mb-2">About Us</a>
610
- <a href="#" onclick="showContact(); return false;" class="block text-text-muted hover:text-primary-
 
4
  <head>
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>EduLearn Admin Panel</title>
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
10
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
11
  <script>
12
  tailwind.config = {
13
  theme: {
 
24
  'text-primary': '#f1f5f9',
25
  'text-muted': '#94a3b8',
26
  success: '#10b981',
27
+ warning: '#f59e0b',
28
+ danger: '#ef4444',
29
  }
30
  }
31
  }
 
47
  background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
48
  }
49
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  /* Scrollbar */
51
  ::-webkit-scrollbar {
52
  width: 8px;
53
+ height: 8px;
54
  }
55
 
56
  ::-webkit-scrollbar-track {
 
66
  background: #6366f1;
67
  }
68
 
69
+ /* Sidebar */
70
+ .sidebar {
71
+ transition: transform 0.3s ease, width 0.3s ease;
72
+ }
73
+
74
+ .sidebar.collapsed {
75
+ transform: translateX(-100%);
76
+ }
77
+
78
+ @media (min-width: 1024px) {
79
+ .sidebar.collapsed {
80
+ transform: translateX(0);
81
+ width: 80px;
82
+ }
83
+
84
+ .sidebar.collapsed .sidebar-text {
85
+ display: none;
86
+ }
87
+
88
+ .sidebar.collapsed .sidebar-item {
89
+ justify-content: center;
90
+ }
91
+ }
92
+
93
  /* Animations */
94
  @keyframes fadeIn {
95
  from {
96
  opacity: 0;
97
+ transform: translateY(10px);
98
  }
99
 
100
  to {
 
104
  }
105
 
106
  .animate-fade-in {
107
+ animation: fadeIn 0.3s ease forwards;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  }
109
 
110
+ @keyframes slideIn {
111
+ from {
112
+ opacity: 0;
113
+ transform: translateX(-20px);
114
+ }
 
 
 
 
 
 
 
115
 
116
+ to {
117
+ opacity: 1;
118
+ transform: translateX(0);
119
+ }
120
  }
121
 
122
+ .animate-slide-in {
123
+ animation: slideIn 0.3s ease forwards;
124
  }
125
 
126
+ /* Toast */
127
  .toast {
128
  position: fixed;
129
  bottom: 20px;
130
  right: 20px;
131
  padding: 16px 24px;
 
 
132
  border-radius: 12px;
133
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
134
  transform: translateY(100px);
 
142
  opacity: 1;
143
  }
144
 
145
+ /* Modal */
146
+ .modal {
147
+ display: none;
148
+ position: fixed;
149
+ top: 0;
150
+ left: 0;
151
+ width: 100%;
152
+ height: 100%;
153
+ background: rgba(0, 0, 0, 0.7);
154
+ z-index: 1000;
155
+ align-items: center;
156
+ justify-content: center;
157
+ backdrop-filter: blur(4px);
158
+ }
159
+
160
+ .modal.show {
161
+ display: flex;
162
  }
163
 
164
+ .modal-content {
165
+ background: #1e293b;
166
+ border-radius: 16px;
167
+ max-width: 600px;
168
+ width: 90%;
169
+ max-height: 90vh;
170
+ overflow-y: auto;
171
+ animation: fadeIn 0.3s ease;
172
+ }
173
+
174
+ /* Table */
175
+ .table-container {
176
+ overflow-x: auto;
177
+ }
178
+
179
+ table {
180
+ width: 100%;
181
+ border-collapse: collapse;
182
+ }
183
+
184
+ th,
185
+ td {
186
+ padding: 12px 16px;
187
+ text-align: left;
188
+ border-bottom: 1px solid #334155;
189
+ }
190
+
191
+ th {
192
+ background: #0f172a;
193
+ font-weight: 600;
194
+ color: #94a3b8;
195
+ text-transform: uppercase;
196
+ font-size: 12px;
197
+ letter-spacing: 0.5px;
198
+ }
199
+
200
+ tr:hover {
201
+ background: rgba(99, 102, 241, 0.05);
202
+ }
203
+
204
+ /* Status badges */
205
+ .badge {
206
+ padding: 4px 12px;
207
+ border-radius: 20px;
208
+ font-size: 12px;
209
+ font-weight: 600;
210
+ }
211
+
212
+ .badge-success {
213
+ background: rgba(16, 185, 129, 0.2);
214
+ color: #10b981;
215
+ }
216
+
217
+ .badge-warning {
218
+ background: rgba(245, 158, 11, 0.2);
219
+ color: #f59e0b;
220
+ }
221
+
222
+ .badge-danger {
223
+ background: rgba(239, 68, 68, 0.2);
224
+ color: #ef4444;
225
+ }
226
+
227
+ .badge-info {
228
+ background: rgba(14, 165, 233, 0.2);
229
+ color: #0ea5e9;
230
+ }
231
+
232
+ /* Custom checkbox */
233
+ .custom-checkbox {
234
+ appearance: none;
235
+ width: 18px;
236
+ height: 18px;
237
+ border: 2px solid #334155;
238
+ border-radius: 4px;
239
+ cursor: pointer;
240
+ transition: all 0.2s;
241
+ }
242
+
243
+ .custom-checkbox:checked {
244
+ background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
245
+ border-color: #6366f1;
246
+ }
247
+
248
+ .custom-checkbox:checked::after {
249
+ content: '✓';
250
+ display: flex;
251
+ align-items: center;
252
+ justify-content: center;
253
+ color: white;
254
+ font-size: 12px;
255
  }
256
  </style>
257
  </head>
258
 
259
+ <body class="bg-background text-text-primary min-h-screen">
260
  <!-- Toast Notification -->
261
+ <div id="toast" class="toast gradient-bg text-white">
262
  <i class="fas fa-check-circle mr-2"></i>
263
  <span id="toastMessage">Action completed!</span>
264
  </div>
265
 
266
+ <!-- Delete Confirmation Modal -->
267
+ <div id="deleteModal" class="modal">
268
+ <div class="modal-content p-6">
269
+ <div class="text-center">
270
+ <div class="w-16 h-16 bg-danger/20 rounded-full flex items-center justify-center mx-auto mb-4">
271
+ <i class="fas fa-trash-alt text-danger text-2xl"></i>
272
+ </div>
273
+ <h3 class="text-xl font-bold mb-2">Confirm Delete</h3>
274
+ <p class="text-text-muted mb-6">Are you sure you want to delete this item? This action cannot be undone.</p>
275
+ <div class="flex gap-4 justify-center">
276
+ <button onclick="closeDeleteModal()"
277
+ class="px-6 py-2 bg-surface-light rounded-lg hover:bg-surface transition-all">Cancel</button>
278
+ <button onclick="confirmDelete()"
279
+ class="px-6 py-2 bg-danger text-white rounded-lg hover:bg-red-600 transition-all">Delete</button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  </div>
 
281
  </div>
282
+ </div>
283
+ </div>
284
 
285
+ <!-- Add/Edit Course Modal -->
286
+ <div id="courseModal" class="modal">
287
+ <div class="modal-content">
288
+ <div class="p-6 border-b border-surface-light flex justify-between items-center">
289
+ <h3 class="text-xl font-bold" id="courseModalTitle">Add New Course</h3>
290
+ <button onclick="closeCourseModal()" class="text-text-muted hover:text-text-primary">
291
+ <i class="fas fa-times text-xl"></i>
292
+ </button>
293
+ </div>
294
+ <form id="courseForm" class="p-6 space-y-4" onsubmit="saveCourse(event)">
295
+ <input type="hidden" id="courseId">
296
+ <div>
297
+ <label class="block text-sm font-medium mb-2">Course Title</label>
298
+ <input type="text" id="courseTitle" required
299
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
300
+ placeholder="Enter course title">
301
+ </div>
302
+ <div class="grid grid-cols-2 gap-4">
303
+ <div>
304
+ <label class="block text-sm font-medium mb-2">Category</label>
305
+ <select id="courseCategory"
306
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all">
307
+ <option value="programming">Programming</option>
308
+ <option value="electronics">Electronics</option>
309
+ <option value="business">Business</option>
310
+ <option value="science">Science</option>
311
+ <option value="design">Design</option>
312
+ </select>
313
  </div>
314
+ <div>
315
+ <label class="block text-sm font-medium mb-2">Level</label>
316
+ <select id="courseLevel"
317
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all">
318
+ <option value="beginner">Beginner</option>
319
+ <option value="intermediate">Intermediate</option>
320
+ <option value="advanced">Advanced</option>
321
+ </select>
322
  </div>
323
+ </div>
324
+ <div class="grid grid-cols-2 gap-4">
325
+ <div>
326
+ <label class="block text-sm font-medium mb-2">Price ($)</label>
327
+ <input type="number" id="coursePrice" required min="0" step="0.01"
328
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
329
+ placeholder="49.99">
330
  </div>
331
+ <div>
332
+ <label class="block text-sm font-medium mb-2">Duration (hours)</label>
333
+ <input type="number" id="courseDuration" required min="1"
334
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
335
+ placeholder="10">
336
  </div>
337
  </div>
338
+ <div>
339
+ <label class="block text-sm font-medium mb-2">Description</label>
340
+ <textarea id="courseDescription" rows="3"
341
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all resize-none"
342
+ placeholder="Course description..."></textarea>
 
 
 
 
343
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
344
  <div>
345
+ <label class="block text-sm font-medium mb-2">Instructor</label>
346
+ <input type="text" id="courseInstructor" required
347
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
348
+ placeholder="Instructor name">
349
  </div>
350
+ <div class="flex items-center gap-3">
351
+ <input type="checkbox" id="coursePublished" class="custom-checkbox">
352
+ <label for="coursePublished" class="text-sm">Publish immediately</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  </div>
354
+ <div class="flex gap-4 pt-4">
355
+ <button type="button" onclick="closeCourseModal()"
356
+ class="flex-1 py-3 bg-surface-light rounded-xl hover:bg-surface transition-all">Cancel</button>
357
+ <button type="submit" class="flex-1 py-3 gradient-bg text-white rounded-xl hover:opacity-90 transition-all">
358
+ Save Course
359
+ </button>
360
+ </div>
361
+ </form>
362
+ </div>
363
+ </div>
364
+
365
+ <!-- Add/Edit User Modal -->
366
+ <div id="userModal" class="modal">
367
+ <div class="modal-content">
368
+ <div class="p-6 border-b border-surface-light flex justify-between items-center">
369
+ <h3 class="text-xl font-bold" id="userModalTitle">Add New User</h3>
370
+ <button onclick="closeUserModal()" class="text-text-muted hover:text-text-primary">
371
+ <i class="fas fa-times text-xl"></i>
372
+ </button>
373
  </div>
374
+ <form id="userForm" class="p-6 space-y-4" onsubmit="saveUser(event)">
375
+ <input type="hidden" id="userId">
376
+ <div class="grid grid-cols-2 gap-4">
377
+ <div>
378
+ <label class="block text-sm font-medium mb-2">First Name</label>
379
+ <input type="text" id="userFirstName" required
380
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
381
+ placeholder="John">
382
  </div>
383
+ <div>
384
+ <label class="block text-sm font-medium mb-2">Last Name</label>
385
+ <input type="text" id="userLastName" required
386
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
387
+ placeholder="Doe">
 
388
  </div>
 
 
389
  </div>
390
+ <div>
391
+ <label class="block text-sm font-medium mb-2">Email</label>
392
+ <input type="email" id="userEmail" required
393
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all"
394
+ placeholder="john@example.com">
 
395
  </div>
396
+ <div>
397
+ <label class="block text-sm font-medium mb-2">Role</label>
398
+ <select id="userRole"
399
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all">
400
+ <option value="student">Student</option>
401
+ <option value="instructor">Instructor</option>
402
+ <option value="admin">Admin</option>
403
+ </select>
404
+ </div>
405
+ <div>
406
+ <label class="block text-sm font-medium mb-2">Status</label>
407
+ <select id="userStatus"
408
+ class="w-full py-3 px-4 bg-background border border-surface-light rounded-xl focus:outline-none focus:border-primary transition-all">
409
+ <option value="active">Active</option>
410
+ <option value="inactive">Inactive</option>
411
+ <option value="suspended">Suspended</option>
412
+ </select>
413
  </div>
414
+ <div class="flex gap-4 pt-4">
415
+ <button type="button" onclick="closeUserModal()"
416
+ class="flex-1 py-3 bg-surface-light rounded-xl hover:bg-surface transition-all">Cancel</button>
417
+ <button type="submit" class="flex-1 py-3 gradient-bg text-white rounded-xl hover:opacity-90 transition-all">
418
+ Save User
419
+ </button>
420
+ </div>
421
+ </form>
422
+ </div>
423
+ </div>
424
+
425
+ <div class="flex min-h-screen">
426
+ <!-- Sidebar -->
427
+ <aside id="sidebar"
428
+ class="sidebar fixed lg:relative w-64 h-screen bg-surface border-r border-surface-light z-40 flex flex-col">
429
+ <div class="p-6 border-b border-surface-light">
430
+ <div class="flex items-center gap-3">
431
+ <i class="fas fa-graduation-cap text-2xl gradient-text"></i>
432
+ <span class="text-xl font-bold gradient-text sidebar-text">EduLearn</span>
433
+ </div>
434
+ <p class="text-text-muted text-sm mt-1 sidebar-text">Admin Panel</p>
435
  </div>
 
436
 
437
+ <nav class="flex-1 p-4 space-y-2">
438
+ <a href="#" onclick="showSection('dashboard'); return false;"
439
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-primary bg-primary/20 transition-all"
440
+ data-section="dashboard">
441
+ <i class="fas fa-chart-line w-5"></i>
442
+ <span class="sidebar-text">Dashboard</span>
443
+ </a>
444
+ <a href="#" onclick="showSection('courses'); return false;"
445
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-muted hover:text-text-primary hover:bg-surface-light transition-all"
446
+ data-section="courses">
447
+ <i class="fas fa-book w-5"></i>
448
+ <span class="sidebar-text">Courses</span>
449
+ </a>
450
+ <a href="#" onclick="showSection('users'); return false;"
451
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-muted hover:text-text-primary hover:bg-surface-light transition-all"
452
+ data-section="users">
453
+ <i class="fas fa-users w-5"></i>
454
+ <span class="sidebar-text">Users</span>
455
+ </a>
456
+ <a href="#" onclick="showSection('analytics'); return false;"
457
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-muted hover:text-text-primary hover:bg-surface-light transition-all"
458
+ data-section="analytics">
459
+ <i class="fas fa-chart-bar w-5"></i>
460
+ <span class="sidebar-text">Analytics</span>
461
+ </a>
462
+ <a href="#" onclick="showSection('content'); return false;"
463
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-muted hover:text-text-primary hover:bg-surface-light transition-all"
464
+ data-section="content">
465
+ <i class="fas fa-video w-5"></i>
466
+ <span class="sidebar-text">Content</span>
467
+ </a>
468
+ <a href="#" onclick="showSection('payments'); return false;"
469
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-muted hover:text-text-primary hover:bg-surface-light transition-all"
470
+ data-section="payments">
471
+ <i class="fas fa-credit-card w-5"></i>
472
+ <span class="sidebar-text">Payments</span>
473
+ </a>
474
+ <a href="#" onclick="showSection('settings'); return false;"
475
+ class="sidebar-item flex items-center gap-3 px-4 py-3 rounded-xl text-text-muted hover:text-text-primary hover:bg-surface-light transition-all"
476
+ data-section="settings">
477
+ <i class="fas fa-cog w-5"></i>
478
+ <span class="sidebar-text">Settings</span>
479
+ </a>
480
+ </nav>
481
+
482
+ <div class="p-4 border-t border-surface-light">
483
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank"
484
+ class="block text-center text-text-muted text-xs hover:text-primary-light transition-colors sidebar-text">
485
+ Built with anycoder
486
+ </a>
487
  </div>
488
+ </aside>
489
+
490
+ <!-- Main Content -->
491
+ <main class="flex-1 lg:ml-0">
492
+ <!-- Top Header -->
493
+ <header class="bg-surface/95 backdrop-blur-xl border-b border-surface-light px-4 md:px-8 py-4 sticky top-0 z-30">
494
+ <div class="flex justify-between items-center">
495
+ <div class="flex items-center gap-4">
496
+ <button onclick="toggleSidebar()" class="lg:hidden text-text-primary text-xl">
497
+ <i class="fas fa-bars"></i>
498
+ </button>
499
+ <button onclick="toggleSidebar()" class="hidden lg:block text-text-muted hover:text-text-primary">
500
+ <i class="fas fa-bars"></i>
501
+ </button>
502
+ <div class="relative hidden md:block">
503
+ <i class="fas fa-search absolute left-4 top-1/2 -translate-y-1/2 text-text-muted"></i>
504
+ <input type="text" placeholder="Search..."
505
+ class="py-2 px-4 pl-10 bg-background border border-surface-light rounded-lg focus:outline-none focus:border-primary transition-all w-64">
 
 
 
 
 
 
506
  </div>
507
+ </div>
508
+ <div class="flex items-center gap-4">
509
+ <button class="relative p-2 text-text-muted hover:text-text-primary transition-colors">
510
+ <i class="fas fa-bell text-xl"></i>
511
+ <span class="absolute top-0 right-0 w-5 h-5 bg-danger text-white text-xs rounded-full flex items-center justify-center">3</span>
512
  </button>
513
+ <button class="relative p-2 text-text-muted hover:text-text-primary transition-colors">
514
+ <i class="fas fa-envelope text-xl"></i>
515
+ <span class="absolute top-0 right-0 w-5 h-5 bg-primary text-white text-xs rounded-full flex items-center justify-center">5</span>
516
+ </button>
517
+ <div class="flex items-center gap-3 pl-4 border-l border-surface-light">
518
+ <div class="w-10 h-10 rounded-full gradient-bg flex items-center justify-center text-white font-bold">
519
+ A
 
520
  </div>
521
+ <div class="hidden md:block">
522
+ <p class="font-medium text-sm">Admin User</p>
523
+ <p class="text-text-muted text-xs">Super Admin</p>
524
  </div>
525
  </div>
526
  </div>
527
+ </div>
528
+ </header>
529
+
530
+ <!-- Dashboard Section -->
531
+ <section id="dashboardSection" class="p-4 md:p-8">
532
+ <div class="mb-8">
533
+ <h1 class="text-2xl md:text-3xl font-bold mb-2">Dashboard</h1>
534
+ <p class="text-text-muted">Welcome back! Here's what's happening with your platform.</p>
535
+ </div>
536
+
537
+ <!-- Stats Cards -->
538
+ <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
539
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light animate-fade-in">
540
+ <div class="flex justify-between items-start mb-4">
541
+ <div class="w-12 h-12 rounded-xl bg-primary/20 flex items-center justify-center">
542
+ <i class="fas fa-users text-primary text-xl"></i>
543
  </div>
544
+ <span class="text-success text-sm flex items-center gap-1">
545
+ <i class="fas fa-arrow-up"></i> 12%
546
+ </span>
547
  </div>
548
+ <h3 class="text-3xl font-bold mb-1">12,847</h3>
549
+ <p class="text-text-muted text-sm">Total Students</p>
550
  </div>
551
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light animate-fade-in" style="animation-delay: 0.1s">
552
+ <div class="flex justify-between items-start mb-4">
553
+ <div class="w-12 h-12 rounded-xl bg-secondary/20 flex items-center justify-center">
554
+ <i class="fas fa-book text-secondary text-xl"></i>
 
 
 
 
 
555
  </div>
556
+ <span class="text-success text-sm flex items-center gap-1">
557
+ <i class="fas fa-arrow-up"></i> 8%
558
+ </span>
559
  </div>
560
+ <h3 class="text-3xl font-bold mb-1">156</h3>
561
+ <p class="text-text-muted text-sm">Active Courses</p>
562
  </div>
563
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light animate-fade-in" style="animation-delay: 0.2s">
564
+ <div class="flex justify-between items-start mb-4">
565
+ <div class="w-12 h-12 rounded-xl bg-success/20 flex items-center justify-center">
566
+ <i class="fas fa-dollar-sign text-success text-xl"></i>
567
+ </div>
568
+ <span class="text-success text-sm flex items-center gap-1">
569
+ <i class="fas fa-arrow-up"></i> 23%
570
+ </span>
 
 
 
 
 
 
 
 
571
  </div>
572
+ <h3 class="text-3xl font-bold mb-1">$48,295</h3>
573
+ <p class="text-text-muted text-sm">Revenue (Monthly)</p>
574
  </div>
575
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light animate-fade-in" style="animation-delay: 0.3s">
576
+ <div class="flex justify-between items-start mb-4">
577
+ <div class="w-12 h-12 rounded-xl bg-accent/20 flex items-center justify-center">
578
+ <i class="fas fa-star text-accent text-xl"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
579
  </div>
580
+ <span class="text-danger text-sm flex items-center gap-1">
581
+ <i class="fas fa-arrow-down"></i> 2%
582
+ </span>
583
  </div>
584
+ <h3 class="text-3xl font-bold mb-1">4.8</h3>
585
+ <p class="text-text-muted text-sm">Average Rating</p>
586
  </div>
587
  </div>
588
+
589
+ <!-- Charts Row -->
590
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8">
591
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light">
592
+ <h3 class="font-bold mb-4">Revenue Overview</h3>
593
+ <canvas id="revenueChart" height="200"></canvas>
594
  </div>
595
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light">
596
+ <h3 class="font-bold mb-4">Student Enrollments</h3>
597
+ <canvas id="enrollmentChart" height="200"></canvas>
598
+ </div>
599
+ </div>
600
+
601
+ <!-- Recent Activity & Top Courses -->
602
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
603
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light">
604
+ <h3 class="font-bold mb-4">Recent Activity</h3>
605
+ <div class="space-y-4">
606
+ <div class="flex items-center gap-4 p-3 bg-background rounded-xl">
607
+ <div class="w-10 h-10 rounded-full bg-success/20 flex items-center justify-center">
608
+ <i class="fas fa-user-plus text-success"></i>
609
+ </div>
610
+ <div class="flex-1">
611
+ <p class="font-medium text-sm">New student registered</p>
612
+ <p class="text-text-muted text-xs">Sarah Johnson joined Python Basics</p>
613
+ </div>
614
+ <span class="text-text-muted text-xs">2 min ago</span>
615
+ </div>
616
+ <div class="flex items-center gap-4 p-3 bg-background rounded-xl">
617
+ <div class="w-10 h-10 rounded-full bg-primary/20 flex items-center justify-center">
618
+ <i class="fas fa-credit-card text-primary"></i>
619
+ </div>
620
+ <div class="flex-1">
621
+ <p class="font-medium text-sm">Payment received</p>
622
+ <p class="text-text-muted text-xs">$49.99 for Web Development course</p>
623
+ </div>
624
+ <span class="text-text-muted text-xs">15 min ago</span>
625
+ </div>
626
+ <div class="flex items-center gap-4 p-3 bg-background rounded-xl">
627
+ <div class="w-10 h-10 rounded-full bg-accent/20 flex items-center justify-center">
628
+ <i class="fas fa-star text-accent"></i>
629
+ </div>
630
+ <div class="flex-1">
631
+ <p class="font-medium text-sm">New review posted</p>
632
+ <p class="text-text-muted text-xs">5-star review on JavaScript course</p>
633
+ </div>
634
+ <span class="text-text-muted text-xs">1 hour ago</span>
635
+ </div>
636
+ <div class="flex items-center gap-4 p-3 bg-background rounded-xl">
637
+ <div class="w-10 h-10 rounded-full bg-secondary/20 flex items-center justify-center">
638
+ <i class="fas fa-book text-secondary"></i>
639
+ </div>
640
+ <div class="flex-1">
641
+ <p class="font-medium text-sm">Course published</p>
642
+ <p class="text-text-muted text-xs">React Advanced Patterns is now live</p>
643
+ </div>
644
+ <span class="text-text-muted text-xs">3 hours ago</span>
645
+ </div>
646
  </div>
647
+ </div>
648
+
649
+ <div class="bg-surface rounded-2xl p-6 border border-surface-light">
650
+ <h3 class="font-bold mb-4">Top Performing Courses</h3>
651
+ <div class="space-y-4">
652
+ <div class="flex items-center gap-4">
653
+ <span class="w-8 h-8 rounded-lg gradient-bg flex items-center justify-center text-white font-bold">1</span>
654
+ <div class="flex-1">
655
+ <p class="font-medium">Python for Beginners</p>
656
+ <div class="flex items-center gap-2 text-sm text-text-muted">
657
+ <span>2,456 students</span>
658
+ <span>•</span>
659
+ <span class="text-accent"><i class="fas fa-star"></i> 4.9</span>
660
+ </div>
661
+ </div>
662
+ <span class="text-success font-bold">$12,280</span>
663
+ </div>
664
+ <div class="flex items-center gap-4">
665
+ <span class="w-8 h-8 rounded-lg bg-surface-light flex items-center justify-center font-bold">2</span>
666
+ <div class="flex-1">
667
+ <p class="font-medium">Web Development Bootcamp</p>
668
+ <div class="flex items-center gap-2 text-sm text-text-muted">
669
+ <span>1,892 students</span>
670
+ <span>•</span>
671
+ <span class="text-accent"><i class="fas fa-star"></i> 4.8</span>
672
+ </div>
673
+ </div>
674
+ <span class="text-success font-bold">$9,460</span>
675
+ </div>
676
+ <div class="flex items-center gap-4">
677
+ <span class="w-8 h-8 rounded-lg bg-surface-light flex items-center justify-center font-bold">3</span>
678
+ <div class="flex-1">
679
+ <p class="font-medium">JavaScript Mastery</p>
680
+ <div class="flex items-center gap-2 text-sm text-text-muted">
681
+ <span>1,654 students</span>
682
+ <span>•</span>
683
+ <span class="text-accent"><i class="fas fa-star"></i> 4.7</span>
684
+ </div>
685
+ </div>
686
+ <span class="text-success font-bold">$8,270</span>
687
+ </div>
688
+ <div class="flex items-center gap-4">
689
+ <span class="w-8 h-8 rounded-lg bg-surface-light flex items-center justify-center font-bold">4</span>
690
+ <div class="flex-1">
691
+ <p class="font-medium">Data Science Fundamentals</p>
692
+ <div class="flex items-center gap-2 text-sm text-text-muted">
693
+ <span>1,234 students</span>
694
+ <span>•</span>
695
+ <span class="text-accent"><i class="fas fa-star"></i> 4.6</span>
696
+ </div>
697
+ </div>
698
+ <span class="text-success font-bold">$6,170</span>
699
  </div>
 
 
 
 
 
 
700
  </div>
701
  </div>
702
  </div>
703
+ </section>
704
+
705
+ <!-- Courses Section -->
706
+ <section id="coursesSection" class="hidden p-4 md:p-8">
707
+ <div class="flex flex-col md:flex-row justify-between items-start md:items-center gap-4 mb-8">
708
+ <div>
709
+ <h1 class="text-2xl md:text-3xl font-bold mb-2">Courses</h1>
710
+ <p class="text-text-muted">Manage all courses on the platform</p>
711
+ </div>
712
+ <button onclick="openCourseModal()"
713
+ class="px-6 py-3 gradient-bg text-white rounded-xl hover:opacity-90 transition-all flex items-center gap-2">
714
+ <i class="fas fa-plus"></i> Add New Course
715
  </button>
716
  </div>
717
+
718
+ <!-- Filters -->
719
+ <div class="flex flex-wrap gap-4 mb-6">
720
+ <select
721
+ class="py-2 px-4 bg-surface border border-surface-light rounded-lg focus:outline-none focus:border-primary">
722
+ <option value="">All Categories</option>
723
+ <option value="programming">Programming</option>
724
+ <option value="electronics">Electronics</option>
725
+ <option value="business">Business</option>
726
+ <option value="science">Science</option>
727
+ </select>
728
+ <select
729
+ class="py-2 px-4 bg-surface border border-surface-light rounded-lg focus:outline-none focus:border-primary">
730
+ <option value="">All Status</option>
731
+ <option value="published">Published</option>
732
+ <option value="draft">Draft</option>
733
+ <option value="archived">Archived</option>
734
+ </select>
735
+ <div class="relative flex-1 min-w-[200px]">
736
+ <i class="fas fa-search absolute left-4 top-1/2 -translate-y-1/2 text-text-muted"></i>
737
+ <input type="text" placeholder="Search courses..."
738
+ class="w-full py-2 px-4 pl-10 bg-surface border border-surface-light rounded-lg focus:outline-none focus:border-primary">
739
  </div>
740
  </div>
741
+
742
+ <!-- Courses Table -->
743
+ <div class="bg-surface rounded-2xl border border-surface-light overflow-hidden">
744
+ <div class="table-container">
745
+ <table>
746
+ <thead>
747
+ <tr>
748
+ <th><input type="checkbox" class="custom-checkbox"></th>
749
+ <th>Course</th>
750
+ <th>Category</th>
751
+ <th>Instructor</th>
752
+ <th>Students</th>
753
+ <th>Price</th>
754
+ <th>Status</th>
755
+ <th>Actions</th>
756
+ </tr>
757
+ </thead>
758
+ <tbody id="coursesTableBody">
759
+ <!-- Dynamic content -->
760
+ </tbody>
761
+ </table>
762
+ </div>
763
+ <div class="p-4 border-t border-surface-light flex justify-between items-center">
764
+ <p class="text-text-muted text-sm">Showing 1-10 of 156 courses</p>
765
+ <div class="flex gap-2">
766
+ <button class="px-4 py-2 bg-surface-light rounded-lg hover:bg-primary/20 transition-all">Previous</button>
767
+ <button class="px-4 py-2 gradient-bg text-white rounded-lg">1</button>
768
+ <button class="px-4 py-2 bg-surface-light rounded-lg hover:bg-primary/20 transition-all">2</button>
769
+ <button class="px-4 py-2 bg-surface-light rounded-lg hover:bg-primary/20 transition-all">3</button>
770
+ <button class="px-4 py-2 bg-surface-light rounded-lg hover:bg-primary/20 transition-all">Next</button>
771
+ </div>
772
+ </div>
773
  </div>
774
+ </section>
775
+
776
+ <!-- Users Section -->
777
+ <section id="usersSection" class="hidden p-4 md:p-8">
778
+ <div class="flex flex-col md:flex-row justify-between items-start md:items-center gap-4 mb-8">
779
+ <div>
780
+ <h1 class="text-2xl md:text-3xl font-bold mb-