Skip to content

Commit 31e598a

Browse files
fix: cpu frequency progress bar issue resolved
1 parent c343d6b commit 31e598a

5 files changed

Lines changed: 31 additions & 11 deletions

File tree

src/static/js/refreshCardData.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,33 @@ async function fetchSystemData(apiEndpoint) {
5959
}
6060

6161
// Update card content and bar width based on fetched data
62-
function updateCard(cardSelector, dataKey, data, unit = '', barSelector = null) {
62+
function updateCard(cardSelector, dataKey, data, unit = '', barSelector = null, maxDataKey = null) {
6363
const cardElement = document.querySelector(cardSelector);
6464
if (!cardElement) return;
6565

66-
const dataValue = data?.[dataKey];
66+
let dataValue = data?.[dataKey];
6767
cardElement.querySelector('.card-text').textContent = dataValue ? `${dataValue}${unit}` : 'Data not available';
6868

6969
// Update the bar width if a bar selector is provided
7070
if (barSelector) {
7171
const barElement = cardElement.querySelector(barSelector);
7272
if (!barElement) return;
7373

74-
const percentage = parseFloat(dataValue);
74+
let percentage = parseFloat(dataValue);
75+
7576
if (!isNaN(percentage)) {
77+
// If a maxDataKey is provided, calculate the percentage based on the max value
78+
if (maxDataKey) {
79+
const maxDataValue = parseFloat(data?.[maxDataKey]);
80+
if (!isNaN(maxDataValue) && maxDataValue > 0) {
81+
percentage = (percentage / maxDataValue) * 100;
82+
}
83+
}
84+
85+
// Ensure the percentage doesn't exceed 100%
86+
percentage = Math.min(percentage, 100);
87+
88+
// Set the bar width based on the percentage
7689
barElement.style.width = `${percentage}%`;
7790
}
7891
}
@@ -86,7 +99,7 @@ async function refreshData() {
8699
updateCard('.bg-disk', 'disk_percent', data, '%', '.disk-bar');
87100
updateCard('.cpu-temp-card', 'current_temp', data, ' °C', '.temp-bar');
88101
updateCard('.bg-memory', 'memory_percent', data, '%', '.memory-usage-bar');
89-
updateCard('.cpu-frequency-card', 'cpu_frequency', data, ' MHz', '.frequency-bar');
102+
updateCard('.cpu-frequency-card', 'cpu_frequency', data, ' MHz', '.frequency-bar', 'cpu_max_frequency');
90103
updateCard('.cpu-usage-card', 'cpu_percent', data, '%', '.cpu-usage-bar');
91104
updateCard('.network-received', 'network_received', data, 'MB');
92105
updateCard('.network-sent', 'network_sent', data, 'MB');
@@ -120,7 +133,7 @@ function updateColorBars() {
120133
limits = [maxValue * limits[0]/100, maxValue * limits[1]/100];
121134
}
122135
}
123-
136+
// console.log("card_value", card_value, limits)
124137
bar.classList.remove('low', 'medium', 'high');
125138
// Apply the appropriate class based on the limits
126139
if (card_value <= limits[0]) {
@@ -130,6 +143,7 @@ function updateColorBars() {
130143
} else {
131144
bar.classList.add('high');
132145
}
146+
133147
});
134148
}
135149

src/templates/base/base.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515
</head>
1616

1717
<body>{% include 'ext/navbar.html' %}
18-
<div class="container">{% block content %}{% endblock %} </div>
18+
<div class="container">
19+
{% block content %}
20+
{% endblock %}
21+
</div>
1922
<!-- jQuery -->
2023
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
2124
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>

src/templates/card_comp/cpu/frequency.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33
data-cpu-max-frequency="{{ system_info['cpu_max_frequency'] }}">
44
<div class="card-body d-flex flex-column align-items-center">
55
<h5 class="card-title mb-3">CPU Frequency <i class="fas fa-microchip"></i></h5>
6-
<p class="card-text fs-4 frequency-value" data-bs-toggle="tooltip" title="Maximum CPU frequency {{ system_info['cpu_max_frequency'] }} MHz">
7-
{{ system_info['cpu_frequency'] }} MHz
6+
<p class="card-text fs-4 frequency-value" data-bs-toggle="tooltip"
7+
title="Maximum CPU frequency {{ system_info['cpu_max_frequency'] }} MHz">
8+
{{ system_info['cpu_frequency'] }}
89
</p>
910
<div class="frequency-indicator mt-3">
10-
<div class="frequency-bar" style="width: {{ 100 * system_info['cpu_frequency'] / (system_info['cpu_max_frequency'] if system_info['cpu_max_frequency'] != 0 else 1) }}%;"></div>
11+
<div class="frequency-bar"
12+
style="width: {{ 100 * system_info['cpu_frequency'] / (system_info['cpu_max_frequency'] if system_info['cpu_max_frequency'] != 0 else 1) }}%;">
13+
</div>
1114
</div>
1215
<p class="card-text fs-6 mt-2">Max Frequency: {{ system_info['cpu_max_frequency'] }} MHz</p>
1316
</div>
1417
</div>
15-
</div>
18+
</div>
File renamed without changes.

src/templates/dashboard/developer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
{% include 'card_comp/battery/percentage.html' %}
1414
{% include 'card_comp/cpu/core.html' %}
1515
{% include 'card_comp/cpu/current_temp.html' %}
16-
<!-- {% include 'card_comp/other/boot_time.html' %} -->
16+
<!-- {% include 'card_comp/other/server_time.html' %} -->
1717
{% include 'card_comp/cpu/frequency.html' %}
1818
{% include 'card_comp/cpu/usages.html' %}
1919
{% include 'card_comp/memory/usage.html' %}

0 commit comments

Comments
 (0)