Skip to content

Commit e81c758

Browse files
committed
Update scripts.js
1 parent 7e72813 commit e81c758

File tree

1 file changed

+51
-52
lines changed

1 file changed

+51
-52
lines changed

assets/js/scripts.js

Lines changed: 51 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -155,74 +155,73 @@ if (check_all) {
155155
/**
156156
* Ajax panels
157157
*/
158-
document.addEventListener('DOMContentLoaded', function () {
159-
function updateProgressBar(progress_element, percentage) {
160-
const type = progress_element.dataset.type;
161-
let color_class;
162-
163-
if (type === 'higher') {
164-
if (percentage >= 80) {
165-
color_class = 'bg-green-600';
166-
} else if (percentage >= 50) {
167-
color_class = 'bg-orange-600';
168-
} else {
169-
color_class = 'bg-red-600';
170-
}
158+
const update_progress_bar = (progress_element, percentage) => {
159+
let color_class;
160+
161+
if (progress_element.dataset.type === 'higher') {
162+
if (percentage >= 80) {
163+
color_class = 'bg-green-600';
164+
} else if (percentage >= 50) {
165+
color_class = 'bg-orange-600';
171166
} else {
172-
if (percentage <= 50) {
173-
color_class = 'bg-green-600';
174-
} else if (percentage <= 80) {
175-
color_class = 'bg-orange-600';
176-
} else {
177-
color_class = 'bg-red-600';
178-
}
167+
color_class = 'bg-red-600';
168+
}
169+
} else {
170+
if (percentage <= 50) {
171+
color_class = 'bg-green-600';
172+
} else if (percentage <= 80) {
173+
color_class = 'bg-orange-600';
174+
} else {
175+
color_class = 'bg-red-600';
179176
}
180-
181-
progress_element.classList.remove('bg-red-600', 'bg-orange-600', 'bg-green-600');
182-
progress_element.classList.add(color_class);
183-
progress_element.style.width = percentage + '%';
184177
}
185178

186-
function updateElement(panel_element, key, value) {
187-
const element = panel_element.querySelector(`[data-value="${key}"]`);
179+
progress_element.classList.remove('bg-red-600', 'bg-orange-600', 'bg-green-600');
180+
progress_element.classList.add(color_class);
181+
progress_element.style.width = percentage + '%';
182+
}
188183

189-
if (!element) return;
184+
const update_panel_data = (panel_element, key, value) => {
185+
const element = panel_element.querySelector(`[data-value="${key}"]`);
190186

191-
if (Array.isArray(value)) {
192-
element.textContent = value[0];
193-
const progress_element = document.getElementById(key + '_progress');
194-
if (progress_element) {
195-
updateProgressBar(progress_element, value[1]);
196-
}
197-
} else {
198-
element.textContent = value;
187+
if (!element) return;
188+
189+
if (Array.isArray(value)) {
190+
element.textContent = value[0];
191+
const progress_element = document.getElementById(key + '_progress');
192+
if (progress_element) {
193+
update_progress_bar(progress_element, value[1]);
199194
}
195+
} else {
196+
element.textContent = value;
200197
}
198+
}
201199

202-
function refreshPanels() {
203-
ajax('panels', function (request) {
204-
if (request.currentTarget.status >= 200 && request.currentTarget.status < 400) {
205-
const data = JSON.parse(request.currentTarget.response);
200+
const refresh_panels = () => {
201+
ajax('panels', function (request) {
202+
if (request.currentTarget.status >= 200 && request.currentTarget.status < 400) {
203+
const data = JSON.parse(request.currentTarget.response);
206204

207-
for (const section_key in data) {
208-
const panel_element = document.getElementById(section_key + '_panel');
205+
for (const section_key in data) {
206+
const panel_element = document.getElementById(section_key + '_panel');
209207

210-
if (panel_element) {
211-
const section_data = data[section_key];
212-
for (const item_key in section_data) {
213-
updateElement(panel_element, item_key, section_data[item_key]);
214-
}
208+
if (panel_element) {
209+
const section_data = data[section_key];
210+
for (const item_key in section_data) {
211+
update_panel_data(panel_element, item_key, section_data[item_key]);
215212
}
216213
}
217-
} else {
218-
console.error('Error fetching panel data.');
219214
}
220-
});
221-
}
215+
} else {
216+
console.error('Error fetching panel data.');
217+
}
218+
});
219+
}
222220

221+
document.addEventListener('DOMContentLoaded', function () {
223222
if (ajax_panels) {
224-
refreshPanels();
225-
setInterval(refreshPanels, panels_refresh_interval);
223+
refresh_panels();
224+
setInterval(refresh_panels, panels_refresh_interval);
226225
}
227226
});
228227

0 commit comments

Comments
 (0)