sudzdpn commited on
Commit
9618126
Β·
verified Β·
1 Parent(s): 3f386dc

lets make the app fully functional. ensure that the Dashboard ,Activities, Tools, Progress tabs have well documented content. please call it SAML LMS

Browse files
Files changed (6) hide show
  1. README.md +9 -5
  2. activities.html +358 -0
  3. index.html +489 -18
  4. progress.html +479 -0
  5. resources.html +344 -0
  6. tools.html +341 -0
README.md CHANGED
@@ -1,10 +1,14 @@
1
  ---
2
- title: Undefined
3
- emoji: πŸ‘
4
- colorFrom: gray
5
- colorTo: gray
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
1
  ---
2
+ title: undefined
3
+ colorFrom: green
4
+ colorTo: blue
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
14
+
activities.html ADDED
@@ -0,0 +1,358 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Activities - SAML LMS</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script>
10
+ tailwind.config = {
11
+ darkMode: 'class',
12
+ theme: {
13
+ extend: {
14
+ colors: {
15
+ 'sa-orange': '#FF6B35',
16
+ 'sa-teal': '#008080',
17
+ 'sa-yellow': '#FFD23F',
18
+ 'sa-purple': '#6A4C93',
19
+ 'sa-red': '#C1121F',
20
+ 'sa-green': '#007200',
21
+ 'sa-blue': '#003049'
22
+ }
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+ </head>
28
+ <body class="bg-gray-50 dark:bg-gray-900 text-gray-900 dark:text-gray-100">
29
+ <!-- Navigation (same as index) -->
30
+ <nav class="bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700 sticky top-0 z-50">
31
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
32
+ <div class="flex justify-between items-center h-16">
33
+ <div class="flex items-center space-x-8">
34
+ <div class="flex items-center space-x-3">
35
+ <div class="w-8 h-8 bg-gradient-to-br from-sa-orange to-sa-purple rounded-lg flex items-center justify-center">
36
+ <i data-feather="cpu" class="w-5 h-5 text-white"></i>
37
+ </div>
38
+ <span class="font-bold text-xl">SAML LMS</span>
39
+ </div>
40
+ <div class="hidden md:flex space-x-6">
41
+ <a href="index.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
42
+ <i data-feather="home" class="w-4 h-4"></i> Dashboard
43
+ </a>
44
+ <a href="activities.html" class="nav-link text-sa-teal dark:text-sa-teal font-medium flex items-center gap-2">
45
+ <i data-feather="grid" class="w-4 h-4"></i> Activities
46
+ </a>
47
+ <a href="tools.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
48
+ <i data-feather="tool" class="w-4 h-4"></i> Tools
49
+ </a>
50
+ <a href="progress.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
51
+ <i data-feather="trending-up" class="w-4 h-4"></i> Progress
52
+ </a>
53
+ <a href="resources.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
54
+ <i data-feather="book-open" class="w-4 h-4"></i> Resources
55
+ </a>
56
+ </div>
57
+ </div>
58
+ <div class="flex items-center space-x-4">
59
+ <button class="bg-sa-green text-white px-3 py-1 rounded-full text-xs font-medium flex items-center gap-2">
60
+ <i data-feather="wifi-off" class="w-3 h-3"></i> Offline
61
+ </button>
62
+ <button class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">
63
+ <i data-feather="moon" class="w-5 h-5"></i>
64
+ </button>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </nav>
69
+
70
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
71
+ <!-- Header -->
72
+ <div class="flex flex-col md:flex-row md:items-center md:justify-between mb-8">
73
+ <div>
74
+ <h1 class="text-3xl font-bold mb-2">Activity Library</h1>
75
+ <p class="text-gray-600 dark:text-gray-400">Browse and filter computational thinking activities</p>
76
+ </div>
77
+ <button class="mt-4 md:mt-0 bg-sa-teal text-white px-6 py-2 rounded-lg hover:bg-sa-teal/90 transition-colors flex items-center gap-2">
78
+ <i data-feather="plus" class="w-4 h-4"></i> Create Activity
79
+ </button>
80
+ </div>
81
+
82
+ <!-- Filters and Search -->
83
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 mb-6">
84
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-4">
85
+ <div>
86
+ <label class="block text-sm font-medium mb-2">Grade Level</label>
87
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
88
+ <option>All Grades</option>
89
+ <option>Grade R</option>
90
+ <option>Grade 1</option>
91
+ <option>Grade 2</option>
92
+ <option>Grade 3</option>
93
+ </select>
94
+ </div>
95
+ <div>
96
+ <label class="block text-sm font-medium mb-2">Concept</label>
97
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
98
+ <option>All Concepts</option>
99
+ <option>Sequencing</option>
100
+ <option>Patterns</option>
101
+ <option>Algorithms</option>
102
+ <option>Debugging</option>
103
+ <option>Decomposition</option>
104
+ </select>
105
+ </div>
106
+ <div>
107
+ <label class="block text-sm font-medium mb-2">Duration</label>
108
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
109
+ <option>Any Duration</option>
110
+ <option>Under 30 min</option>
111
+ <option>30-45 min</option>
112
+ <option>45-60 min</option>
113
+ <option>Over 60 min</option>
114
+ </select>
115
+ </div>
116
+ <div>
117
+ <label class="block text-sm font-medium mb-2">Difficulty</label>
118
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
119
+ <option>All Levels</option>
120
+ <option>Beginner</option>
121
+ <option>Intermediate</option>
122
+ <option>Advanced</option>
123
+ </select>
124
+ </div>
125
+ </div>
126
+ <div class="flex flex-col md:flex-row gap-4">
127
+ <div class="flex-1 relative">
128
+ <i data-feather="search" class="absolute left-3 top-1/2 transform -translate-y-1/2 w-5 h-5 text-gray-400"></i>
129
+ <input type="text" placeholder="Search activities..." class="w-full pl-10 pr-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-sa-teal">
130
+ </div>
131
+ <div class="flex gap-2">
132
+ <button class="px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors flex items-center gap-2">
133
+ <i data-feather="filter" class="w-4 h-4"></i> More Filters
134
+ </button>
135
+ <button class="px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors flex items-center gap-2">
136
+ <i data-feather="download" class="w-4 h-4"></i> Download Selected
137
+ </button>
138
+ </div>
139
+ </div>
140
+ </div>
141
+
142
+ <!-- Activity Grid -->
143
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
144
+ <!-- Activity Card 1 -->
145
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 overflow-hidden group">
146
+ <div class="relative">
147
+ <img src="http://static.photos/education/400x200/45" alt="Activity" class="w-full h-48 object-cover">
148
+ <div class="absolute top-3 left-3 flex gap-2">
149
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
150
+ <span class="bg-sa-orange/10 text-sa-orange px-2 py-1 rounded text-xs font-medium">Grade 2</span>
151
+ </div>
152
+ <div class="absolute top-3 right-3">
153
+ <button class="p-2 bg-white/90 dark:bg-gray-800/90 rounded-lg hover:bg-white dark:hover:bg-gray-800 transition-colors">
154
+ <i data-feather="bookmark" class="w-4 h-4"></i>
155
+ </button>
156
+ </div>
157
+ </div>
158
+ <div class="p-6">
159
+ <h3 class="font-bold text-lg mb-2 group-hover:text-sa-teal transition-colors">Pattern Dance Party</h3>
160
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Students create and follow dance patterns to understand sequencing and repetition in computational thinking.</p>
161
+ <div class="flex flex-wrap gap-2 mb-4">
162
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Sequencing</span>
163
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Patterns</span>
164
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">45 min</span>
165
+ </div>
166
+ <div class="flex items-center justify-between">
167
+ <div class="flex items-center gap-1">
168
+ <i data-feather="clock" class="w-4 h-4 text-gray-400"></i>
169
+ <span class="text-sm text-gray-500 dark:text-gray-400">45 minutes</span>
170
+ </div>
171
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Details β†’</button>
172
+ </div>
173
+ </div>
174
+ </div>
175
+
176
+ <!-- Activity Card 2 -->
177
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 overflow-hidden group">
178
+ <div class="relative">
179
+ <img src="http://static.photos/education/400x200/46" alt="Activity" class="w-full h-48 object-cover">
180
+ <div class="absolute top-3 left-3 flex gap-2">
181
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
182
+ <span class="bg-sa-purple/10 text-sa-purple px-2 py-1 rounded text-xs font-medium">Grade 3</span>
183
+ </div>
184
+ <div class="absolute top-3 right-3">
185
+ <button class="p-2 bg-white/90 dark:bg-gray-800/90 rounded-lg hover:bg-white dark:hover:bg-gray-800 transition-colors">
186
+ <i data-feather="bookmark" class="w-4 h-4"></i>
187
+ </button>
188
+ </div>
189
+ </div>
190
+ <div class="p-6">
191
+ <h3 class="font-bold text-lg mb-2 group-hover:text-sa-teal transition-colors">Robot Instructions</h3>
192
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Guide a "robot" (classmate) through an obstacle course using precise step-by-step instructions.</p>
193
+ <div class="flex flex-wrap gap-2 mb-4">
194
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Algorithms</span>
195
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Debugging</span>
196
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">30 min</span>
197
+ </div>
198
+ <div class="flex items-center justify-between">
199
+ <div class="flex items-center gap-1">
200
+ <i data-feather="clock" class="w-4 h-4 text-gray-400"></i>
201
+ <span class="text-sm text-gray-500 dark:text-gray-400">30 minutes</span>
202
+ </div>
203
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Details β†’</button>
204
+ </div>
205
+ </div>
206
+ </div>
207
+
208
+ <!-- Activity Card 3 -->
209
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 overflow-hidden group">
210
+ <div class="relative">
211
+ <img src="http://static.photos/education/400x200/47" alt="Activity" class="w-full h-48 object-cover">
212
+ <div class="absolute top-3 left-3 flex gap-2">
213
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
214
+ <span class="bg-sa-yellow/10 text-sa-yellow px-2 py-1 rounded text-xs font-medium">Grade 1</span>
215
+ </div>
216
+ <div class="absolute top-3 right-3">
217
+ <button class="p-2 bg-white/90 dark:bg-gray-800/90 rounded-lg hover:bg-white dark:hover:bg-gray-800 transition-colors">
218
+ <i data-feather="bookmark" class="w-4 h-4"></i>
219
+ </button>
220
+ </div>
221
+ </div>
222
+ <div class="p-6">
223
+ <h3 class="font-bold text-lg mb-2 group-hover:text-sa-teal transition-colors">Bug Detective</h3>
224
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Find and fix mistakes in simple sequences to develop debugging skills and attention to detail.</p>
225
+ <div class="flex flex-wrap gap-2 mb-4">
226
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Debugging</span>
227
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Problem Solving</span>
228
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">40 min</span>
229
+ </div>
230
+ <div class="flex items-center justify-between">
231
+ <div class="flex items-center gap-1">
232
+ <i data-feather="clock" class="w-4 h-4 text-gray-400"></i>
233
+ <span class="text-sm text-gray-500 dark:text-gray-400">40 minutes</span>
234
+ </div>
235
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Details β†’</button>
236
+ </div>
237
+ </div>
238
+ </div>
239
+
240
+ <!-- Activity Card 4 -->
241
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 overflow-hidden group">
242
+ <div class="relative">
243
+ <img src="http://static.photos/education/400x200/48" alt="Activity" class="w-full h-48 object-cover">
244
+ <div class="absolute top-3 left-3 flex gap-2">
245
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
246
+ <span class="bg-sa-blue/10 text-sa-blue px-2 py-1 rounded text-xs font-medium">Grade R</span>
247
+ </div>
248
+ <div class="absolute top-3 right-3">
249
+ <button class="p-2 bg-white/90 dark:bg-gray-800/90 rounded-lg hover:bg-white dark:hover:bg-gray-800 transition-colors">
250
+ <i data-feather="bookmark" class="w-4 h-4"></i>
251
+ </button>
252
+ </div>
253
+ </div>
254
+ <div class="p-6">
255
+ <h3 class="font-bold text-lg mb-2 group-hover:text-sa-teal transition-colors">Story Sequence</h3>
256
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Arrange picture cards to tell a story in the correct order, building sequencing skills.</p>
257
+ <div class="flex flex-wrap gap-2 mb-4">
258
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Sequencing</span>
259
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Storytelling</span>
260
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">25 min</span>
261
+ </div>
262
+ <div class="flex items-center justify-between">
263
+ <div class="flex items-center gap-1">
264
+ <i data-feather="clock" class="w-4 h-4 text-gray-400"></i>
265
+ <span class="text-sm text-gray-500 dark:text-gray-400">25 minutes</span>
266
+ </div>
267
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Details β†’</button>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+ <!-- Activity Card 5 -->
273
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 overflow-hidden group">
274
+ <div class="relative">
275
+ <img src="http://static.photos/education/400x200/49" alt="Activity" class="w-full h-48 object-cover">
276
+ <div class="absolute top-3 left-3 flex gap-2">
277
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
278
+ <span class="bg-sa-red/10 text-sa-red px-2 py-1 rounded text-xs font-medium">Grade 3</span>
279
+ </div>
280
+ <div class="absolute top-3 right-3">
281
+ <button class="p-2 bg-white/90 dark:bg-gray-800/90 rounded-lg hover:bg-white dark:hover:bg-gray-800 transition-colors">
282
+ <i data-feather="bookmark" class="w-4 h-4"></i>
283
+ </button>
284
+ </div>
285
+ </div>
286
+ <div class="p-6">
287
+ <h3 class="font-bold text-lg mb-2 group-hover:text-sa-teal transition-colors">Break It Down</h3>
288
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Practice decomposition by breaking complex tasks into smaller, manageable steps.</p>
289
+ <div class="flex flex-wrap gap-2 mb-4">
290
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Decomposition</span>
291
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Planning</span>
292
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">35 min</span>
293
+ </div>
294
+ <div class="flex items-center justify-between">
295
+ <div class="flex items-center gap-1">
296
+ <i data-feather="clock" class="w-4 h-4 text-gray-400"></i>
297
+ <span class="text-sm text-gray-500 dark:text-gray-400">35 minutes</span>
298
+ </div>
299
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Details β†’</button>
300
+ </div>
301
+ </div>
302
+ </div>
303
+
304
+ <!-- Activity Card 6 -->
305
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 overflow-hidden group">
306
+ <div class="relative">
307
+ <img src="http://static.photos/education/400x200/50" alt="Activity" class="w-full h-48 object-cover">
308
+ <div class="absolute top-3 left-3 flex gap-2">
309
+ <span class="bg-sa-orange/10 text-sa-orange px-2 py-1 rounded text-xs font-medium">New</span>
310
+ <span class="bg-sa-purple/10 text-sa-purple px-2 py-1 rounded text-xs font-medium">Grade 2</span>
311
+ </div>
312
+ <div class="absolute top-3 right-3">
313
+ <button class="p-2 bg-white/90 dark:bg-gray-800/90 rounded-lg hover:bg-white dark:hover:bg-gray-800 transition-colors">
314
+ <i data-feather="bookmark" class="w-4 h-4"></i>
315
+ </button>
316
+ </div>
317
+ </div>
318
+ <div class="p-6">
319
+ <h3 class="font-bold text-lg mb-2 group-hover:text-sa-teal transition-colors">Binary Bracelets</h3>
320
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Create bracelets using beads to represent binary patterns and understand how computers store information.</p>
321
+ <div class="flex flex-wrap gap-2 mb-4">
322
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Binary</span>
323
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">Patterns</span>
324
+ <span class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs">50 min</span>
325
+ </div>
326
+ <div class="flex items-center justify-between">
327
+ <div class="flex items-center gap-1">
328
+ <i data-feather="clock" class="w-4 h-4 text-gray-400"></i>
329
+ <span class="text-sm text-gray-500 dark:text-gray-400">50 minutes</span>
330
+ </div>
331
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Details β†’</button>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ </div>
336
+
337
+ <!-- Pagination -->
338
+ <div class="flex items-center justify-between mt-8">
339
+ <p class="text-sm text-gray-600 dark:text-gray-400">Showing 6 of 24 activities</p>
340
+ <div class="flex gap-2">
341
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
342
+ <i data-feather="chevron-left" class="w-4 h-4"></i>
343
+ </button>
344
+ <button class="px-3 py-1 bg-sa-teal text-white rounded-lg">1</button>
345
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">2</button>
346
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">3</button>
347
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
348
+ <i data-feather="chevron-right" class="w-4 h-4"></i>
349
+ </button>
350
+ </div>
351
+ </div>
352
+ </main>
353
+
354
+ <script>
355
+ feather.replace();
356
+ </script>
357
+ </body>
358
+ </html>
index.html CHANGED
@@ -1,19 +1,490 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SAML LMS - Learning Management System</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdn.tailwindcss.com/3.4.0"></script>
9
+ <script src="https://unpkg.com/feather-icons"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ darkMode: 'class',
14
+ theme: {
15
+ extend: {
16
+ colors: {
17
+ 'sa-orange': '#FF6B35',
18
+ 'sa-teal': '#008080',
19
+ 'sa-yellow': '#FFD23F',
20
+ 'sa-purple': '#6A4C93',
21
+ 'sa-red': '#C1121F',
22
+ 'sa-green': '#007200',
23
+ 'sa-blue': '#003049'
24
+ },
25
+ animation: {
26
+ 'fade-in': 'fadeIn 0.5s ease-in-out',
27
+ 'slide-up': 'slideUp 0.3s ease-out',
28
+ 'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
29
+ }
30
+ }
31
+ }
32
+ }
33
+ </script>
34
+ <style>
35
+ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
36
+ @keyframes slideUp { from { transform: translateY(10px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
37
+ .skeleton { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; }
38
+ @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
39
+ .offline-badge { background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,.1) 10px, rgba(255,255,255,.1) 20px); }
40
+ </style>
41
+ </head>
42
+ <body class="bg-gray-50 dark:bg-gray-900 text-gray-900 dark:text-gray-100 transition-colors duration-200">
43
+ <!-- Navigation -->
44
+ <nav class="bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700 sticky top-0 z-50">
45
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
46
+ <div class="flex justify-between items-center h-16">
47
+ <div class="flex items-center space-x-8">
48
+ <div class="flex items-center space-x-3">
49
+ <div class="w-8 h-8 bg-gradient-to-br from-sa-orange to-sa-purple rounded-lg flex items-center justify-center">
50
+ <i data-feather="cpu" class="w-5 h-5 text-white"></i>
51
+ </div>
52
+ <span class="font-bold text-xl">SAML LMS</span>
53
+ </div>
54
+ <div class="hidden md:flex space-x-6">
55
+ <a href="index.html" class="nav-link text-sa-teal dark:text-sa-teal font-medium flex items-center gap-2">
56
+ <i data-feather="home" class="w-4 h-4"></i> Dashboard
57
+ </a>
58
+ <a href="activities.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
59
+ <i data-feather="grid" class="w-4 h-4"></i> Activities
60
+ </a>
61
+ <a href="tools.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
62
+ <i data-feather="tool" class="w-4 h-4"></i> Tools
63
+ </a>
64
+ <a href="progress.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
65
+ <i data-feather="trending-up" class="w-4 h-4"></i> Progress
66
+ </a>
67
+ <a href="resources.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
68
+ <i data-feather="book-open" class="w-4 h-4"></i> Resources
69
+ </a>
70
+ </div>
71
+ </div>
72
+ <div class="flex items-center space-x-4">
73
+ <div class="relative">
74
+ <span class="absolute -top-1 -right-1 w-3 h-3 bg-green-500 rounded-full animate-pulse-slow"></span>
75
+ <button class="offline-badge bg-sa-green text-white px-3 py-1 rounded-full text-xs font-medium flex items-center gap-2">
76
+ <i data-feather="wifi-off" class="w-3 h-3"></i> Offline
77
+ </button>
78
+ </div>
79
+ <button onclick="toggleTheme()" class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">
80
+ <i data-feather="moon" class="w-5 h-5 hidden dark:block"></i>
81
+ <i data-feather="sun" class="w-5 h-5 block dark:hidden"></i>
82
+ </button>
83
+ <button class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors relative">
84
+ <i data-feather="bell" class="w-5 h-5"></i>
85
+ <span class="absolute top-1 right-1 w-2 h-2 bg-red-500 rounded-full"></span>
86
+ </button>
87
+ <div class="flex items-center space-x-3 pl-4 border-l border-gray-200 dark:border-gray-700">
88
+ <img src="http://static.photos/people/40x40/123" alt="Profile" class="w-10 h-10 rounded-full">
89
+ <div>
90
+ <p class="text-sm font-medium">Ms. Nkosi</p>
91
+ <p class="text-xs text-gray-500 dark:text-gray-400">Grade 2</p>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </nav>
98
+
99
+ <!-- Main Content -->
100
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
101
+ <!-- Welcome Section -->
102
+ <div class="mb-8 animate-fade-in">
103
+ <h1 class="text-3xl font-bold mb-2">Welcome back, Ms. Nkosi! πŸ‘‹</h1>
104
+ <p class="text-gray-600 dark:text-gray-400">Ready to inspire young minds with computational thinking?</p>
105
+ </div>
106
+
107
+ <!-- Quick Actions -->
108
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-8">
109
+ <button onclick="showNewLessonModal()" class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 border border-gray-200 dark:border-gray-700 hover:border-sa-orange dark:hover:border-sa-orange group">
110
+ <div class="flex items-center justify-between mb-3">
111
+ <div class="w-12 h-12 bg-sa-orange/10 dark:bg-sa-orange/20 rounded-lg flex items-center justify-center group-hover:bg-sa-orange/20 dark:group-hover:bg-sa-orange/30 transition-colors">
112
+ <i data-feather="plus-circle" class="w-6 h-6 text-sa-orange"></i>
113
+ </div>
114
+ <i data-feather="arrow-right" class="w-4 h-4 text-gray-400 group-hover:text-sa-orange transition-colors"></i>
115
+ </div>
116
+ <h3 class="font-semibold text-left mb-1">New Lesson</h3>
117
+ <p class="text-sm text-gray-500 dark:text-gray-400 text-left">Create fresh activity plan</p>
118
+ </button>
119
+
120
+ <button onclick="showProgressModal()" class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 border border-gray-200 dark:border-gray-700 hover:border-sa-teal dark:hover:border-sa-teal group">
121
+ <div class="flex items-center justify-between mb-3">
122
+ <div class="w-12 h-12 bg-sa-teal/10 dark:bg-sa-teal/20 rounded-lg flex items-center justify-center group-hover:bg-sa-teal/20 dark:group-hover:bg-sa-teal/30 transition-colors">
123
+ <i data-feather="check-square" class="w-6 h-6 text-sa-teal"></i>
124
+ </div>
125
+ <i data-feather="arrow-right" class="w-4 h-4 text-gray-400 group-hover:text-sa-teal transition-colors"></i>
126
+ </div>
127
+ <h3 class="font-semibold text-left mb-1">Record Progress</h3>
128
+ <p class="text-sm text-gray-500 dark:text-gray-400 text-left">Track student mastery</p>
129
+ </button>
130
+
131
+ <button class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 border border-gray-200 dark:border-gray-700 hover:border-sa-yellow dark:hover:border-sa-yellow group">
132
+ <div class="flex items-center justify-between mb-3">
133
+ <div class="w-12 h-12 bg-sa-yellow/10 dark:bg-sa-yellow/20 rounded-lg flex items-center justify-center group-hover:bg-sa-yellow/20 dark:group-hover:bg-sa-yellow/30 transition-colors">
134
+ <i data-feather="download" class="w-6 h-6 text-sa-yellow"></i>
135
+ </div>
136
+ <i data-feather="arrow-right" class="w-4 h-4 text-gray-400 group-hover:text-sa-yellow transition-colors"></i>
137
+ </div>
138
+ <h3 class="font-semibold text-left mb-1">Materials</h3>
139
+ <p class="text-sm text-gray-500 dark:text-gray-400 text-left">Download activity packs</p>
140
+ </button>
141
+
142
+ <button class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow-sm hover:shadow-md transition-all duration-200 border border-gray-200 dark:border-gray-700 hover:border-sa-purple dark:hover:border-sa-purple group">
143
+ <div class="flex items-center justify-between mb-3">
144
+ <div class="w-12 h-12 bg-sa-purple/10 dark:bg-sa-purple/20 rounded-lg flex items-center justify-center group-hover:bg-sa-purple/20 dark:group-hover:bg-sa-purple/30 transition-colors">
145
+ <i data-feather="refresh-cw" class="w-6 h-6 text-sa-purple"></i>
146
+ </div>
147
+ <i data-feather="arrow-right" class="w-4 h-4 text-gray-400 group-hover:text-sa-purple transition-colors"></i>
148
+ </div>
149
+ <h3 class="font-semibold text-left mb-1">Sync Queue</h3>
150
+ <p class="text-sm text-gray-500 dark:text-gray-400 text-left">3 items pending</p>
151
+ </button>
152
+ </div>
153
+
154
+ <!-- Stats Overview -->
155
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-8">
156
+ <div class="bg-gradient-to-br from-sa-orange to-sa-orange/80 p-6 rounded-xl text-white">
157
+ <div class="flex items-center justify-between mb-2">
158
+ <i data-feather="users" class="w-8 h-8 opacity-80"></i>
159
+ <span class="text-2xl font-bold">28</span>
160
+ </div>
161
+ <p class="text-sm opacity-90">Active Students</p>
162
+ </div>
163
+ <div class="bg-gradient-to-br from-sa-teal to-sa-teal/80 p-6 rounded-xl text-white">
164
+ <div class="flex items-center justify-between mb-2">
165
+ <i data-feather="activity" class="w-8 h-8 opacity-80"></i>
166
+ <span class="text-2xl font-bold">15</span>
167
+ </div>
168
+ <p class="text-sm opacity-90">Activities This Week</p>
169
+ </div>
170
+ <div class="bg-gradient-to-br from-sa-purple to-sa-purple/80 p-6 rounded-xl text-white">
171
+ <div class="flex items-center justify-between mb-2">
172
+ <i data-feather="award" class="w-8 h-8 opacity-80"></i>
173
+ <span class="text-2xl font-bold">92%</span>
174
+ </div>
175
+ <p class="text-sm opacity-90">Completion Rate</p>
176
+ </div>
177
+ <div class="bg-gradient-to-br from-sa-yellow to-sa-yellow/80 p-6 rounded-xl text-white">
178
+ <div class="flex items-center justify-between mb-2">
179
+ <i data-feather="clock" class="w-8 h-8 opacity-80"></i>
180
+ <span class="text-2xl font-bold">4.5h</span>
181
+ </div>
182
+ <p class="text-sm opacity-90">Learning Time</p>
183
+ </div>
184
+ </div>
185
+
186
+ <!-- Recent Activities -->
187
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 mb-8">
188
+ <div class="flex items-center justify-between mb-6">
189
+ <h2 class="text-xl font-bold">Recent Activities</h2>
190
+ <a href="#" class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm flex items-center gap-1">
191
+ View All <i data-feather="chevron-right" class="w-4 h-4"></i>
192
+ </a>
193
+ </div>
194
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
195
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200 cursor-pointer group">
196
+ <div class="flex items-start justify-between mb-3">
197
+ <img src="http://static.photos/education/80x80/42" alt="Activity" class="w-16 h-16 rounded-lg object-cover">
198
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
199
+ </div>
200
+ <h3 class="font-semibold mb-1 group-hover:text-sa-teal transition-colors">Pattern Dance Party</h3>
201
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-3">Grade 2 β€’ 45 min β€’ Patterns</p>
202
+ <div class="flex items-center justify-between">
203
+ <div class="flex -space-x-2">
204
+ <img src="http://static.photos/people/32x32/101" class="w-8 h-8 rounded-full border-2 border-white dark:border-gray-800">
205
+ <img src="http://static.photos/people/32x32/102" class="w-8 h-8 rounded-full border-2 border-white dark:border-gray-800">
206
+ <img src="http://static.photos/people/32x32/103" class="w-8 h-8 rounded-full border-2 border-white dark:border-gray-800">
207
+ <div class="w-8 h-8 rounded-full bg-gray-200 dark:bg-gray-700 border-2 border-white dark:border-gray-800 flex items-center justify-center text-xs font-medium">+5</div>
208
+ </div>
209
+ <div class="flex items-center gap-1">
210
+ <i data-feather="star" class="w-4 h-4 text-yellow-500 fill-current"></i>
211
+ <span class="text-sm font-medium">4.8</span>
212
+ </div>
213
+ </div>
214
+ </div>
215
+
216
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200 cursor-pointer group">
217
+ <div class="flex items-start justify-between mb-3">
218
+ <img src="http://static.photos/education/80x80/43" alt="Activity" class="w-16 h-16 rounded-lg object-cover">
219
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs font-medium">Offline</span>
220
+ </div>
221
+ <h3 class="font-semibold mb-1 group-hover:text-sa-teal transition-colors">Robot Instructions</h3>
222
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-3">Grade 2 β€’ 30 min β€’ Algorithms</p>
223
+ <div class="flex items-center justify-between">
224
+ <div class="flex -space-x-2">
225
+ <img src="http://static.photos/people/32x32/104" class="w-8 h-8 rounded-full border-2 border-white dark:border-gray-800">
226
+ <img src="http://static.photos/people/32x32/105" class="w-8 h-8 rounded-full border-2 border-white dark:border-gray-800">
227
+ <div class="w-8 h-8 rounded-full bg-gray-200 dark:bg-gray-700 border-2 border-white dark:border-gray-800 flex items-center justify-center text-xs font-medium">+3</div>
228
+ </div>
229
+ <div class="flex items-center gap-1">
230
+ <i data-feather="star" class="w-4 h-4 text-yellow-500 fill-current"></i>
231
+ <span class="text-sm font-medium">4.6</span>
232
+ </div>
233
+ </div>
234
+ </div>
235
+
236
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200 cursor-pointer group">
237
+ <div class="flex items-start justify-between mb-3">
238
+ <img src="http://static.photos/education/80x80/44" alt="Activity" class="w-16 h-16 rounded-lg object-cover">
239
+ <span class="bg-sa-orange/10 text-sa-orange px-2 py-1 rounded text-xs font-medium">New</span>
240
+ </div>
241
+ <h3 class="font-semibold mb-1 group-hover:text-sa-teal transition-colors">Bug Detective</h3>
242
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-3">Grade 2 β€’ 40 min β€’ Debugging</p>
243
+ <div class="flex items-center justify-between">
244
+ <span class="text-sm text-gray-500 dark:text-gray-400">Not started</span>
245
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Start β†’</button>
246
+ </div>
247
+ </div>
248
+ </div>
249
+ </div>
250
+
251
+ <!-- Progress Charts -->
252
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
253
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
254
+ <h3 class="font-bold text-lg mb-4">Concept Mastery</h3>
255
+ <canvas id="masteryChart"></canvas>
256
+ </div>
257
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
258
+ <h3 class="font-bold text-lg mb-4">Weekly Progress</h3>
259
+ <canvas id="progressChart"></canvas>
260
+ </div>
261
+ </div>
262
+ </main>
263
+
264
+ <!-- Modals -->
265
+ <div id="modalOverlay" class="fixed inset-0 bg-black/50 hidden z-50 flex items-center justify-center p-4">
266
+ <div id="modalContent" class="bg-white dark:bg-gray-800 rounded-xl max-w-md w-full p-6 animate-slide-up">
267
+ <!-- Dynamic content -->
268
+ </div>
269
+ </div>
270
+
271
+ <script>
272
+ // Initialize Feather Icons
273
+ feather.replace();
274
+
275
+ // Theme Toggle
276
+ function toggleTheme() {
277
+ document.documentElement.classList.toggle('dark');
278
+ localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
279
+ }
280
+
281
+ // Load saved theme
282
+ if (localStorage.getItem('theme') === 'dark' || (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
283
+ document.documentElement.classList.add('dark');
284
+ }
285
+
286
+ // Modal Functions
287
+ function showModal(content) {
288
+ document.getElementById('modalContent').innerHTML = content;
289
+ document.getElementById('modalOverlay').classList.remove('hidden');
290
+ feather.replace();
291
+ }
292
+
293
+ function closeModal() {
294
+ document.getElementById('modalOverlay').classList.add('hidden');
295
+ }
296
+
297
+ function showNewLessonModal() {
298
+ const content = `
299
+ <div class="flex items-center justify-between mb-4">
300
+ <h2 class="text-xl font-bold">Create New Lesson</h2>
301
+ <button onclick="closeModal()" class="p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg">
302
+ <i data-feather="x" class="w-5 h-5"></i>
303
+ </button>
304
+ </div>
305
+ <div class="space-y-4">
306
+ <div>
307
+ <label class="block text-sm font-medium mb-2">Lesson Title</label>
308
+ <input type="text" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-sa-teal" placeholder="e.g., Introduction to Patterns">
309
+ </div>
310
+ <div>
311
+ <label class="block text-sm font-medium mb-2">Grade Level</label>
312
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-sa-teal">
313
+ <option>Grade R</option>
314
+ <option selected>Grade 1</option>
315
+ <option>Grade 2</option>
316
+ <option>Grade 3</option>
317
+ </select>
318
+ </div>
319
+ <div>
320
+ <label class="block text-sm font-medium mb-2">Duration (minutes)</label>
321
+ <input type="number" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-sa-teal" placeholder="30">
322
+ </div>
323
+ <div>
324
+ <label class="block text-sm font-medium mb-2">Concept Focus</label>
325
+ <div class="grid grid-cols-2 gap-2">
326
+ <label class="flex items-center space-x-2 cursor-pointer">
327
+ <input type="checkbox" class="rounded text-sa-teal focus:ring-sa-teal">
328
+ <span class="text-sm">Sequencing</span>
329
+ </label>
330
+ <label class="flex items-center space-x-2 cursor-pointer">
331
+ <input type="checkbox" class="rounded text-sa-teal focus:ring-sa-teal">
332
+ <span class="text-sm">Patterns</span>
333
+ </label>
334
+ <label class="flex items-center space-x-2 cursor-pointer">
335
+ <input type="checkbox" class="rounded text-sa-teal focus:ring-sa-teal">
336
+ <span class="text-sm">Algorithms</span>
337
+ </label>
338
+ <label class="flex items-center space-x-2 cursor-pointer">
339
+ <input type="checkbox" class="rounded text-sa-teal focus:ring-sa-teal">
340
+ <span class="text-sm">Debugging</span>
341
+ </label>
342
+ </div>
343
+ </div>
344
+ <div class="flex gap-3 pt-4">
345
+ <button onclick="closeModal()" class="flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">Cancel</button>
346
+ <button onclick="createLesson()" class="flex-1 px-4 py-2 bg-sa-teal text-white rounded-lg hover:bg-sa-teal/90 transition-colors">Create Lesson</button>
347
+ </div>
348
+ </div>
349
+ `;
350
+ showModal(content);
351
+ }
352
+
353
+ function showProgressModal() {
354
+ const content = `
355
+ <div class="flex items-center justify-between mb-4">
356
+ <h2 class="text-xl font-bold">Record Progress</h2>
357
+ <button onclick="closeModal()" class="p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg">
358
+ <i data-feather="x" class="w-5 h-5"></i>
359
+ </button>
360
+ </div>
361
+ <div class="space-y-4">
362
+ <div>
363
+ <label class="block text-sm font-medium mb-2">Select Activity</label>
364
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-sa-teal">
365
+ <option>Pattern Dance Party</option>
366
+ <option>Robot Instructions</option>
367
+ <option>Bug Detective</option>
368
+ </select>
369
+ </div>
370
+ <div>
371
+ <label class="block text-sm font-medium mb-2">Students</label>
372
+ <div class="max-h-48 overflow-y-auto space-y-2 border border-gray-300 dark:border-gray-600 rounded-lg p-3">
373
+ ${Array.from({length: 5}, (_, i) => `
374
+ <label class="flex items-center space-x-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 p-2 rounded">
375
+ <input type="checkbox" class="rounded text-sa-teal focus:ring-sa-teal">
376
+ <img src="http://static.photos/people/32x32/${100 + i}" class="w-8 h-8 rounded-full">
377
+ <div class="flex-1">
378
+ <p class="text-sm font-medium">Student ${i + 1}</p>
379
+ <p class="text-xs text-gray-500 dark:text-gray-400">Grade 2</p>
380
+ </div>
381
+ <select class="px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-700">
382
+ <option>Emerging</option>
383
+ <option>Developing</option>
384
+ <option>Proficient</option>
385
+ <option>Advanced</option>
386
+ </select>
387
+ </label>
388
+ `).join('')}
389
+ </div>
390
+ </div>
391
+ <div>
392
+ <label class="block text-sm font-medium mb-2">Notes (Optional)</label>
393
+ <textarea class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-sa-teal" rows="3" placeholder="Add observations..."></textarea>
394
+ </div>
395
+ <div class="flex gap-3 pt-4">
396
+ <button onclick="closeModal()" class="flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">Cancel</button>
397
+ <button onclick="saveProgress()" class="flex-1 px-4 py-2 bg-sa-teal text-white rounded-lg hover:bg-sa-teal/90 transition-colors">Save Progress</button>
398
+ </div>
399
+ </div>
400
+ `;
401
+ showModal(content);
402
+ }
403
+
404
+ function createLesson() {
405
+ closeModal();
406
+ showNotification('Lesson created successfully!', 'success');
407
+ }
408
+
409
+ function saveProgress() {
410
+ closeModal();
411
+ showNotification('Progress saved and queued for sync', 'success');
412
+ }
413
+
414
+ function showNotification(message, type = 'info') {
415
+ const notification = document.createElement('div');
416
+ notification.className = `fixed top-20 right-4 px-6 py-3 rounded-lg shadow-lg z-50 animate-slide-up ${
417
+ type === 'success' ? 'bg-green-500 text-white' :
418
+ type === 'error' ? 'bg-red-500 text-white' :
419
+ 'bg-sa-teal text-white'
420
+ }`;
421
+ notification.innerHTML = `
422
+ <div class="flex items-center gap-3">
423
+ <i data-feather="${type === 'success' ? 'check-circle' : 'info'}" class="w-5 h-5"></i>
424
+ <span>${message}</span>
425
+ </div>
426
+ `;
427
+ document.body.appendChild(notification);
428
+ feather.replace();
429
+ setTimeout(() => notification.remove(), 3000);
430
+ }
431
+
432
+ // Initialize Charts
433
+ const masteryCtx = document.getElementById('masteryChart').getContext('2d');
434
+ new Chart(masteryCtx, {
435
+ type: 'bar',
436
+ data: {
437
+ labels: ['Sequencing', 'Patterns', 'Algorithms', 'Debugging', 'Decomposition'],
438
+ datasets: [{
439
+ label: 'Class Average',
440
+ data: [85, 92, 78, 70, 88],
441
+ backgroundColor: 'rgba(0, 128, 128, 0.2)',
442
+ borderColor: 'rgba(0, 128, 128, 1)',
443
+ borderWidth: 2
444
+ }]
445
+ },
446
+ options: {
447
+ responsive: true,
448
+ maintainAspectRatio: false,
449
+ scales: {
450
+ y: {
451
+ beginAtZero: true,
452
+ max: 100
453
+ }
454
+ }
455
+ }
456
+ });
457
+
458
+ const progressCtx = document.getElementById('progressChart').getContext('2d');
459
+ new Chart(progressCtx, {
460
+ type: 'line',
461
+ data: {
462
+ labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
463
+ datasets: [{
464
+ label: 'Activities Completed',
465
+ data: [2, 3, 1, 4, 3],
466
+ borderColor: 'rgba(255, 107, 53, 1)',
467
+ backgroundColor: 'rgba(255, 107, 53, 0.1)',
468
+ tension: 0.4
469
+ }]
470
+ },
471
+ options: {
472
+ responsive: true,
473
+ maintainAspectRatio: false,
474
+ scales: {
475
+ y: {
476
+ beginAtZero: true
477
+ }
478
+ }
479
+ }
480
+ });
481
+
482
+ // Close modal on overlay click
483
+ document.getElementById('modalOverlay').addEventListener('click', function(e) {
484
+ if (e.target === this) {
485
+ closeModal();
486
+ }
487
+ });
488
+ </script>
489
+ </body>
490
  </html>
progress.html ADDED
@@ -0,0 +1,479 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Progress - SAML LMS</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
10
+ <script>
11
+ tailwind.config = {
12
+ darkMode: 'class',
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ 'sa-orange': '#FF6B35',
17
+ 'sa-teal': '#008080',
18
+ 'sa-yellow': '#FFD23F',
19
+ 'sa-purple': '#6A4C93',
20
+ 'sa-red': '#C1121F',
21
+ 'sa-green': '#007200',
22
+ 'sa-blue': '#003049'
23
+ }
24
+ }
25
+ }
26
+ }
27
+ </script>
28
+ </head>
29
+ <body class="bg-gray-50 dark:bg-gray-900 text-gray-900 dark:text-gray-100">
30
+ <!-- Navigation -->
31
+ <nav class="bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700 sticky top-0 z-50">
32
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
33
+ <div class="flex justify-between items-center h-16">
34
+ <div class="flex items-center space-x-8">
35
+ <div class="flex items-center space-x-3">
36
+ <div class="w-8 h-8 bg-gradient-to-br from-sa-orange to-sa-purple rounded-lg flex items-center justify-center">
37
+ <i data-feather="cpu" class="w-5 h-5 text-white"></i>
38
+ </div>
39
+ <span class="font-bold text-xl">SAML LMS</span>
40
+ </div>
41
+ <div class="hidden md:flex space-x-6">
42
+ <a href="index.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
43
+ <i data-feather="home" class="w-4 h-4"></i> Dashboard
44
+ </a>
45
+ <a href="activities.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
46
+ <i data-feather="grid" class="w-4 h-4"></i> Activities
47
+ </a>
48
+ <a href="tools.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
49
+ <i data-feather="tool" class="w-4 h-4"></i> Tools
50
+ </a>
51
+ <a href="progress.html" class="nav-link text-sa-teal dark:text-sa-teal font-medium flex items-center gap-2">
52
+ <i data-feather="trending-up" class="w-4 h-4"></i> Progress
53
+ </a>
54
+ <a href="resources.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
55
+ <i data-feather="book-open" class="w-4 h-4"></i> Resources
56
+ </a>
57
+ </div>
58
+ </div>
59
+ <div class="flex items-center space-x-4">
60
+ <button class="bg-sa-green text-white px-3 py-1 rounded-full text-xs font-medium flex items-center gap-2">
61
+ <i data-feather="wifi-off" class="w-3 h-3"></i> Offline
62
+ </button>
63
+ <button onclick="toggleTheme()" class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">
64
+ <i data-feather="moon" class="w-5 h-5 hidden dark:block"></i>
65
+ <i data-feather="sun" class="w-5 h-5 block dark:hidden"></i>
66
+ </button>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ </nav>
71
+
72
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
73
+ <!-- Header -->
74
+ <div class="mb-8">
75
+ <h1 class="text-3xl font-bold mb-2">Progress Tracking</h1>
76
+ <p class="text-gray-600 dark:text-gray-400">Monitor student progress and learning outcomes</p>
77
+ </div>
78
+
79
+ <!-- Filters -->
80
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 mb-6">
81
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-4">
82
+ <div>
83
+ <label class="block text-sm font-medium mb-2">Class/Grade</label>
84
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
85
+ <option>Grade 2 - Class A</option>
86
+ <option>Grade 2 - Class B</option>
87
+ <option>Grade 1 - Class A</option>
88
+ <option>Grade 3 - Class A</option>
89
+ </select>
90
+ </div>
91
+ <div>
92
+ <label class="block text-sm font-medium mb-2">Time Period</label>
93
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
94
+ <option>This Week</option>
95
+ <option>This Month</option>
96
+ <option>This Term</option>
97
+ <option>This Year</option>
98
+ </select>
99
+ </div>
100
+ <div>
101
+ <label class="block text-sm font-medium mb-2">Concept Focus</label>
102
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
103
+ <option>All Concepts</option>
104
+ <option>Sequencing</option>
105
+ <option>Patterns</option>
106
+ <option>Algorithms</option>
107
+ <option>Debugging</option>
108
+ </select>
109
+ </div>
110
+ <div>
111
+ <label class="block text-sm font-medium mb-2">Student</label>
112
+ <select class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700">
113
+ <option>All Students</option>
114
+ <option>Amina Patel</option>
115
+ <option>Bongani Ndlovu</option>
116
+ <option>Catherine Smith</option>
117
+ <option>David Chen</option>
118
+ </select>
119
+ </div>
120
+ </div>
121
+ </div>
122
+
123
+ <!-- Overview Stats -->
124
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-8">
125
+ <div class="bg-gradient-to-br from-sa-green to-sa-green/80 p-6 rounded-xl text-white">
126
+ <div class="flex items-center justify-between mb-2">
127
+ <i data-feather="users" class="w-8 h-8 opacity-80"></i>
128
+ <span class="text-2xl font-bold">28</span>
129
+ </div>
130
+ <p class="text-sm opacity-90">Active Students</p>
131
+ <p class="text-xs opacity-75 mt-1">+3 from last week</p>
132
+ </div>
133
+ <div class="bg-gradient-to-br from-sa-teal to-sa-teal/80 p-6 rounded-xl text-white">
134
+ <div class="flex items-center justify-between mb-2">
135
+ <i data-feather="activity" class="w-8 h-8 opacity-80"></i>
136
+ <span class="text-2xl font-bold">87%</span>
137
+ </div>
138
+ <p class="text-sm opacity-90">Average Progress</p>
139
+ <p class="text-xs opacity-75 mt-1">+5% improvement</p>
140
+ </div>
141
+ <div class="bg-gradient-to-br from-sa-purple to-sa-purple/80 p-6 rounded-xl text-white">
142
+ <div class="flex items-center justify-between mb-2">
143
+ <i data-feather="award" class="w-8 h-8 opacity-80"></i>
144
+ <span class="text-2xl font-bold">156</span>
145
+ </div>
146
+ <p class="text-sm opacity-90">Activities Completed</p>
147
+ <p class="text-xs opacity-75 mt-1">This month</p>
148
+ </div>
149
+ <div class="bg-gradient-to-br from-sa-orange to-sa-orange/80 p-6 rounded-xl text-white">
150
+ <div class="flex items-center justify-between mb-2">
151
+ <i data-feather="clock" class="w-8 h-8 opacity-80"></i>
152
+ <span class="text-2xl font-bold">42h</span>
153
+ </div>
154
+ <p class="text-sm opacity-90">Total Learning Time</p>
155
+ <p class="text-xs opacity-75 mt-1">This term</p>
156
+ </div>
157
+ </div>
158
+
159
+ <!-- Progress Charts -->
160
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8">
161
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
162
+ <h3 class="font-bold text-lg mb-4">Concept Mastery Overview</h3>
163
+ <canvas id="masteryChart" height="200"></canvas>
164
+ </div>
165
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
166
+ <h3 class="font-bold text-lg mb-4">Weekly Activity Completion</h3>
167
+ <canvas id="weeklyChart" height="200"></canvas>
168
+ </div>
169
+ </div>
170
+
171
+ <!-- Student Progress Table -->
172
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 mb-8">
173
+ <div class="flex items-center justify-between mb-6">
174
+ <h3 class="font-bold text-lg">Individual Student Progress</h3>
175
+ <button class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm flex items-center gap-1">
176
+ Export Report <i data-feather="download" class="w-4 h-4"></i>
177
+ </button>
178
+ </div>
179
+ <div class="overflow-x-auto">
180
+ <table class="w-full">
181
+ <thead>
182
+ <tr class="border-b border-gray-200 dark:border-gray-700">
183
+ <th class="text-left py-3 px-4 font-medium text-sm">Student</th>
184
+ <th class="text-left py-3 px-4 font-medium text-sm">Grade</th>
185
+ <th class="text-left py-3 px-4 font-medium text-sm">Activities</th>
186
+ <th class="text-left py-3 px-4 font-medium text-sm">Avg Score</th>
187
+ <th class="text-left py-3 px-4 font-medium text-sm">Progress</th>
188
+ <th class="text-left py-3 px-4 font-medium text-sm">Status</th>
189
+ </tr>
190
+ </thead>
191
+ <tbody>
192
+ <tr class="border-b border-gray-100 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50">
193
+ <td class="py-3 px-4">
194
+ <div class="flex items-center gap-3">
195
+ <img src="http://static.photos/people/40x40/101" class="w-10 h-10 rounded-full">
196
+ <div>
197
+ <p class="font-medium">Amina Patel</p>
198
+ <p class="text-xs text-gray-500 dark:text-gray-400">ID: STU001</p>
199
+ </div>
200
+ </div>
201
+ </td>
202
+ <td class="py-3 px-4">Grade 2</td>
203
+ <td class="py-3 px-4">24</td>
204
+ <td class="py-3 px-4">
205
+ <div class="flex items-center gap-1">
206
+ <span class="font-medium">92%</span>
207
+ <i data-feather="trending-up" class="w-4 h-4 text-green-500"></i>
208
+ </div>
209
+ </td>
210
+ <td class="py-3 px-4">
211
+ <div class="w-24 bg-gray-200 dark:bg-gray-700 rounded-full h-2">
212
+ <div class="bg-sa-green h-2 rounded-full" style="width: 92%"></div>
213
+ </div>
214
+ </td>
215
+ <td class="py-3 px-4">
216
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Advanced</span>
217
+ </td>
218
+ </tr>
219
+ <tr class="border-b border-gray-100 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50">
220
+ <td class="py-3 px-4">
221
+ <div class="flex items-center gap-3">
222
+ <img src="http://static.photos/people/40x40/102" class="w-10 h-10 rounded-full">
223
+ <div>
224
+ <p class="font-medium">Bongani Ndlovu</p>
225
+ <p class="text-xs text-gray-500 dark:text-gray-400">ID: STU002</p>
226
+ </div>
227
+ </div>
228
+ </td>
229
+ <td class="py-3 px-4">Grade 2</td>
230
+ <td class="py-3 px-4">22</td>
231
+ <td class="py-3 px-4">
232
+ <div class="flex items-center gap-1">
233
+ <span class="font-medium">85%</span>
234
+ <i data-feather="trending-up" class="w-4 h-4 text-green-500"></i>
235
+ </div>
236
+ </td>
237
+ <td class="py-3 px-4">
238
+ <div class="w-24 bg-gray-200 dark:bg-gray-700 rounded-full h-2">
239
+ <div class="bg-sa-teal h-2 rounded-full" style="width: 85%"></div>
240
+ </div>
241
+ </td>
242
+ <td class="py-3 px-4">
243
+ <span class="bg-sa-teal/10 text-sa-teal px-2 py-1 rounded text-xs font-medium">Proficient</span>
244
+ </td>
245
+ </tr>
246
+ <tr class="border-b border-gray-100 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50">
247
+ <td class="py-3 px-4">
248
+ <div class="flex items-center gap-3">
249
+ <img src="http://static.photos/people/40x40/103" class="w-10 h-10 rounded-full">
250
+ <div>
251
+ <p class="font-medium">Catherine Smith</p>
252
+ <p class="text-xs text-gray-500 dark:text-gray-400">ID: STU003</p>
253
+ </div>
254
+ </div>
255
+ </td>
256
+ <td class="py-3 px-4">Grade 2</td>
257
+ <td class="py-3 px-4">20</td>
258
+ <td class="py-3 px-4">
259
+ <div class="flex items-center gap-1">
260
+ <span class="font-medium">78%</span>
261
+ <i data-feather="trending-up" class="w-4 h-4 text-green-500"></i>
262
+ </div>
263
+ </td>
264
+ <td class="py-3 px-4">
265
+ <div class="w-24 bg-gray-200 dark:bg-gray-700 rounded-full h-2">
266
+ <div class="bg-sa-yellow h-2 rounded-full" style="width: 78%"></div>
267
+ </div>
268
+ </td>
269
+ <td class="py-3 px-4">
270
+ <span class="bg-sa-yellow/10 text-sa-yellow px-2 py-1 rounded text-xs font-medium">Developing</span>
271
+ </td>
272
+ </tr>
273
+ <tr class="border-b border-gray-100 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50">
274
+ <td class="py-3 px-4">
275
+ <div class="flex items-center gap-3">
276
+ <img src="http://static.photos/people/40x40/104" class="w-10 h-10 rounded-full">
277
+ <div>
278
+ <p class="font-medium">David Chen</p>
279
+ <p class="text-xs text-gray-500 dark:text-gray-400">ID: STU004</p>
280
+ </div>
281
+ </div>
282
+ </td>
283
+ <td class="py-3 px-4">Grade 2</td>
284
+ <td class="py-3 px-4">18</td>
285
+ <td class="py-3 px-4">
286
+ <div class="flex items-center gap-1">
287
+ <span class="font-medium">65%</span>
288
+ <i data-feather="trending-up" class="w-4 h-4 text-green-500"></i>
289
+ </div>
290
+ </td>
291
+ <td class="py-3 px-4">
292
+ <div class="w-24 bg-gray-200 dark:bg-gray-700 rounded-full h-2">
293
+ <div class="bg-sa-orange h-2 rounded-full" style="width: 65%"></div>
294
+ </div>
295
+ </td>
296
+ <td class="py-3 px-4">
297
+ <span class="bg-sa-orange/10 text-sa-orange px-2 py-1 rounded text-xs font-medium">Emerging</span>
298
+ </td>
299
+ </tr>
300
+ </tbody>
301
+ </table>
302
+ </div>
303
+ </div>
304
+
305
+ <!-- Learning Analytics -->
306
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
307
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
308
+ <h3 class="font-bold text-lg mb-4">Top Performing Concepts</h3>
309
+ <div class="space-y-3">
310
+ <div class="flex items-center justify-between">
311
+ <div class="flex items-center gap-2">
312
+ <div class="w-8 h-8 bg-sa-green/10 rounded-lg flex items-center justify-center">
313
+ <i data-feather="check" class="w-4 h-4 text-sa-green"></i>
314
+ </div>
315
+ <span class="text-sm font-medium">Sequencing</span>
316
+ </div>
317
+ <span class="text-sm font-bold text-sa-green">94%</span>
318
+ </div>
319
+ <div class="flex items-center justify-between">
320
+ <div class="flex items-center gap-2">
321
+ <div class="w-8 h-8 bg-sa-teal/10 rounded-lg flex items-center justify-center">
322
+ <i data-feather="check" class="w-4 h-4 text-sa-teal"></i>
323
+ </div>
324
+ <span class="text-sm font-medium">Patterns</span>
325
+ </div>
326
+ <span class="text-sm font-bold text-sa-teal">89%</span>
327
+ </div>
328
+ <div class="flex items-center justify-between">
329
+ <div class="flex items-center gap-2">
330
+ <div class="w-8 h-8 bg-sa-yellow/10 rounded-lg flex items-center justify-center">
331
+ <i data-feather="check" class="w-4 h-4 text-sa-yellow"></i>
332
+ </div>
333
+ <span class="text-sm font-medium">Algorithms</span>
334
+ </div>
335
+ <span class="text-sm font-bold text-sa-yellow">82%</span>
336
+ </div>
337
+ </div>
338
+ </div>
339
+
340
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
341
+ <h3 class="font-bold text-lg mb-4">Areas Needing Support</h3>
342
+ <div class="space-y-3">
343
+ <div class="flex items-center justify-between">
344
+ <div class="flex items-center gap-2">
345
+ <div class="w-8 h-8 bg-sa-orange/10 rounded-lg flex items-center justify-center">
346
+ <i data-feather="alert-triangle" class="w-4 h-4 text-sa-orange"></i>
347
+ </div>
348
+ <span class="text-sm font-medium">Debugging</span>
349
+ </div>
350
+ <span class="text-sm font-bold text-sa-orange">68%</span>
351
+ </div>
352
+ <div class="flex items-center justify-between">
353
+ <div class="flex items-center gap-2">
354
+ <div class="w-8 h-8 bg-sa-purple/10 rounded-lg flex items-center justify-center">
355
+ <i data-feather="alert-triangle" class="w-4 h-4 text-sa-purple"></i>
356
+ </div>
357
+ <span class="text-sm font-medium">Decomposition</span>
358
+ </div>
359
+ <span class="text-sm font-bold text-sa-purple">72%</span>
360
+ </div>
361
+ <div class="flex items-center justify-between">
362
+ <div class="flex items-center gap-2">
363
+ <div class="w-8 h-8 bg-sa-red/10 rounded-lg flex items-center justify-center">
364
+ <i data-feather="alert-triangle" class="w-4 h-4 text-sa-red"></i>
365
+ </div>
366
+ <span class="text-sm font-medium">Abstraction</span>
367
+ </div>
368
+ <span class="text-sm font-bold text-sa-red">65%</span>
369
+ </div>
370
+ </div>
371
+ </div>
372
+
373
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
374
+ <h3 class="font-bold text-lg mb-4">Recent Achievements</h3>
375
+ <div class="space-y-3">
376
+ <div class="flex items-start gap-3">
377
+ <div class="w-8 h-8 bg-yellow-100 rounded-lg flex items-center justify-center flex-shrink-0">
378
+ <i data-feather="award" class="w-4 h-4 text-yellow-600"></i>
379
+ </div>
380
+ <div>
381
+ <p class="text-sm font-medium">Pattern Master</p>
382
+ <p class="text-xs text-gray-500 dark:text-gray-400">5 students earned</p>
383
+ </div>
384
+ </div>
385
+ <div class="flex items-start gap-3">
386
+ <div class="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center flex-shrink-0">
387
+ <i data-feather="zap" class="w-4 h-4 text-blue-600"></i>
388
+ </div>
389
+ <div>
390
+ <p class="text-sm font-medium">Speed Solver</p>
391
+ <p class="text-xs text-gray-500 dark:text-gray-400">3 students earned</p>
392
+ </div>
393
+ </div>
394
+ <div class="flex items-start gap-3">
395
+ <div class="w-8 h-8 bg-green-100 rounded-lg flex items-center justify-center flex-shrink-0">
396
+ <i data-feather="star" class="w-4 h-4 text-green-600"></i>
397
+ </div>
398
+ <div>
399
+ <p class="text-sm font-medium">Perfect Week</p>
400
+ <p class="text-xs text-gray-500 dark:text-gray-400">8 students earned</p>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ </div>
405
+ </div>
406
+ </main>
407
+
408
+ <script>
409
+ feather.replace();
410
+
411
+ // Theme Toggle
412
+ function toggleTheme() {
413
+ document.documentElement.classList.toggle('dark');
414
+ localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
415
+ }
416
+
417
+ // Load saved theme
418
+ if (localStorage.getItem('theme') === 'dark' || (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
419
+ document.documentElement.classList.add('dark');
420
+ }
421
+
422
+ // Initialize Charts
423
+ const masteryCtx = document.getElementById('masteryChart').getContext('2d');
424
+ new Chart(masteryCtx, {
425
+ type: 'radar',
426
+ data: {
427
+ labels: ['Sequencing', 'Patterns', 'Algorithms', 'Debugging', 'Decomposition', 'Abstraction'],
428
+ datasets: [{
429
+ label: 'Class Average',
430
+ data: [94, 89, 82, 68, 72, 65],
431
+ backgroundColor: 'rgba(0, 128, 128, 0.2)',
432
+ borderColor: 'rgba(0, 128, 128, 1)',
433
+ borderWidth: 2
434
+ }, {
435
+ label: 'Target',
436
+ data: [85, 85, 85, 85, 85, 85],
437
+ backgroundColor: 'rgba(255, 107, 53, 0.1)',
438
+ borderColor: 'rgba(255, 107, 53, 1)',
439
+ borderWidth: 2,
440
+ borderDash: [5, 5]
441
+ }]
442
+ },
443
+ options: {
444
+ responsive: true,
445
+ maintainAspectRatio: false,
446
+ scales: {
447
+ r: {
448
+ beginAtZero: true,
449
+ max: 100
450
+ }
451
+ }
452
+ }
453
+ });
454
+
455
+ const weeklyCtx = document.getElementById('weeklyChart').getContext('2d');
456
+ new Chart(weeklyCtx, {
457
+ type: 'bar',
458
+ data: {
459
+ labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
460
+ datasets: [{
461
+ label: 'Activities Completed',
462
+ data: [12, 19, 15, 25, 22],
463
+ backgroundColor: 'rgba(106, 76, 147, 0.8)',
464
+ borderRadius: 6
465
+ }]
466
+ },
467
+ options: {
468
+ responsive: true,
469
+ maintainAspectRatio: false,
470
+ scales: {
471
+ y: {
472
+ beginAtZero: true
473
+ }
474
+ }
475
+ }
476
+ });
477
+ </script>
478
+ </body>
479
+ </html>
resources.html ADDED
@@ -0,0 +1,344 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Resources - SAML LMS</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script>
10
+ tailwind.config = {
11
+ darkMode: 'class',
12
+ theme: {
13
+ extend: {
14
+ colors: {
15
+ 'sa-orange': '#FF6B35',
16
+ 'sa-teal': '#008080',
17
+ 'sa-yellow': '#FFD23F',
18
+ 'sa-purple': '#6A4C93',
19
+ 'sa-red': '#C1121F',
20
+ 'sa-green': '#007200',
21
+ 'sa-blue': '#003049'
22
+ }
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+ </head>
28
+ <body class="bg-gray-50 dark:bg-gray-900 text-gray-900 dark:text-gray-100">
29
+ <!-- Navigation -->
30
+ <nav class="bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700 sticky top-0 z-50">
31
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
32
+ <div class="flex justify-between items-center h-16">
33
+ <div class="flex items-center space-x-8">
34
+ <div class="flex items-center space-x-3">
35
+ <div class="w-8 h-8 bg-gradient-to-br from-sa-orange to-sa-purple rounded-lg flex items-center justify-center">
36
+ <i data-feather="cpu" class="w-5 h-5 text-white"></i>
37
+ </div>
38
+ <span class="font-bold text-xl">SAML LMS</span>
39
+ </div>
40
+ <div class="hidden md:flex space-x-6">
41
+ <a href="index.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
42
+ <i data-feather="home" class="w-4 h-4"></i> Dashboard
43
+ </a>
44
+ <a href="activities.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
45
+ <i data-feather="grid" class="w-4 h-4"></i> Activities
46
+ </a>
47
+ <a href="tools.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
48
+ <i data-feather="tool" class="w-4 h-4"></i> Tools
49
+ </a>
50
+ <a href="progress.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
51
+ <i data-feather="trending-up" class="w-4 h-4"></i> Progress
52
+ </a>
53
+ <a href="resources.html" class="nav-link text-sa-teal dark:text-sa-teal font-medium flex items-center gap-2">
54
+ <i data-feather="book-open" class="w-4 h-4"></i> Resources
55
+ </a>
56
+ </div>
57
+ </div>
58
+ <div class="flex items-center space-x-4">
59
+ <button class="bg-sa-green text-white px-3 py-1 rounded-full text-xs font-medium flex items-center gap-2">
60
+ <i data-feather="wifi-off" class="w-3 h-3"></i> Offline
61
+ </button>
62
+ <button onclick="toggleTheme()" class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">
63
+ <i data-feather="moon" class="w-5 h-5 hidden dark:block"></i>
64
+ <i data-feather="sun" class="w-5 h-5 block dark:hidden"></i>
65
+ </button>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </nav>
70
+
71
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
72
+ <!-- Header -->
73
+ <div class="mb-8">
74
+ <h1 class="text-3xl font-bold mb-2">Learning Resources</h1>
75
+ <p class="text-gray-600 dark:text-gray-400">Teaching materials, guides, and computational thinking resources</p>
76
+ </div>
77
+
78
+ <!-- Quick Links -->
79
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-8">
80
+ <a href="#" class="bg-gradient-to-br from-sa-orange to-sa-orange/80 p-6 rounded-xl text-white hover:shadow-lg transition-all duration-200">
81
+ <i data-feather="book" class="w-8 h-8 mb-3"></i>
82
+ <h3 class="font-bold mb-1">Curriculum Guide</h3>
83
+ <p class="text-sm opacity-90">Complete teaching framework</p>
84
+ </a>
85
+ <a href="#" class="bg-gradient-to-br from-sa-teal to-sa-teal/80 p-6 rounded-xl text-white hover:shadow-lg transition-all duration-200">
86
+ <i data-feather="download" class="w-8 h-8 mb-3"></i>
87
+ <h3 class="font-bold mb-1">Activity Packs</h3>
88
+ <p class="text-sm opacity-90">Downloadable materials</p>
89
+ </a>
90
+ <a href="#" class="bg-gradient-to-br from-sa-purple to-sa-purple/80 p-6 rounded-xl text-white hover:shadow-lg transition-all duration-200">
91
+ <i data-feather="video" class="w-8 h-8 mb-3"></i>
92
+ <h3 class="font-bold mb-1">Video Tutorials</h3>
93
+ <p class="text-sm opacity-90">Professional development</p>
94
+ </a>
95
+ <a href="#" class="bg-gradient-to-br from-sa-yellow to-sa-yellow/80 p-6 rounded-xl text-white hover:shadow-lg transition-all duration-200">
96
+ <i data-feather="help-circle" class="w-8 h-8 mb-3"></i>
97
+ <h3 class="font-bold mb-1">Help Center</h3>
98
+ <p class="text-sm opacity-90">FAQs and support</p>
99
+ </a>
100
+ </div>
101
+
102
+ <!-- Resource Categories -->
103
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8">
104
+ <!-- Teaching Guides -->
105
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
106
+ <div class="flex items-center gap-3 mb-4">
107
+ <div class="w-12 h-12 bg-sa-orange/10 dark:bg-sa-orange/20 rounded-lg flex items-center justify-center">
108
+ <i data-feather="book-open" class="w-6 h-6 text-sa-orange"></i>
109
+ </div>
110
+ <h2 class="font-bold text-lg">Teaching Guides</h2>
111
+ </div>
112
+ <div class="space-y-3">
113
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
114
+ <div class="flex items-start justify-between">
115
+ <div>
116
+ <h4 class="font-medium text-sm mb-1">Introduction to Computational Thinking</h4>
117
+ <p class="text-xs text-gray-500 dark:text-gray-400">PDF β€’ 2.4 MB β€’ Updated 2 days ago</p>
118
+ </div>
119
+ <i data-feather="download" class="w-4 h-4 text-gray-400"></i>
120
+ </div>
121
+ </a>
122
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
123
+ <div class="flex items-start justify-between">
124
+ <div>
125
+ <h4 class="font-medium text-sm mb-1">Assessment Strategies</h4>
126
+ <p class="text-xs text-gray-500 dark:text-gray-400">PDF β€’ 1.8 MB β€’ Updated 1 week ago</p>
127
+ </div>
128
+ <i data-feather="download" class="w-4 h-4 text-gray-400"></i>
129
+ </div>
130
+ </a>
131
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
132
+ <div class="flex items-start justify-between">
133
+ <div>
134
+ <h4 class="font-medium text-sm mb-1">Differentiated Instruction</h4>
135
+ <p class="text-xs text-gray-500 dark:text-gray-400">PDF β€’ 3.1 MB β€’ Updated 3 days ago</p>
136
+ </div>
137
+ <i data-feather="download" class="w-4 h-4 text-gray-400"></i>
138
+ </div>
139
+ </a>
140
+ </div>
141
+ </div>
142
+
143
+ <!-- Activity Templates -->
144
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
145
+ <div class="flex items-center gap-3 mb-4">
146
+ <div class="w-12 h-12 bg-sa-teal/10 dark:bg-sa-teal/20 rounded-lg flex items-center justify-center">
147
+ <i data-feather="layout" class="w-6 h-6 text-sa-teal"></i>
148
+ </div>
149
+ <h2 class="font-bold text-lg">Activity Templates</h2>
150
+ </div>
151
+ <div class="space-y-3">
152
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
153
+ <div class="flex items-start justify-between">
154
+ <div>
155
+ <h4 class="font-medium text-sm mb-1">Lesson Plan Template</h4>
156
+ <p class="text-xs text-gray-500 dark:text-gray-400">DOCX β€’ 456 KB β€’ Updated yesterday</p>
157
+ </div>
158
+ <i data-feather="download" class="w-4 h-4 text-gray-400"></i>
159
+ </div>
160
+ </a>
161
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
162
+ <div class="flex items-start justify-between">
163
+ <div>
164
+ <h4 class="font-medium text-sm mb-1">Student Worksheet Generator</h4>
165
+ <p class="text-xs text-gray-500 dark:text-gray-400">XLSX β€’ 1.2 MB β€’ Updated 4 days ago</p>
166
+ </div>
167
+ <i data-feather="download" class="w-4 h-4 text-gray-400"></i>
168
+ </div>
169
+ </a>
170
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
171
+ <div class="flex items-start justify-between">
172
+ <div>
173
+ <h4 class="font-medium text-sm mb-1">Progress Tracker Template</h4>
174
+ <p class="text-xs text-gray-500 dark:text-gray-400">XLSX β€’ 890 KB β€’ Updated 1 week ago</p>
175
+ </div>
176
+ <i data-feather="download" class="w-4 h-4 text-gray-400"></i>
177
+ </div>
178
+ </a>
179
+ </div>
180
+ </div>
181
+
182
+ <!-- Professional Development -->
183
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
184
+ <div class="flex items-center gap-3 mb-4">
185
+ <div class="w-12 h-12 bg-sa-purple/10 dark:bg-sa-purple/20 rounded-lg flex items-center justify-center">
186
+ <i data-feather="award" class="w-6 h-6 text-sa-purple"></i>
187
+ </div>
188
+ <h2 class="font-bold text-lg">Professional Development</h2>
189
+ </div>
190
+ <div class="space-y-3">
191
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
192
+ <div class="flex items-start justify-between">
193
+ <div>
194
+ <h4 class="font-medium text-sm mb-1">CT Fundamentals Course</h4>
195
+ <p class="text-xs text-gray-500 dark:text-gray-400">Video β€’ 45 min β€’ Self-paced</p>
196
+ </div>
197
+ <i data-feather="play-circle" class="w-4 h-4 text-gray-400"></i>
198
+ </div>
199
+ </a>
200
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
201
+ <div class="flex items-start justify-between">
202
+ <div>
203
+ <h4 class="font-medium text-sm mb-1">Classroom Management Tips</h4>
204
+ <p class="text-xs text-gray-500 dark:text-gray-400">Video β€’ 30 min β€’ Self-paced</p>
205
+ </div>
206
+ <i data-feather="play-circle" class="w-4 h-4 text-gray-400"></i>
207
+ </div>
208
+ </a>
209
+ <a href="#" class="block p-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
210
+ <div class="flex items-start justify-between">
211
+ <div>
212
+ <h4 class="font-medium text-sm mb-1">Assessment Best Practices</h4>
213
+ <p class="text-xs text-gray-500 dark:text-gray-400">Video β€’ 60 min β€’ Self-paced</p>
214
+ </div>
215
+ <i data-feather="play-circle" class="w-4 h-4 text-gray-400"></i>
216
+ </div>
217
+ </a>
218
+ </div>
219
+ </div>
220
+ </div>
221
+
222
+ <!-- Featured Resources -->
223
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 mb-8">
224
+ <div class="flex items-center justify-between mb-6">
225
+ <h2 class="font-bold text-lg">Featured Resources</h2>
226
+ <a href="#" class="text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View All</a>
227
+ </div>
228
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
229
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200">
230
+ <img src="http://static.photos/education/200x120/51" alt="Resource" class="w-full h-32 object-cover rounded-lg mb-3">
231
+ <h4 class="font-medium text-sm mb-1">Computational Thinking Handbook</h4>
232
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-3">Comprehensive guide for teachers</p>
233
+ <div class="flex items-center justify-between">
234
+ <span class="bg-sa-orange/10 text-sa-orange px-2 py-1 rounded text-xs">Popular</span>
235
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm">Download</button>
236
+ </div>
237
+ </div>
238
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200">
239
+ <img src="http://static.photos/education/200x120/52" alt="Resource" class="w-full h-32 object-cover rounded-lg mb-3">
240
+ <h4 class="font-medium text-sm mb-1">Activity Card Set</h4>
241
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-3">Printable activity cards</p>
242
+ <div class="flex items-center justify-between">
243
+ <span class="bg-sa-green/10 text-sa-green px-2 py-1 rounded text-xs">New</span>
244
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm">Download</button>
245
+ </div>
246
+ </div>
247
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200">
248
+ <img src="http://static.photos/education/200x120/53" alt="Resource" class="w-full h-32 object-cover rounded-lg mb-3">
249
+ <h4 class="font-medium text-sm mb-1">Assessment Rubrics</h4>
250
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-3">Evaluation criteria templates</p>
251
+ <div class="flex items-center justify-between">
252
+ <span class="bg-sa-purple/10 text-sa-purple px-2 py-1 rounded text-xs">Premium</span>
253
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm">Download</button>
254
+ </div>
255
+ </div>
256
+ <div class="border border-gray-200 dark:border-gray-700 rounded-lg p-4 hover:shadow-md transition-all duration-200">
257
+ <img src="http://static.photos/education/200x120/54" alt="Resource" class="w-full h-32 object-cover rounded-lg mb-3">
258
+ <h4 class="font-medium text-sm mb-1">Parent Guide</h4>
259
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-3">Share with parents</p>
260
+ <div class="flex items-center justify-between">
261
+ <span class="bg-sa-yellow/10 text-sa-yellow px-2 py-1 rounded text-xs">Free</span>
262
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm">Download</button>
263
+ </div>
264
+ </div>
265
+ </div>
266
+ </div>
267
+
268
+ <!-- Community Resources -->
269
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
270
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
271
+ <h3 class="font-bold text-lg mb-4">Community Contributions</h3>
272
+ <div class="space-y-3">
273
+ <div class="flex items-start gap-3">
274
+ <img src="http://static.photos/people/40x40/201" class="w-10 h-10 rounded-full">
275
+ <div class="flex-1">
276
+ <div class="flex items-center gap-2 mb-1">
277
+ <p class="font-medium text-sm">Mrs. Johnson</p>
278
+ <span class="bg-sa-green/10 text-sa-green px-2 py-0.5 rounded text-xs">Verified</span>
279
+ </div>
280
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-2">Shared "Pattern Recognition Games" activity pack</p>
281
+ <div class="flex items-center gap-4 text-xs text-gray-500 dark:text-gray-400">
282
+ <span>2 days ago</span>
283
+ <span>⭐ 4.9 (23 reviews)</span>
284
+ </div>
285
+ </div>
286
+ </div>
287
+ <div class="flex items-start gap-3">
288
+ <img src="http://static.photos/people/40x40/202" class="w-10 h-10 rounded-full">
289
+ <div class="flex-1">
290
+ <div class="flex items-center gap-2 mb-1">
291
+ <p class="font-medium text-sm">Mr. Patel</p>
292
+ <span class="bg-sa-green/10 text-sa-green px-2 py-0.5 rounded text-xs">Verified</span>
293
+ </div>
294
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-2">Created "Algorithm Building Blocks" worksheet</p>
295
+ <div class="flex items-center gap-4 text-xs text-gray-500 dark:text-gray-400">
296
+ <span>1 week ago</span>
297
+ <span>⭐ 4.7 (18 reviews)</span>
298
+ </div>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ <button class="w-full mt-4 text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View Community Library β†’</button>
303
+ </div>
304
+
305
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
306
+ <h3 class="font-bold text-lg mb-4">Upcoming Webinars</h3>
307
+ <div class="space-y-3">
308
+ <div class="border-l-4 border-sa-teal pl-4">
309
+ <h4 class="font-medium text-sm mb-1">Introduction to AI in Education</h4>
310
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-2">March 15, 2024 β€’ 3:00 PM</p>
311
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm font-medium">Register β†’</button>
312
+ </div>
313
+ <div class="border-l-4 border-sa-purple pl-4">
314
+ <h4 class="font-medium text-sm mb-1">Assessment Strategies for CT</h4>
315
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-2">March 22, 2024 β€’ 2:00 PM</p>
316
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm font-medium">Register β†’</button>
317
+ </div>
318
+ <div class="border-l-4 border-sa-orange pl-4">
319
+ <h4 class="font-medium text-sm mb-1">Engaging Young Coders</h4>
320
+ <p class="text-xs text-gray-500 dark:text-gray-400 mb-2">March 29, 2024 β€’ 4:00 PM</p>
321
+ <button class="text-sa-teal hover:text-sa-teal/80 text-sm font-medium">Register β†’</button>
322
+ </div>
323
+ </div>
324
+ <button class="w-full mt-4 text-sa-teal hover:text-sa-teal/80 font-medium text-sm">View All Webinars β†’</button>
325
+ </div>
326
+ </div>
327
+ </main>
328
+
329
+ <script>
330
+ feather.replace();
331
+
332
+ // Theme Toggle
333
+ function toggleTheme() {
334
+ document.documentElement.classList.toggle('dark');
335
+ localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
336
+ }
337
+
338
+ // Load saved theme
339
+ if (localStorage.getItem('theme') === 'dark' || (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
340
+ document.documentElement.classList.add('dark');
341
+ }
342
+ </script>
343
+ </body>
344
+ </html>
tools.html ADDED
@@ -0,0 +1,341 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Tools - SAML LMS</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script>
10
+ tailwind.config = {
11
+ darkMode: 'class',
12
+ theme: {
13
+ extend: {
14
+ colors: {
15
+ 'sa-orange': '#FF6B35',
16
+ 'sa-teal': '#008080',
17
+ 'sa-yellow': '#FFD23F',
18
+ 'sa-purple': '#6A4C93',
19
+ 'sa-red': '#C1121F',
20
+ 'sa-green': '#007200',
21
+ 'sa-blue': '#003049'
22
+ }
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+ </head>
28
+ <body class="bg-gray-50 dark:bg-gray-900 text-gray-900 dark:text-gray-100">
29
+ <!-- Navigation -->
30
+ <nav class="bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700 sticky top-0 z-50">
31
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
32
+ <div class="flex justify-between items-center h-16">
33
+ <div class="flex items-center space-x-8">
34
+ <div class="flex items-center space-x-3">
35
+ <div class="w-8 h-8 bg-gradient-to-br from-sa-orange to-sa-purple rounded-lg flex items-center justify-center">
36
+ <i data-feather="cpu" class="w-5 h-5 text-white"></i>
37
+ </div>
38
+ <span class="font-bold text-xl">SAML LMS</span>
39
+ </div>
40
+ <div class="hidden md:flex space-x-6">
41
+ <a href="index.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
42
+ <i data-feather="home" class="w-4 h-4"></i> Dashboard
43
+ </a>
44
+ <a href="activities.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
45
+ <i data-feather="grid" class="w-4 h-4"></i> Activities
46
+ </a>
47
+ <a href="tools.html" class="nav-link text-sa-teal dark:text-sa-teal font-medium flex items-center gap-2">
48
+ <i data-feather="tool" class="w-4 h-4"></i> Tools
49
+ </a>
50
+ <a href="progress.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
51
+ <i data-feather="trending-up" class="w-4 h-4"></i> Progress
52
+ </a>
53
+ <a href="resources.html" class="nav-link text-gray-600 dark:text-gray-300 hover:text-sa-teal dark:hover:text-sa-teal transition-colors flex items-center gap-2">
54
+ <i data-feather="book-open" class="w-4 h-4"></i> Resources
55
+ </a>
56
+ </div>
57
+ </div>
58
+ <div class="flex items-center space-x-4">
59
+ <button class="bg-sa-green text-white px-3 py-1 rounded-full text-xs font-medium flex items-center gap-2">
60
+ <i data-feather="wifi-off" class="w-3 h-3"></i> Offline
61
+ </button>
62
+ <button onclick="toggleTheme()" class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">
63
+ <i data-feather="moon" class="w-5 h-5 hidden dark:block"></i>
64
+ <i data-feather="sun" class="w-5 h-5 block dark:hidden"></i>
65
+ </button>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </nav>
70
+
71
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
72
+ <!-- Header -->
73
+ <div class="mb-8">
74
+ <h1 class="text-3xl font-bold mb-2">Teaching Tools</h1>
75
+ <p class="text-gray-600 dark:text-gray-400">Interactive tools to enhance your computational thinking lessons</p>
76
+ </div>
77
+
78
+ <!-- Tools Grid -->
79
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
80
+ <!-- Timer Tool -->
81
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 hover:shadow-md transition-all duration-200">
82
+ <div class="flex items-center justify-between mb-4">
83
+ <div class="w-12 h-12 bg-sa-orange/10 dark:bg-sa-orange/20 rounded-lg flex items-center justify-center">
84
+ <i data-feather="clock" class="w-6 h-6 text-sa-orange"></i>
85
+ </div>
86
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Ready</span>
87
+ </div>
88
+ <h3 class="font-bold text-lg mb-2">Activity Timer</h3>
89
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Set countdown timers for activities and transitions</p>
90
+ <div class="bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-4">
91
+ <div class="text-center">
92
+ <div class="text-3xl font-bold text-sa-teal mb-2" id="timerDisplay">05:00</div>
93
+ <div class="flex gap-2 justify-center">
94
+ <button onclick="startTimer()" class="px-3 py-1 bg-sa-green text-white rounded text-sm">Start</button>
95
+ <button onclick="pauseTimer()" class="px-3 py-1 bg-sa-yellow text-white rounded text-sm">Pause</button>
96
+ <button onclick="resetTimer()" class="px-3 py-1 bg-sa-red text-white rounded text-sm">Reset</button>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ <button class="w-full text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Open Tool β†’</button>
101
+ </div>
102
+
103
+ <!-- Random Name Picker -->
104
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 hover:shadow-md transition-all duration-200">
105
+ <div class="flex items-center justify-between mb-4">
106
+ <div class="w-12 h-12 bg-sa-purple/10 dark:bg-sa-purple/20 rounded-lg flex items-center justify-center">
107
+ <i data-feather="users" class="w-6 h-6 text-sa-purple"></i>
108
+ </div>
109
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Ready</span>
110
+ </div>
111
+ <h3 class="font-bold text-lg mb-2">Random Name Picker</h3>
112
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Fairly select students for activities and participation</p>
113
+ <div class="bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-4">
114
+ <div class="text-center">
115
+ <div class="text-xl font-bold text-sa-purple mb-2" id="nameDisplay">Click to pick</div>
116
+ <button onclick="pickRandomName()" class="px-4 py-2 bg-sa-purple text-white rounded text-sm">Pick Student</button>
117
+ </div>
118
+ </div>
119
+ <button class="w-full text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Open Tool β†’</button>
120
+ </div>
121
+
122
+ <!-- Score Board -->
123
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 hover:shadow-md transition-all duration-200">
124
+ <div class="flex items-center justify-between mb-4">
125
+ <div class="w-12 h-12 bg-sa-yellow/10 dark:bg-sa-yellow/20 rounded-lg flex items-center justify-center">
126
+ <i data-feather="award" class="w-6 h-6 text-sa-yellow"></i>
127
+ </div>
128
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Ready</span>
129
+ </div>
130
+ <h3 class="font-bold text-lg mb-2">Team Scoreboard</h3>
131
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Track team points during competitive activities</p>
132
+ <div class="bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-4">
133
+ <div class="space-y-2">
134
+ <div class="flex justify-between items-center">
135
+ <span class="text-sm">Team A</span>
136
+ <span class="font-bold text-sa-yellow">0</span>
137
+ </div>
138
+ <div class="flex justify-between items-center">
139
+ <span class="text-sm">Team B</span>
140
+ <span class="font-bold text-sa-yellow">0</span>
141
+ </div>
142
+ </div>
143
+ </div>
144
+ <button class="w-full text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Open Tool β†’</button>
145
+ </div>
146
+
147
+ <!-- Pattern Generator -->
148
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 hover:shadow-md transition-all duration-200">
149
+ <div class="flex items-center justify-between mb-4">
150
+ <div class="w-12 h-12 bg-sa-teal/10 dark:bg-sa-teal/20 rounded-lg flex items-center justify-center">
151
+ <i data-feather="grid" class="w-6 h-6 text-sa-teal"></i>
152
+ </div>
153
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Ready</span>
154
+ </div>
155
+ <h3 class="font-bold text-lg mb-2">Pattern Generator</h3>
156
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Create visual patterns for pattern recognition activities</p>
157
+ <div class="bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-4">
158
+ <div class="grid grid-cols-4 gap-1">
159
+ ${Array.from({length: 16}, (_, i) =>
160
+ `<div class="w-8 h-8 bg-${i % 3 === 0 ? 'sa-teal' : i % 3 === 1 ? 'sa-orange' : 'sa-purple'}/20 rounded"></div>`
161
+ ).join('')}
162
+ </div>
163
+ </div>
164
+ <button class="w-full text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Open Tool β†’</button>
165
+ </div>
166
+
167
+ <!-- Sound Effects -->
168
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 hover:shadow-md transition-all duration-200">
169
+ <div class="flex items-center justify-between mb-4">
170
+ <div class="w-12 h-12 bg-sa-red/10 dark:bg-sa-red/20 rounded-lg flex items-center justify-center">
171
+ <i data-feather="volume-2" class="w-6 h-6 text-sa-red"></i>
172
+ </div>
173
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Ready</span>
174
+ </div>
175
+ <h3 class="font-bold text-lg mb-2">Sound Effects</h3>
176
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Play sounds for transitions, correct answers, and celebrations</p>
177
+ <div class="bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-4">
178
+ <div class="grid grid-cols-2 gap-2">
179
+ <button class="px-2 py-1 bg-sa-green text-white rounded text-xs">Correct</button>
180
+ <button class="px-2 py-1 bg-sa-red text-white rounded text-xs">Wrong</button>
181
+ <button class="px-2 py-1 bg-sa-yellow text-white rounded text-xs">Time Up</button>
182
+ <button class="px-2 py-1 bg-sa-purple text-white rounded text-xs">Celebrate</button>
183
+ </div>
184
+ </div>
185
+ <button class="w-full text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Open Tool β†’</button>
186
+ </div>
187
+
188
+ <!-- QR Code Generator -->
189
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6 hover:shadow-md transition-all duration-200">
190
+ <div class="flex items-center justify-between mb-4">
191
+ <div class="w-12 h-12 bg-sa-blue/10 dark:bg-sa-blue/20 rounded-lg flex items-center justify-center">
192
+ <i data-feather="grid" class="w-6 h-6 text-sa-blue"></i>
193
+ </div>
194
+ <span class="bg-green-100 text-green-700 px-2 py-1 rounded text-xs font-medium">Ready</span>
195
+ </div>
196
+ <h3 class="font-bold text-lg mb-2">QR Code Generator</h3>
197
+ <p class="text-gray-600 dark:text-gray-400 text-sm mb-4">Create QR codes for quick access to activities and resources</p>
198
+ <div class="bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-4">
199
+ <div class="w-24 h-24 bg-gray-300 dark:bg-gray-600 mx-auto rounded"></div>
200
+ </div>
201
+ <button class="w-full text-sa-teal hover:text-sa-teal/80 font-medium text-sm">Open Tool β†’</button>
202
+ </div>
203
+ </div>
204
+
205
+ <!-- Tool Categories -->
206
+ <div class="mt-12">
207
+ <h2 class="text-2xl font-bold mb-6">Tool Categories</h2>
208
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
209
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
210
+ <div class="flex items-center gap-3 mb-3">
211
+ <div class="w-10 h-10 bg-sa-orange/10 dark:bg-sa-orange/20 rounded-lg flex items-center justify-center">
212
+ <i data-feather="zap" class="w-5 h-5 text-sa-orange"></i>
213
+ </div>
214
+ <h3 class="font-semibold">Classroom Management</h3>
215
+ </div>
216
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-3">Tools for managing classroom activities and student engagement</p>
217
+ <div class="space-y-2">
218
+ <div class="flex items-center gap-2 text-sm">
219
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
220
+ <span>Timer & Alarms</span>
221
+ </div>
222
+ <div class="flex items-center gap-2 text-sm">
223
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
224
+ <span>Random Name Picker</span>
225
+ </div>
226
+ <div class="flex items-center gap-2 text-sm">
227
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
228
+ <span>Seating Chart</span>
229
+ </div>
230
+ </div>
231
+ </div>
232
+
233
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
234
+ <div class="flex items-center gap-3 mb-3">
235
+ <div class="w-10 h-10 bg-sa-teal/10 dark:bg-sa-teal/20 rounded-lg flex items-center justify-center">
236
+ <i data-feather="code" class="w-5 h-5 text-sa-teal"></i>
237
+ </div>
238
+ <h3 class="font-semibold">Learning Activities</h3>
239
+ </div>
240
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-3">Interactive tools for computational thinking exercises</p>
241
+ <div class="space-y-2">
242
+ <div class="flex items-center gap-2 text-sm">
243
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
244
+ <span>Pattern Generator</span>
245
+ </div>
246
+ <div class="flex items-center gap-2 text-sm">
247
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
248
+ <span>Algorithm Builder</span>
249
+ </div>
250
+ <div class="flex items-center gap-2 text-sm">
251
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
252
+ <span>Debug Simulator</span>
253
+ </div>
254
+ </div>
255
+ </div>
256
+
257
+ <div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm p-6">
258
+ <div class="flex items-center gap-3 mb-3">
259
+ <div class="w-10 h-10 bg-sa-purple/10 dark:bg-sa-purple/20 rounded-lg flex items-center justify-center">
260
+ <i data-feather="bar-chart" class="w-5 h-5 text-sa-purple"></i>
261
+ </div>
262
+ <h3 class="font-semibold">Assessment Tools</h3>
263
+ </div>
264
+ <p class="text-sm text-gray-600 dark:text-gray-400 mb-3">Tools for tracking progress and providing feedback</p>
265
+ <div class="space-y-2">
266
+ <div class="flex items-center gap-2 text-sm">
267
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
268
+ <span>Quick Polls</span>
269
+ </div>
270
+ <div class="flex items-center gap-2 text-sm">
271
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
272
+ <span>Score Tracker</span>
273
+ </div>
274
+ <div class="flex items-center gap-2 text-sm">
275
+ <i data-feather="check" class="w-4 h-4 text-green-500"></i>
276
+ <span>Progress Charts</span>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ </main>
283
+
284
+ <script>
285
+ feather.replace();
286
+
287
+ // Theme Toggle
288
+ function toggleTheme() {
289
+ document.documentElement.classList.toggle('dark');
290
+ localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
291
+ }
292
+
293
+ // Load saved theme
294
+ if (localStorage.getItem('theme') === 'dark' || (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
295
+ document.documentElement.classList.add('dark');
296
+ }
297
+
298
+ // Timer Functions
299
+ let timerInterval;
300
+ let timerSeconds = 300; // 5 minutes
301
+
302
+ function startTimer() {
303
+ clearInterval(timerInterval);
304
+ timerInterval = setInterval(() => {
305
+ if (timerSeconds > 0) {
306
+ timerSeconds--;
307
+ updateTimerDisplay();
308
+ } else {
309
+ clearInterval(timerInterval);
310
+ alert('Time\'s up!');
311
+ }
312
+ }, 1000);
313
+ }
314
+
315
+ function pauseTimer() {
316
+ clearInterval(timerInterval);
317
+ }
318
+
319
+ function resetTimer() {
320
+ clearInterval(timerInterval);
321
+ timerSeconds = 300;
322
+ updateTimerDisplay();
323
+ }
324
+
325
+ function updateTimerDisplay() {
326
+ const minutes = Math.floor(timerSeconds / 60);
327
+ const seconds = timerSeconds % 60;
328
+ document.getElementById('timerDisplay').textContent =
329
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
330
+ }
331
+
332
+ // Random Name Picker
333
+ const studentNames = ['Amina', 'Bongani', 'Catherine', 'David', 'Elena', 'Fikile', 'Grace', 'Harish', 'Isabella', 'Jabulani'];
334
+
335
+ function pickRandomName() {
336
+ const randomName = studentNames[Math.floor(Math.random() * studentNames.length)];
337
+ document.getElementById('nameDisplay').textContent = randomName;
338
+ }
339
+ </script>
340
+ </body>
341
+ </html>