Alivee95 commited on
Commit
b9ef70d
·
verified ·
1 Parent(s): d48c53b

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +448 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: My Test Space
3
- emoji: 🏆
4
- colorFrom: pink
5
- colorTo: pink
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: my-test-space
3
+ emoji: 🐳
4
+ colorFrom: yellow
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,448 @@
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>XML Analysis Dashboard</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .cursor-trail {
11
+ position: absolute;
12
+ width: 8px;
13
+ height: 8px;
14
+ border-radius: 50%;
15
+ background-color: rgba(99, 102, 241, 0.7);
16
+ pointer-events: none;
17
+ z-index: 9999;
18
+ transform: translate(-50%, -50%);
19
+ }
20
+ .xml-tag {
21
+ transition: all 0.2s ease;
22
+ }
23
+ .xml-tag:hover {
24
+ background-color: rgba(99, 102, 241, 0.1);
25
+ transform: translateY(-2px);
26
+ }
27
+ .progress-bar {
28
+ height: 6px;
29
+ background: linear-gradient(90deg, #4f46e5, #8b5cf6);
30
+ transition: width 0.3s ease;
31
+ }
32
+ .code-block {
33
+ font-family: 'Courier New', monospace;
34
+ background-color: #1e293b;
35
+ color: #f8fafc;
36
+ }
37
+ .floating-card {
38
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
39
+ }
40
+ </style>
41
+ </head>
42
+ <body class="bg-gray-50 min-h-screen relative overflow-x-hidden">
43
+ <!-- Cursor trail elements -->
44
+ <div id="cursor-trail-container"></div>
45
+
46
+ <!-- Navigation -->
47
+ <nav class="bg-indigo-600 text-white shadow-lg">
48
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
49
+ <div class="flex justify-between h-16 items-center">
50
+ <div class="flex items-center">
51
+ <i class="fas fa-file-code text-2xl mr-3"></i>
52
+ <span class="text-xl font-bold">XML Analyzer Pro</span>
53
+ </div>
54
+ <div class="hidden md:flex space-x-8">
55
+ <a href="#" class="hover:text-indigo-200 transition">Dashboard</a>
56
+ <a href="#" class="hover:text-indigo-200 transition">Analysis</a>
57
+ <a href="#" class="hover:text-indigo-200 transition">Reports</a>
58
+ <a href="#" class="hover:text-indigo-200 transition">Settings</a>
59
+ </div>
60
+ <button class="md:hidden text-xl">
61
+ <i class="fas fa-bars"></i>
62
+ </button>
63
+ </div>
64
+ </div>
65
+ </nav>
66
+
67
+ <!-- Main content -->
68
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
69
+ <!-- Header -->
70
+ <div class="mb-10 text-center">
71
+ <h1 class="text-4xl font-bold text-gray-800 mb-3">Hospital Quality Reports Analysis</h1>
72
+ <p class="text-lg text-gray-600 max-w-3xl mx-auto">
73
+ Process and analyze XML files from the QB-Referenzdatenbank containing structured quality reports of German hospitals (2023)
74
+ </p>
75
+ </div>
76
+
77
+ <!-- Progress bar -->
78
+ <div class="mb-8 bg-gray-200 rounded-full overflow-hidden">
79
+ <div id="analysis-progress" class="progress-bar" style="width: 0%"></div>
80
+ </div>
81
+
82
+ <!-- Dashboard cards -->
83
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-10">
84
+ <!-- File Info Card -->
85
+ <div class="bg-white rounded-xl p-6 floating-card">
86
+ <div class="flex items-center mb-4">
87
+ <div class="bg-indigo-100 p-3 rounded-full mr-4">
88
+ <i class="fas fa-file-alt text-indigo-600 text-xl"></i>
89
+ </div>
90
+ <h3 class="text-xl font-semibold text-gray-800">File Content Overview</h3>
91
+ </div>
92
+ <p class="text-gray-600 mb-4">
93
+ These XML files contain structured quality reports from German hospitals, managed by IQTIG/BQS.
94
+ </p>
95
+ <div class="bg-indigo-50 p-4 rounded-lg">
96
+ <p class="text-sm text-indigo-800">
97
+ <i class="fas fa-info-circle mr-2"></i>
98
+ Includes hospital information, services, quality indicators, personnel data, and more.
99
+ </p>
100
+ </div>
101
+ </div>
102
+
103
+ <!-- Structure Card -->
104
+ <div class="bg-white rounded-xl p-6 floating-card">
105
+ <div class="flex items-center mb-4">
106
+ <div class="bg-purple-100 p-3 rounded-full mr-4">
107
+ <i class="fas fa-sitemap text-purple-600 text-xl"></i>
108
+ </div>
109
+ <h3 class="text-xl font-semibold text-gray-800">Tag Structure Analysis</h3>
110
+ </div>
111
+ <div class="space-y-2">
112
+ <div class="flex items-center">
113
+ <span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2">&lt;hospital&gt;</span>
114
+ <span class="text-gray-500 text-sm">(parent)</span>
115
+ </div>
116
+ <div class="ml-4 space-y-1">
117
+ <div class="flex items-center">
118
+ <span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2">&lt;info&gt;</span>
119
+ </div>
120
+ <div class="flex items-center">
121
+ <span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2">&lt;services&gt;</span>
122
+ </div>
123
+ <div class="flex items-center">
124
+ <span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2">&lt;quality&gt;</span>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+
130
+ <!-- Analysis Card -->
131
+ <div class="bg-white rounded-xl p-6 floating-card">
132
+ <div class="flex items-center mb-4">
133
+ <div class="bg-green-100 p-3 rounded-full mr-4">
134
+ <i class="fas fa-chart-line text-green-600 text-xl"></i>
135
+ </div>
136
+ <h3 class="text-xl font-semibold text-gray-800">Analytical Opportunities</h3>
137
+ </div>
138
+ <ul class="space-y-2">
139
+ <li class="flex items-start">
140
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
141
+ <span class="text-gray-700">Performance benchmarking</span>
142
+ </li>
143
+ <li class="flex items-start">
144
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
145
+ <span class="text-gray-700">Regional hospital comparisons</span>
146
+ </li>
147
+ <li class="flex items-start">
148
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
149
+ <span class="text-gray-700">Trend analysis over time</span>
150
+ </li>
151
+ <li class="flex items-start">
152
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
153
+ <span class="text-gray-700">Quality indicator correlations</span>
154
+ </li>
155
+ </ul>
156
+ </div>
157
+ </div>
158
+
159
+ <!-- Code section -->
160
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-10">
161
+ <!-- Python Script -->
162
+ <div class="bg-white rounded-xl overflow-hidden floating-card">
163
+ <div class="bg-gray-800 text-white px-4 py-3 flex justify-between items-center">
164
+ <div class="flex items-center">
165
+ <i class="fab fa-python text-xl mr-2"></i>
166
+ <span class="font-mono">analysis_script.py</span>
167
+ </div>
168
+ <button class="text-gray-300 hover:text-white">
169
+ <i class="far fa-copy"></i>
170
+ </button>
171
+ </div>
172
+ <div class="p-4 code-block overflow-x-auto">
173
+ <pre class="text-sm">
174
+ <span class="text-green-400"># XML Analysis Script for Hospital Quality Reports</span>
175
+ <span class="text-purple-400">import</span> os
176
+ <span class="text-purple-400">import</span> xml.etree.ElementTree <span class="text-purple-400">as</span> ET
177
+ <span class="text-purple-400">import</span> pandas <span class="text-purple-400">as</span> pd
178
+
179
+ <span class="text-green-400"># Directory paths</span>
180
+ input_dir = <span class="text-yellow-300">"/Users/alikhosravi/Desktop/XLMNEW/xml_2023"</span>
181
+ output_dir = <span class="text-yellow-300">"/Users/alikhosravi/Desktop/XLMNEW/Result/2. Structure/XML file structure"</span>
182
+
183
+ <span class="text-green-400"># Initialize data structures</span>
184
+ tag_inventory = {}
185
+ hospital_data = []
186
+
187
+ <span class="text-green-400"># Process each XML file</span>
188
+ <span class="text-purple-400">for</span> filename <span class="text-purple-400">in</span> os.listdir(input_dir):
189
+ <span class="text-purple-400">if</span> filename.endswith(<span class="text-yellow-300">".xml"</span>):
190
+ filepath = os.path.join(input_dir, filename)
191
+ tree = ET.parse(filepath)
192
+ root = tree.getroot()
193
+
194
+ <span class="text-green-400"># Extract hospital information</span>
195
+ hospital = {
196
+ <span class="text-yellow-300">'name'</span>: root.find(<span class="text-yellow-300">'hospital/name'</span>).text,
197
+ <span class="text-yellow-300">'ik_code'</span>: root.find(<span class="text-yellow-300">'hospital/ik_code'</span>).text,
198
+ <span class="text-yellow-300">'location'</span>: root.find(<span class="text-yellow-300">'hospital/address/city'</span>).text
199
+ }
200
+ hospital_data.append(hospital)
201
+
202
+ <span class="text-green-400"># Build tag inventory</span>
203
+ <span class="text-purple-400">for</span> elem <span class="text-purple-400">in</span> root.iter():
204
+ tag_path = <span class="text-yellow-300">' > '</span>.join([e.tag <span class="text-purple-400">for</span> e <span class="text-purple-400">in</span> elem.findall(<span class="text-yellow-300">'./ancestor-or-self::*'</span>)])
205
+ tag_inventory[tag_path] = tag_inventory.get(tag_path, <span class="text-blue-400">0</span>) + <span class="text-blue-400">1</span>
206
+
207
+ <span class="text-green-400"># Save results</span>
208
+ pd.DataFrame(hospital_data).to_excel(os.path.join(output_dir, <span class="text-yellow-300">'hospital_info.xlsx'</span>))
209
+ pd.DataFrame(list(tag_inventory.items()), columns=[<span class="text-yellow-300">'Tag_Path'</span>, <span class="text-yellow-300">'Count'</span>]).to_csv(
210
+ os.path.join(output_dir, <span class="text-yellow-300">'tag_inventory.csv'</span>), index=<span class="text-purple-400">False</span>)</pre>
211
+ </div>
212
+ </div>
213
+
214
+ <!-- XML Sample -->
215
+ <div class="bg-white rounded-xl overflow-hidden floating-card">
216
+ <div class="bg-indigo-800 text-white px-4 py-3 flex justify-between items-center">
217
+ <div class="flex items-center">
218
+ <i class="fas fa-file-code text-xl mr-2"></i>
219
+ <span class="font-mono">sample_hospital.xml</span>
220
+ </div>
221
+ <button class="text-indigo-300 hover:text-white">
222
+ <i class="far fa-copy"></i>
223
+ </button>
224
+ </div>
225
+ <div class="p-4 code-block overflow-x-auto">
226
+ <pre class="text-sm">
227
+ &lt;?xml version=<span class="text-yellow-300">"1.0"</span> encoding=<span class="text-yellow-300">"UTF-8"</span>?&gt;
228
+ &lt;hospital_report&gt;
229
+ &lt;hospital&gt;
230
+ &lt;info&gt;
231
+ &lt;name&gt;<span class="text-gray-400">Charité - Universitätsmedizin Berlin</span>&lt;/name&gt;
232
+ &lt;ik_code&gt;<span class="text-gray-400">260500499</span>&lt;/ik_code&gt;
233
+ &lt;address&gt;
234
+ &lt;street&gt;<span class="text-gray-400">Charitéplatz 1</span>&lt;/street&gt;
235
+ &lt;city&gt;<span class="text-gray-400">Berlin</span>&lt;/city&gt;
236
+ &lt;zip&gt;<span class="text-gray-400">10117</span>&lt;/zip&gt;
237
+ &lt;/address&gt;
238
+ &lt;/info&gt;
239
+ &lt;services&gt;
240
+ &lt;department name=<span class="text-yellow-300">"Cardiology"</span> beds=<span class="text-yellow-300">"120"</span>/&gt;
241
+ &lt;department name=<span class="text-yellow-300">"Neurology"</span> beds=<span class="text-yellow-300">"85"</span>/&gt;
242
+ &lt;/services&gt;
243
+ &lt;quality_indicators&gt;
244
+ &lt;indicator name=<span class="text-yellow-300">"Patient Satisfaction"</span> value=<span class="text-yellow-300">"92.5"</span>/&gt;
245
+ &lt;indicator name=<span class="text-yellow-300">"Readmission Rate"</span> value=<span class="text-yellow-300">"8.2"</span>/&gt;
246
+ &lt;/quality_indicators&gt;
247
+ &lt;/hospital&gt;
248
+ &lt;/hospital_report&gt;</pre>
249
+ </div>
250
+ </div>
251
+ </div>
252
+
253
+ <!-- Data categories -->
254
+ <div class="bg-white rounded-xl p-6 floating-card mb-10">
255
+ <h2 class="text-2xl font-bold text-gray-800 mb-6 flex items-center">
256
+ <i class="fas fa-tags text-indigo-600 mr-3"></i>
257
+ Data Categories in XML Files
258
+ </h2>
259
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
260
+ <div class="bg-indigo-50 p-4 rounded-lg border-l-4 border-indigo-500">
261
+ <h3 class="font-semibold text-indigo-800 mb-2">Hospital Information</h3>
262
+ <ul class="text-sm text-indigo-700 space-y-1">
263
+ <li class="flex items-start">
264
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
265
+ <span>Name and address</span>
266
+ </li>
267
+ <li class="flex items-start">
268
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
269
+ <span>IK code</span>
270
+ </li>
271
+ <li class="flex items-start">
272
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
273
+ <span>Ownership</span>
274
+ </li>
275
+ </ul>
276
+ </div>
277
+ <div class="bg-purple-50 p-4 rounded-lg border-l-4 border-purple-500">
278
+ <h3 class="font-semibold text-purple-800 mb-2">Services & Departments</h3>
279
+ <ul class="text-sm text-purple-700 space-y-1">
280
+ <li class="flex items-start">
281
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
282
+ <span>Department types</span>
283
+ </li>
284
+ <li class="flex items-start">
285
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
286
+ <span>Bed counts</span>
287
+ </li>
288
+ <li class="flex items-start">
289
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
290
+ <span>Special treatments</span>
291
+ </li>
292
+ </ul>
293
+ </div>
294
+ <div class="bg-green-50 p-4 rounded-lg border-l-4 border-green-500">
295
+ <h3 class="font-semibold text-green-800 mb-2">Quality Indicators</h3>
296
+ <ul class="text-sm text-green-700 space-y-1">
297
+ <li class="flex items-start">
298
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
299
+ <span>Treatment outcomes</span>
300
+ </li>
301
+ <li class="flex items-start">
302
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
303
+ <span>Performance metrics</span>
304
+ </li>
305
+ <li class="flex items-start">
306
+ <i class="fas fa-circle text-xs mt-1 mr-2"></i>
307
+ <span>Guideline compliance</span>
308
+ </li>
309
+ </ul>
310
+ </div>
311
+ </div>
312
+ </div>
313
+
314
+ <!-- Output section -->
315
+ <div class="bg-white rounded-xl p-6 floating-card">
316
+ <h2 class="text-2xl font-bold text-gray-800 mb-6 flex items-center">
317
+ <i class="fas fa-file-export text-indigo-600 mr-3"></i>
318
+ Output Reports
319
+ </h2>
320
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
321
+ <div class="border rounded-lg p-4 hover:border-indigo-400 transition">
322
+ <div class="flex items-center mb-3">
323
+ <i class="fas fa-file-excel text-green-600 text-2xl mr-3"></i>
324
+ <div>
325
+ <h3 class="font-semibold text-gray-800">hospital_info.xlsx</h3>
326
+ <p class="text-sm text-gray-500">Excel spreadsheet with hospital information</p>
327
+ </div>
328
+ </div>
329
+ <div class="flex justify-between items-center text-sm">
330
+ <span class="text-gray-500">Saved to:</span>
331
+ <span class="font-mono bg-gray-100 px-2 py-1 rounded">/Result/2. Structure/</span>
332
+ </div>
333
+ </div>
334
+ <div class="border rounded-lg p-4 hover:border-indigo-400 transition">
335
+ <div class="flex items-center mb-3">
336
+ <i class="fas fa-file-csv text-blue-600 text-2xl mr-3"></i>
337
+ <div>
338
+ <h3 class="font-semibold text-gray-800">tag_inventory.csv</h3>
339
+ <p class="text-sm text-gray-500">Complete XML tag hierarchy inventory</p>
340
+ </div>
341
+ </div>
342
+ <div class="flex justify-between items-center text-sm">
343
+ <span class="text-gray-500">Saved to:</span>
344
+ <span class="font-mono bg-gray-100 px-2 py-1 rounded">/Result/2. Structure/</span>
345
+ </div>
346
+ </div>
347
+ </div>
348
+ </div>
349
+ </main>
350
+
351
+ <!-- Footer -->
352
+ <footer class="bg-gray-800 text-white py-8 mt-12">
353
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
354
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
355
+ <div>
356
+ <h3 class="text-lg font-semibold mb-4">XML Analyzer Pro</h3>
357
+ <p class="text-gray-400">
358
+ Advanced tool for processing and analyzing hospital quality report XML files from the QB-Referenzdatenbank.
359
+ </p>
360
+ </div>
361
+ <div>
362
+ <h3 class="text-lg font-semibold mb-4">Quick Links</h3>
363
+ <ul class="space-y-2">
364
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Documentation</a></li>
365
+ <li><a href="#" class="text-gray-400 hover:text-white transition">API Reference</a></li>
366
+ <li><a href="#" class="text-gray-400 hover:text-white transition">GitHub Repository</a></li>
367
+ </ul>
368
+ </div>
369
+ <div>
370
+ <h3 class="text-lg font-semibold mb-4">Contact</h3>
371
+ <ul class="space-y-2 text-gray-400">
372
+ <li class="flex items-center">
373
+ <i class="fas fa-envelope mr-2"></i>
374
+ <span>support@xmlanalyzer.pro</span>
375
+ </li>
376
+ <li class="flex items-center">
377
+ <i class="fas fa-globe mr-2"></i>
378
+ <span>www.xmlanalyzer.pro</span>
379
+ </li>
380
+ </ul>
381
+ </div>
382
+ </div>
383
+ <div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
384
+ <p>© 2023 XML Analyzer Pro. All rights reserved.</p>
385
+ </div>
386
+ </div>
387
+ </footer>
388
+
389
+ <script>
390
+ // Cursor trail effect
391
+ document.addEventListener('DOMContentLoaded', function() {
392
+ const container = document.getElementById('cursor-trail-container');
393
+ const colors = ['#6366f1', '#8b5cf6', '#a855f7', '#d946ef'];
394
+
395
+ document.addEventListener('mousemove', function(e) {
396
+ // Create new trail element
397
+ const trail = document.createElement('div');
398
+ trail.className = 'cursor-trail';
399
+
400
+ // Random size and color
401
+ const size = Math.random() * 10 + 5;
402
+ const color = colors[Math.floor(Math.random() * colors.length)];
403
+
404
+ trail.style.width = `${size}px`;
405
+ trail.style.height = `${size}px`;
406
+ trail.style.backgroundColor = color;
407
+
408
+ // Position at cursor
409
+ trail.style.left = `${e.pageX}px`;
410
+ trail.style.top = `${e.pageY}px`;
411
+
412
+ // Add to container
413
+ container.appendChild(trail);
414
+
415
+ // Remove after animation
416
+ setTimeout(() => {
417
+ trail.style.opacity = '0';
418
+ trail.style.transform = 'translate(-50%, -50%) scale(2)';
419
+ setTimeout(() => trail.remove(), 200);
420
+ }, 500);
421
+ });
422
+
423
+ // Simulate progress bar animation
424
+ const progressBar = document.getElementById('analysis-progress');
425
+ let progress = 0;
426
+ const interval = setInterval(() => {
427
+ progress += Math.random() * 5;
428
+ if (progress >= 100) {
429
+ progress = 100;
430
+ clearInterval(interval);
431
+ }
432
+ progressBar.style.width = `${progress}%`;
433
+ }, 200);
434
+
435
+ // Add hover effects to XML tags
436
+ const xmlTags = document.querySelectorAll('.xml-tag');
437
+ xmlTags.forEach(tag => {
438
+ tag.addEventListener('mouseenter', () => {
439
+ tag.style.boxShadow = '0 4px 6px -1px rgba(99, 102, 241, 0.3)';
440
+ });
441
+ tag.addEventListener('mouseleave', () => {
442
+ tag.style.boxShadow = 'none';
443
+ });
444
+ });
445
+ });
446
+ </script>
447
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - <a href="https://enzostvs-deepsite.hf.space?remix=Alivee95/my-test-space" style="color: #fff;text-decoration: underline;" target="_blank" >🧬 Remix</a></p></body>
448
+ </html>