Krydev32 commited on
Commit
18398fe
·
verified ·
1 Parent(s): 3183516

It shows nothing, you must have sent an incomplete code?

Browse files
Files changed (4) hide show
  1. about.html +56 -0
  2. index.html +13 -4
  3. script.js +53 -17
  4. style.css +18 -2
about.html ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="h-full" data-theme="light">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>About - TKQuest</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link href="https://cdn.jsdelivr.net/npm/daisyui@4.12.10/dist/full.min.css" rel="stylesheet">
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
10
+ <link rel="stylesheet" href="style.css">
11
+ </head>
12
+ <body class="h-full bg-base-300">
13
+ <div id="app" class="min-h-full">
14
+ <div id="main-app-view" class="h-screen flex fixed inset-0 overflow-hidden">
15
+ <aside id="sidebar" class="bg-base-100 shadow-xl flex flex-col h-full z-10 w-64">
16
+ <!-- Sidebar content from index.html -->
17
+ </aside>
18
+ <main class="bg-base-200 overflow-y-auto">
19
+ <div class="py-10">
20
+ <header class="sticky top-0 bg-base-200/80 backdrop-blur z-20 pt-2 pb-2 -mt-10">
21
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
22
+ <h1 class="text-3xl font-bold leading-tight text-primary-blue">About TKQuest</h1>
23
+ </div>
24
+ </header>
25
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 mt-8 pb-10">
26
+ <div class="card bg-base-100 shadow-xl">
27
+ <div class="card-body">
28
+ <h2 class="card-title text-2xl">Our Mission</h2>
29
+ <p>TKQuest is a comprehensive learning platform designed to help Taekwondo students track their progress, complete lessons, and prepare for belt testing.</p>
30
+
31
+ <div class="divider"></div>
32
+
33
+ <h2 class="card-title text-2xl">Features</h2>
34
+ <ul class="list-disc pl-5 space-y-2">
35
+ <li>Interactive curriculum with video lessons</li>
36
+ <li>Progress tracking for each belt level</li>
37
+ <li>Practice exercises and quizzes</li>
38
+ <li>Event calendar for classes and testing</li>
39
+ <li>Instructor feedback system</li>
40
+ </ul>
41
+
42
+ <div class="divider"></div>
43
+
44
+ <h2 class="card-title text-2xl">Contact</h2>
45
+ <p>For questions or support, please email:</p>
46
+ <p class="font-medium">support@tkquest.com</p>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </main>
52
+ </div>
53
+ </div>
54
+ <script src="script.js"></script>
55
+ </body>
56
+ </html>
index.html CHANGED
@@ -319,12 +319,21 @@
319
  <button id="add-announcement-btn" class="btn btn-primary btn-sm">Post Announcement</button>
320
  </div>
321
  </div>
322
- <div class="card bg-base-100 shadow-xl max-h-[50vh] overflow-y-auto">
323
- <div id="announcements-list" class="card-body space-y-4">
324
- <p class="text-base-content opacity-60">No announcements yet.</p>
325
- </div>
 
 
 
 
 
 
 
326
  </div>
327
  </div>
 
 
328
  <!-- Notifications/Recent Activity -->
329
  <div>
330
  <h2 class="text-2xl font-semibold mb-4">Recent Activity</h2>
 
319
  <button id="add-announcement-btn" class="btn btn-primary btn-sm">Post Announcement</button>
320
  </div>
321
  </div>
322
+ <div class="card bg-base-100 shadow-xl max-h-[50vh] overflow-y-auto">
323
+ <div id="announcements-list" class="card-body space-y-4">
324
+ <div class="announcement">
325
+ <h3 class="font-bold">Welcome to TKQuest!</h3>
326
+ <p class="text-sm">Get started by exploring the curriculum and completing your first lesson.</p>
327
+ <p class="text-xs text-gray-500">Posted on: Today</p>
328
+ </div>
329
+ <div class="announcement">
330
+ <h3 class="font-bold">Belt Testing Dates</h3>
331
+ <p class="text-sm">Next belt testing will be on December 15th. Make sure to complete all requirements.</p>
332
+ <p class="text-xs text-gray-500">Posted on: Nov 20</p>
333
  </div>
334
  </div>
335
+ </div>
336
+ </div>
337
  <!-- Notifications/Recent Activity -->
338
  <div>
339
  <h2 class="text-2xl font-semibold mb-4">Recent Activity</h2>
script.js CHANGED
@@ -178,14 +178,13 @@ function setupSidebarMenu() {
178
  { id: 'my-progress-page', icon: 'progress', text: 'My Progress' }
179
  );
180
  }
181
-
182
  menuItems.push(
183
  { id: 'tasks-page', icon: 'tasks', text: 'Tasks & Exercises' },
184
  { id: 'events-page', icon: 'events', text: 'Events' },
185
- { id: 'settings-page', icon: 'settings', text: 'Settings' }
 
186
  );
187
-
188
- menu.innerHTML = menuItems.map(item => `
189
  <li>
190
  <a data-page="${item.id}" class="nav-link">
191
  ${ICONS[item.icon] || ''}
@@ -226,22 +225,59 @@ function toggleInstructorUI(isInstructor) {
226
  });
227
  document.getElementById('dashboard-progress-overview').style.display = isInstructor ? 'none' : 'block';
228
  }
229
-
230
  // Load initial data
231
  function loadInitialData() {
232
- // Implement data loading as needed
233
- // This would include setting up Firestore listeners for:
234
- // - Announcements
235
- // - Lessons
236
- // - Topics
237
- // - Events
238
- // - Quizzes
239
- // - Tasks
240
- // - Challenges
241
- // - User progress
242
- // - Student list (for instructors)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  }
244
-
245
  // ICONS constant (copied from original)
246
  const ICONS = {
247
  // ... (same as in original)
 
178
  { id: 'my-progress-page', icon: 'progress', text: 'My Progress' }
179
  );
180
  }
 
181
  menuItems.push(
182
  { id: 'tasks-page', icon: 'tasks', text: 'Tasks & Exercises' },
183
  { id: 'events-page', icon: 'events', text: 'Events' },
184
+ { id: 'settings-page', icon: 'settings', text: 'Settings' },
185
+ { id: 'about-page', icon: 'info', text: 'About', href: 'about.html' }
186
  );
187
+ menu.innerHTML = menuItems.map(item => `
 
188
  <li>
189
  <a data-page="${item.id}" class="nav-link">
190
  ${ICONS[item.icon] || ''}
 
225
  });
226
  document.getElementById('dashboard-progress-overview').style.display = isInstructor ? 'none' : 'block';
227
  }
 
228
  // Load initial data
229
  function loadInitialData() {
230
+ if (!currentUser || !currentUserData) return;
231
+
232
+ // Update dashboard stats
233
+ if (currentUserData.role === 'student') {
234
+ document.getElementById('stat-current-belt').textContent = currentUserData.beltLevel;
235
+ document.getElementById('stat-lessons-completed').textContent = '3/15'; // Example data
236
+
237
+ // Set progress bar
238
+ document.getElementById('dashboard-progress-bar-fill').style.width = '25%';
239
+ document.getElementById('dashboard-progress-text').textContent = '25%';
240
+
241
+ // Show progress overview for students
242
+ document.getElementById('dashboard-progress-overview').classList.remove('hidden');
243
+ }
244
+
245
+ // Set mock next event
246
+ const nextEventEl = document.getElementById('dashboard-next-event');
247
+ nextEventEl.innerHTML = `
248
+ <p class="font-medium">Belt Testing Seminar</p>
249
+ <p class="text-sm">December 10, 2023</p>
250
+ <p class="text-sm">10:00 AM - 12:00 PM</p>
251
+ <button class="btn btn-sm btn-secondary mt-2">View Details</button>
252
+ `;
253
+
254
+ // Set mock recent activity
255
+ const activityEl = document.getElementById('dashboard-notifications');
256
+ activityEl.innerHTML = `
257
+ <div class="flex items-start gap-3">
258
+ <div class="avatar">
259
+ <div class="w-8 rounded-full bg-primary text-white flex items-center justify-center">
260
+ <span>Y</span>
261
+ </div>
262
+ </div>
263
+ <div>
264
+ <p>Completed <strong>Basic Stances</strong> lesson</p>
265
+ <p class="text-xs text-gray-500">Today, 3:45 PM</p>
266
+ </div>
267
+ </div>
268
+ <div class="flex items-start gap-3">
269
+ <div class="avatar">
270
+ <div class="w-8 rounded-full bg-secondary text-white flex items-center justify-center">
271
+ <span>M</span>
272
+ </div>
273
+ </div>
274
+ <div>
275
+ <p>Received feedback on <strong>Kicking Techniques</strong></p>
276
+ <p class="text-xs text-gray-500">Yesterday, 10:30 AM</p>
277
+ </div>
278
+ </div>
279
+ `;
280
  }
 
281
  // ICONS constant (copied from original)
282
  const ICONS = {
283
  // ... (same as in original)
style.css CHANGED
@@ -1,8 +1,24 @@
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
4
  }
5
 
 
 
 
 
 
 
 
 
 
6
  h1 {
7
  font-size: 16px;
8
  margin-top: 0;
 
1
+
2
  body {
3
+ font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
+ }
5
+
6
+ .announcement {
7
+ padding: 1rem;
8
+ border-radius: 0.5rem;
9
+ background-color: #f8fafc;
10
+ border-left: 4px solid #436bd9;
11
  }
12
 
13
+ .announcement h3 {
14
+ margin-bottom: 0.5rem;
15
+ color: #1e293b;
16
+ }
17
+
18
+ .announcement p {
19
+ margin-bottom: 0.25rem;
20
+ color: #64748b;
21
+ }
22
  h1 {
23
  font-size: 16px;
24
  margin-top: 0;