WebashalarForML commited on
Commit
03804a3
1 Parent(s): 9271a5e

Update templates/result.html

Browse files
Files changed (1) hide show
  1. templates/result.html +364 -365
templates/result.html CHANGED
@@ -1,365 +1,364 @@
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>Processed Results</title>
7
- <link
8
- href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
9
- rel="stylesheet"
10
- />
11
- <style>
12
- body {
13
- background-color: #1c1c1e;
14
- font-family: "Poppins", sans-serif;
15
- color: #f5f5f7;
16
- }
17
- h1 {
18
- color: #e5e5e7;
19
- text-align: center;
20
- /* margin-bottom: 20px; */
21
- }
22
- .cont {
23
- background-color: #2c2c2e;
24
- padding: 30px;
25
- border-radius: 15px;
26
- box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
27
- transition: 1s ease;
28
- }
29
- .section-title {
30
- color: #ff9f0a;
31
- font-size: 1.5rem;
32
- font-weight: bold;
33
- margin-top: 20px;
34
- border-bottom: 2px solid #ff9f0a;
35
- padding-bottom: 10px;
36
- }
37
- .card {
38
- background-color: #3a3a3c;
39
- color: #f5f5f7;
40
- border-radius: 10px;
41
- margin-bottom: 15px;
42
- padding: 15px;
43
- box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
44
- transition: background-color 0.3s ease;
45
- }
46
- .card:hover {
47
- background-color: #3a3a3c98;
48
- }
49
- .card-title {
50
- color: #ff9f0a;
51
- font-size: 1.2rem;
52
- font-weight: bold;
53
- }
54
- .card-text {
55
- color: #d1d1d6;
56
- font-size: 1rem;
57
- }
58
- ul {
59
- list-style-type: none;
60
- padding-left: 0;
61
- }
62
- li::before {
63
- content: "• ";
64
- color: #ff9f0a;
65
- }
66
- .btn-reset {
67
- background-color: #ff453a;
68
- color: white;
69
- border: none;
70
- padding: 10px 20px;
71
- border-radius: 5px;
72
- transition: background-color 0.3s ease;
73
- margin-bottom: 20px;
74
- }
75
- .btn-reset:hover {
76
- background-color: #e03a2f;
77
- }
78
- .alert {
79
- text-align: center;
80
- position: absolute;
81
- top: 0;
82
- right: 15%;
83
- /* right: 50%;
84
- transform: translateX(-50%); */
85
- }
86
- </style>
87
- </head>
88
- <body>
89
- <div class="container">
90
- {% with messages = get_flashed_messages() %} {% if messages %}
91
- <div class="alert alert-success mt-4 " id="flash-message">
92
- {{ messages[0] }}
93
- </div>
94
- {% endif %} {% endwith %}
95
-
96
- <!-- <div class="alert alert-success mt-4 " id="flash-message">
97
- sfdsdaa asfcsd sdgsfr sdfgfd jhijunb hun hjujbuy hgbuuuu jjf
98
- </div> -->
99
- </div>
100
- <div class="container cont mt-5">
101
- <div class="d-flex align-items-center justify-content-between">
102
- <h1>Processed Data</h1>
103
- <!-- Reset Button -->
104
- <div class="text-center mt-4">
105
- <a href="{{ url_for('reset_upload') }}" class="btn btn-reset"
106
- >Reset & Upload New File</a
107
- >
108
- </div>
109
- </div>
110
- {% if parsed_data %}
111
- <!-- Personal Information Section -->
112
- <section>
113
- <h3 class="section-title">Personal Information</h3>
114
- <div class="row">
115
- <div class="col-md-12">
116
- <div class="card">
117
- <div class="card-body">
118
- <div class="d-flex">
119
- <h5 class="card-title">Name:</h5>
120
- <p class="card-text">
121
- &nbsp;{{ parsed_data.personal.name or 'Not Found' }}
122
- </p>
123
- </div>
124
- <div class="d-flex">
125
- <h5 class="card-title">Contact:</h5>
126
- <p class="card-text">
127
- &nbsp;{{ parsed_data.personal.contact or 'Not Found' }}
128
- {% if parsed_data.personal.invalid_contact %}
129
- &nbsp; - ({{ parsed_data.personal.invalid_contact }})
130
- {% endif %}
131
- </p>
132
- </div>
133
- <div class="d-flex">
134
- <h5 class="card-title">Email:</h5>
135
- <p class="card-text">
136
- &nbsp;{{ parsed_data.personal.email or 'Not Found' }}
137
- {% if parsed_data.personal.invalid_email %}
138
- &nbsp; ({{ parsed_data.personal.invalid_email }})
139
- {% endif %}
140
- </p>
141
- </div>
142
- <div class="d-flex">
143
- <h5 class="card-title">Location:</h5>
144
- <p class="card-text">
145
- &nbsp;{{ parsed_data.personal.location or 'Not Found' }}
146
- </p>
147
- </div>
148
- <div class="d-fle">
149
- <h5 class="card-title">LinkedIn:</h5>
150
- <p class="card-text">
151
- {% if parsed_data.personal.linkedin != 'Not found' %}
152
- <ul>
153
- {% for lnk in parsed_data.personal.linkedin %}
154
- <li>&nbsp;<a href="{{ lnk }}" target="_blank">{{ lnk }}</a></li>
155
- {% endfor %}
156
- </ul>
157
- {% else %}
158
- Not Found
159
- {% endif %}
160
- </p>
161
- </div>
162
- <div class="d-fle">
163
- <h5 class="card-title">GitHub:</h5>
164
- <p class="card-text">
165
- {% if parsed_data.personal.github != 'Not found' %}
166
- <ul>
167
- {% for git in parsed_data.personal.github %}
168
- <li>&nbsp; <a href="{{ git }}" target="_blank">{{ git }}</a></li>
169
- {% endfor %}
170
- </ul>
171
- {% else %}
172
- Not Found
173
- {% endif %}
174
- </p>
175
- </div>
176
- <h5 class="card-title">Other Links:</h5>
177
- {% if parsed_data.personal.other_links %}
178
- <ul>
179
- {% for link in parsed_data.personal.other_links %}
180
- <li><a href="{{ link }}" target="_blank">{{ link }}</a></li>
181
- {% endfor %}
182
- </ul>
183
- {% else %}
184
- <p>Not Found</p>
185
- {% endif %}
186
- </div>
187
- </div>
188
- </div>
189
- </div>
190
- </section>
191
-
192
-
193
- <!-- Professional Information Section -->
194
- <section>
195
- <h3 class="section-title">Professional Information</h3>
196
- <div class="row">
197
- <!-- Technical Skills -->
198
- <div class="col-md-6 col-lg-4 mb-4">
199
- <div class="card">
200
- <div class="card-body">
201
- <h5 class="card-title">Technical Skills:</h5>
202
- {% if parsed_data.professional.technical_skills %}
203
- <ul>
204
- {% for skill in parsed_data.professional.technical_skills %}
205
- <li>{{ skill }}</li>
206
- {% endfor %}
207
- </ul>
208
- {% else %}
209
- <p>No technical skills found</p>
210
- {% endif %}
211
- </div>
212
- </div>
213
- </div>
214
- <!-- Tools -->
215
- <div class="col-md-6 col-lg-4 mb-4">
216
- <div class="card">
217
- <div class="card-body">
218
- <h5 class="card-title">Tools:</h5>
219
- {% if parsed_data.professional.tools %}
220
- <ul>
221
- {% for tool in parsed_data.professional.tools %}
222
- <li>{{ tool }}</li>
223
- {% endfor %}
224
- </ul>
225
- {% else %}
226
- <p>No tools found</p>
227
- {% endif %}
228
- </div>
229
- </div>
230
- </div>
231
- <!-- Soft Skills -->
232
- <div class="col-md-6 col-lg-4 mb-4">
233
- <div class="card">
234
- <div class="card-body">
235
- <h5 class="card-title">Soft Skills:</h5>
236
- {% if parsed_data.professional.non_technical_skills %}
237
- <ul>
238
- {% for skill in parsed_data.professional.non_technical_skills
239
- %}
240
- <li>{{ skill }}</li>
241
- {% endfor %}
242
- </ul>
243
- {% else %}
244
- <p>No soft skills found</p>
245
- {% endif %}
246
- </div>
247
- </div>
248
- </div>
249
- </div>
250
- </section>
251
-
252
- <!-- Experience Section -->
253
- <section>
254
- <h3 class="card-title p-3">Experience:</h3>
255
- <div class="row">
256
- <div class="col-md-12">
257
- <div class="card">
258
- <div class="card-body">
259
- <div class="d-flex">
260
- <h5 class="card-title">Company:</h5>
261
- <p class="card-text">
262
- &nbsp;{{ parsed_data.professional.experience[0].company or
263
- 'Not Found' }}
264
- </p>
265
- </div>
266
- <div class="d-flex">
267
- <h5 class="card-title">Projects:</h5>
268
- <p class="card-text">
269
- &nbsp;{{ parsed_data.professional.experience[0].projects or
270
- 'Not Found' }}
271
- </p>
272
- </div>
273
- <div class="d-flex">
274
- <h5 class="card-title">Role:</h5>
275
- <p class="card-text">
276
- &nbsp;{{ parsed_data.professional.experience[0].role or 'Not
277
- Found' }}
278
- </p>
279
- </div>
280
- <div class="d-flex">
281
- <h5 class="card-title">Years of Experience:</h5>
282
- <p class="card-text">
283
- &nbsp;{{ parsed_data.professional.experience[0].years or
284
- 'Not Found' }}
285
- </p>
286
- </div>
287
- <h5 class="card-title">Project Experience:</h5>
288
- {% if parsed_data.professional.experience[0].project_experience
289
- %}
290
- <ul>
291
- {% for project in
292
- parsed_data.professional.experience[0].project_experience %}
293
- <li>{{ project }}</li>
294
- {% endfor %}
295
- </ul>
296
- {% else %}
297
- <p>Not Found</p>
298
- {% endif %}
299
- </div>
300
- </div>
301
- </div>
302
- </div>
303
- </section>
304
-
305
- <!-- Education Section -->
306
- <section>
307
- <h3 class="card-title p-3">Education:</h3>
308
- <div class="row">
309
- <div class="col-md-12">
310
- <div class="card">
311
- <div class="card-body">
312
- <div class="d-flex">
313
- <h5 class="card-title">Qualification:</h5>
314
- <p class="card-text">
315
- &nbsp;{{ parsed_data.professional.education[0].qualification
316
- }}
317
- </p>
318
- </div>
319
- <div class="d-flex">
320
- <h5 class="card-title">University:</h5>
321
- <p class="card-text">
322
- &nbsp;{{ parsed_data.professional.education[0].university or
323
- 'Not Found' }}
324
- </p>
325
- </div>
326
- <div class="d-flex">
327
- <h5 class="card-title">Course:</h5>
328
- <p class="card-text">
329
- &nbsp;{{ parsed_data.professional.education[0].course or
330
- 'Not Found' }}
331
- </p>
332
- </div>
333
- <div class="d-flex">
334
- <h5 class="card-title">Certificate:</h5>
335
- <p class="card-text">
336
- &nbsp;{{ parsed_data.professional.education[0].certificate
337
- or 'Not Found' }}
338
- </p>
339
- </div>
340
- </div>
341
- </div>
342
- </div>
343
- </div>
344
- </section>
345
-
346
-
347
-
348
- {% else %}
349
- <p>No data available. Please process a file.</p>
350
- {% endif %}
351
- </div>
352
-
353
- <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
354
- <script>
355
- setTimeout(function () {
356
- let flashMessage = document.getElementById("flash-message");
357
- if (flashMessage) {
358
- flashMessage.style.transition = "opacity 1s ease";
359
- flashMessage.style.opacity = 0;
360
- setTimeout(() => flashMessage.remove(), 1000);
361
- }
362
- }, 3000);
363
- </script>
364
- </body>
365
- </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>Processed Results</title>
7
+ <link
8
+ href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
9
+ rel="stylesheet"
10
+ />
11
+ <style>
12
+ body {
13
+ background-color: #1c1c1e;
14
+ font-family: "Poppins", sans-serif;
15
+ color: #f5f5f7;
16
+ }
17
+ h1 {
18
+ color: #e5e5e7;
19
+ text-align: center;
20
+ /* margin-bottom: 20px; */
21
+ }
22
+ .cont {
23
+ background-color: #2c2c2e;
24
+ padding: 30px;
25
+ border-radius: 15px;
26
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
27
+ transition: 1s ease;
28
+ }
29
+ .section-title {
30
+ color: #ff9f0a;
31
+ font-size: 1.5rem;
32
+ font-weight: bold;
33
+ margin-top: 20px;
34
+ border-bottom: 2px solid #ff9f0a;
35
+ padding-bottom: 10px;
36
+ }
37
+ .card {
38
+ background-color: #3a3a3c;
39
+ color: #f5f5f7;
40
+ border-radius: 10px;
41
+ margin-bottom: 15px;
42
+ padding: 15px;
43
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
44
+ transition: background-color 0.3s ease;
45
+ }
46
+ .card:hover {
47
+ background-color: #3a3a3c98;
48
+ }
49
+ .card-title {
50
+ color: #ff9f0a;
51
+ font-size: 1.2rem;
52
+ font-weight: bold;
53
+ }
54
+ .card-text {
55
+ color: #d1d1d6;
56
+ font-size: 1rem;
57
+ }
58
+ ul {
59
+ list-style-type: none;
60
+ padding-left: 0;
61
+ }
62
+ li::before {
63
+ content: "• ";
64
+ color: #ff9f0a;
65
+ }
66
+ .btn-reset {
67
+ background-color: #ff453a;
68
+ color: white;
69
+ border: none;
70
+ padding: 10px 20px;
71
+ border-radius: 5px;
72
+ transition: background-color 0.3s ease;
73
+ margin-bottom: 20px;
74
+ }
75
+ .btn-reset:hover {
76
+ background-color: #e03a2f;
77
+ }
78
+ .alert {
79
+ text-align: center;
80
+ position: absolute;
81
+ top: 0;
82
+ right: 15%;
83
+ /* right: 50%;
84
+ transform: translateX(-50%); */
85
+ }
86
+ </style>
87
+ </head>
88
+ <body>
89
+ <div class="container">
90
+ {% with messages = get_flashed_messages() %} {% if messages %}
91
+ <div class="alert alert-success mt-4 " id="flash-message">
92
+ {{ messages[0] }}
93
+ </div>
94
+ {% endif %} {% endwith %}
95
+
96
+ <!-- <div class="alert alert-success mt-4 " id="flash-message">
97
+ sfdsdaa asfcsd sdgsfr sdfgfd jhijunb hun hjujbuy hgbuuuu jjf
98
+ </div> -->
99
+ </div>
100
+ <div class="container cont mt-5">
101
+ <div class="d-flex align-items-center justify-content-between">
102
+ <h1>Processed Data</h1>
103
+ <!-- Reset Button -->
104
+ <div class="text-center mt-4">
105
+ <a href="{{ url_for('reset_upload') }}" class="btn btn-reset"
106
+ >Reset & Upload New File</a
107
+ >
108
+ </div>
109
+ </div>
110
+ {% if parsed_data %}
111
+ <!-- Personal Information Section -->
112
+ <section>
113
+ <h3 class="section-title">Personal Information</h3>
114
+ <div class="row">
115
+ <div class="col-md-12">
116
+ <div class="card">
117
+ <div class="card-body">
118
+ <div class="d-flex">
119
+ <h5 class="card-title">Name:</h5>
120
+ <p class="card-text">
121
+ &nbsp;{{ parsed_data.personal.name or 'Not Found' }}
122
+ </p>
123
+ </div>
124
+ <div class="d-flex">
125
+ <h5 class="card-title">Contact:</h5>
126
+ <p class="card-text">
127
+ &nbsp;{{ parsed_data.personal.contact or 'Not Found' }}
128
+ {% if parsed_data.personal.invalid_contact %}
129
+ &nbsp; - ({{ parsed_data.personal.invalid_contact }})
130
+ {% endif %}
131
+ </p>
132
+ </div>
133
+ <div class="d-flex">
134
+ <h5 class="card-title">Email:</h5>
135
+ <p class="card-text">
136
+ &nbsp;{{ parsed_data.personal.email or 'Not Found' }}
137
+ {% if parsed_data.personal.invalid_email %}
138
+ &nbsp; ({{ parsed_data.personal.invalid_email }})
139
+ {% endif %}
140
+ </p>
141
+ </div>
142
+ <div class="d-flex">
143
+ <h5 class="card-title">Location:</h5>
144
+ <p class="card-text">
145
+ &nbsp;{{ parsed_data.personal.location or 'Not Found' }}
146
+ </p>
147
+ </div>
148
+ <div class="d-fle">
149
+ <h5 class="card-title">LinkedIn:</h5>
150
+ <p class="card-text">
151
+ {% if parsed_data.personal.linkedin != 'Not found' %}
152
+ <ul>
153
+ {% for lnk in parsed_data.personal.linkedin %}
154
+ <li>&nbsp;<a href="{{ lnk }}" target="_blank">{{ lnk }}</a></li>
155
+ {% endfor %}
156
+ </ul>
157
+ {% else %}
158
+ Not Found
159
+ {% endif %}
160
+ </p>
161
+ </div>
162
+ <div class="d-fle">
163
+ <h5 class="card-title">GitHub:</h5>
164
+ <p class="card-text">
165
+ {% if parsed_data.personal.github != 'Not found' %}
166
+ <ul>
167
+ {% for git in parsed_data.personal.github %}
168
+ <li>&nbsp; <a href="{{ git }}" target="_blank">{{ git }}</a></li>
169
+ {% endfor %}
170
+ </ul>
171
+ {% else %}
172
+ Not Found
173
+ {% endif %}
174
+ </p>
175
+ </div>
176
+ <h5 class="card-title">Other Links:</h5>
177
+ {% if parsed_data.personal.other_links %}
178
+ <ul>
179
+ {% for link in parsed_data.personal.other_links %}
180
+ <li><a href="{{ link }}" target="_blank">{{ link }}</a></li>
181
+ {% endfor %}
182
+ </ul>
183
+ {% else %}
184
+ <p>Not Found</p>
185
+ {% endif %}
186
+ </div>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </section>
191
+
192
+
193
+ <!-- Professional Information Section -->
194
+ <section>
195
+ <h3 class="section-title">Professional Information</h3>
196
+ <div class="row">
197
+ <!-- Technical Skills -->
198
+ <div class="col-md-6 col-lg-4 mb-4">
199
+ <div class="card">
200
+ <div class="card-body">
201
+ <h5 class="card-title">Technical Skills:</h5>
202
+ {% if parsed_data.professional.technical_skills and parsed_data.professional.technical_skills is iterable and parsed_data.professional.technical_skills is not string %}
203
+ <ul>
204
+ {% for skill in parsed_data.professional.technical_skills %}
205
+ <li>{{ skill }}</li>
206
+ {% endfor %}
207
+ </ul>
208
+ {% else %}
209
+ <p>No technical skills found</p>
210
+ {% endif %}
211
+ </div>
212
+ </div>
213
+ </div>
214
+ <!-- Tools -->
215
+ <div class="col-md-6 col-lg-4 mb-4">
216
+ <div class="card">
217
+ <div class="card-body">
218
+ <h5 class="card-title">Tools:</h5>
219
+ {% if parsed_data.professional.tools and parsed_data.professional.tools is iterable and parsed_data.professional.tools is not string %}
220
+ <ul>
221
+ {% for tool in parsed_data.professional.tools %}
222
+ <li>{{ tool }}</li>
223
+ {% endfor %}
224
+ </ul>
225
+ {% else %}
226
+ <p>No tools found</p>
227
+ {% endif %}
228
+ </div>
229
+ </div>
230
+ </div>
231
+ <!-- Soft Skills -->
232
+ <div class="col-md-6 col-lg-4 mb-4">
233
+ <div class="card">
234
+ <div class="card-body">
235
+ <h5 class="card-title">Soft Skills:</h5>
236
+ {% if parsed_data.professional.non_technical_skills and parsed_data.professional.non_technical_skills is iterable and parsed_data.professional.non_technical_skills is not string %}
237
+ <ul>
238
+ {% for skill in parsed_data.professional.non_technical_skills
239
+ %}
240
+ <li>{{ skill }}</li>
241
+ {% endfor %}
242
+ </ul>
243
+ {% else %}
244
+ <p>No soft skills found</p>
245
+ {% endif %}
246
+ </div>
247
+ </div>
248
+ </div>
249
+ </div>
250
+ </section>
251
+
252
+ <!-- Experience Section -->
253
+ <section>
254
+ <h3 class="card-title p-3">Experience:</h3>
255
+ <div class="row">
256
+ <div class="col-md-12">
257
+ <div class="card">
258
+ <div class="card-body">
259
+ <div class="d-flex">
260
+ <h5 class="card-title">Company:</h5>
261
+ <p class="card-text">
262
+ &nbsp;{{ parsed_data.professional.experience[0].company or
263
+ 'Not Found' }}
264
+ </p>
265
+ </div>
266
+ <div class="d-flex">
267
+ <h5 class="card-title">Projects:</h5>
268
+ <p class="card-text">
269
+ &nbsp;{{ parsed_data.professional.experience[0].projects or
270
+ 'Not Found' }}
271
+ </p>
272
+ </div>
273
+ <div class="d-flex">
274
+ <h5 class="card-title">Role:</h5>
275
+ <p class="card-text">
276
+ &nbsp;{{ parsed_data.professional.experience[0].role or 'Not
277
+ Found' }}
278
+ </p>
279
+ </div>
280
+ <div class="d-flex">
281
+ <h5 class="card-title">Years of Experience:</h5>
282
+ <p class="card-text">
283
+ &nbsp;{{ parsed_data.professional.experience[0].years or
284
+ 'Not Found' }}
285
+ </p>
286
+ </div>
287
+ <h5 class="card-title">Project Experience:</h5>
288
+ {% if parsed_data.professional.experience[0].project_experience and parsed_data.professional.experience[0].project_experience is iterable and parsed_data.professional.experience[0].project_experience is not string %}
289
+ <ul>
290
+ {% for project in
291
+ parsed_data.professional.experience[0].project_experience %}
292
+ <li>{{ project }}</li>
293
+ {% endfor %}
294
+ </ul>
295
+ {% else %}
296
+ <p>Not Found</p>
297
+ {% endif %}
298
+ </div>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ </section>
303
+
304
+ <!-- Education Section -->
305
+ <section>
306
+ <h3 class="card-title p-3">Education:</h3>
307
+ <div class="row">
308
+ <div class="col-md-12">
309
+ <div class="card">
310
+ <div class="card-body">
311
+ <div class="d-flex">
312
+ <h5 class="card-title">Qualification:</h5>
313
+ <p class="card-text">
314
+ &nbsp;{{ parsed_data.professional.education[0].qualification
315
+ }}
316
+ </p>
317
+ </div>
318
+ <div class="d-flex">
319
+ <h5 class="card-title">University:</h5>
320
+ <p class="card-text">
321
+ &nbsp;{{ parsed_data.professional.education[0].university or
322
+ 'Not Found' }}
323
+ </p>
324
+ </div>
325
+ <div class="d-flex">
326
+ <h5 class="card-title">Course:</h5>
327
+ <p class="card-text">
328
+ &nbsp;{{ parsed_data.professional.education[0].course or
329
+ 'Not Found' }}
330
+ </p>
331
+ </div>
332
+ <div class="d-flex">
333
+ <h5 class="card-title">Certificate:</h5>
334
+ <p class="card-text">
335
+ &nbsp;{{ parsed_data.professional.education[0].certificate
336
+ or 'Not Found' }}
337
+ </p>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </section>
344
+
345
+
346
+
347
+ {% else %}
348
+ <p>No data available. Please process a file.</p>
349
+ {% endif %}
350
+ </div>
351
+
352
+ <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
353
+ <script>
354
+ setTimeout(function () {
355
+ let flashMessage = document.getElementById("flash-message");
356
+ if (flashMessage) {
357
+ flashMessage.style.transition = "opacity 1s ease";
358
+ flashMessage.style.opacity = 0;
359
+ setTimeout(() => flashMessage.remove(), 1000);
360
+ }
361
+ }, 3000);
362
+ </script>
363
+ </body>
364
+ </html>