From 1e64cf02cd19552d751f0175377c3479213b8da6 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Thu, 30 Mar 2023 14:36:40 -0700
Subject: [PATCH 01/17] Add temp usage bar, fix disk percentage
---
src/components/widgets/resources/cputemp.jsx | 3 +++
src/components/widgets/resources/disk.jsx | 3 ++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/components/widgets/resources/cputemp.jsx b/src/components/widgets/resources/cputemp.jsx
index d5cb6100..b113ede2 100644
--- a/src/components/widgets/resources/cputemp.jsx
+++ b/src/components/widgets/resources/cputemp.jsx
@@ -2,6 +2,7 @@ import useSWR from "swr";
import { FaThermometerHalf } from "react-icons/fa";
import { BiError } from "react-icons/bi";
import { useTranslation } from "next-i18next";
+import UsageBar from "./usage-bar";
export default function CpuTemp({ expanded, units }) {
const { t } = useTranslation();
@@ -44,6 +45,7 @@ export default function CpuTemp({ expanded, units }) {
const unit = units === "imperial" ? "fahrenheit" : "celsius";
const mainTemp = (unit === "celsius") ? data.cputemp.main : data.cputemp.main * 5/9 + 32;
const maxTemp = (unit === "celsius") ? data.cputemp.max : data.cputemp.max * 5/9 + 32;
+ const percent = Math.round((mainTemp / maxTemp) * 100);
return (
From a2aab6451ca55ac2ad408f558f99fc59125abfb7 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Thu, 30 Mar 2023 14:40:24 -0700
Subject: [PATCH 02/17] lint
---
src/components/widgets/resources/cputemp.jsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/components/widgets/resources/cputemp.jsx b/src/components/widgets/resources/cputemp.jsx
index b113ede2..68e0d71d 100644
--- a/src/components/widgets/resources/cputemp.jsx
+++ b/src/components/widgets/resources/cputemp.jsx
@@ -2,6 +2,7 @@ import useSWR from "swr";
import { FaThermometerHalf } from "react-icons/fa";
import { BiError } from "react-icons/bi";
import { useTranslation } from "next-i18next";
+
import UsageBar from "./usage-bar";
export default function CpuTemp({ expanded, units }) {
From 9ff977b3394ebcbbba42c3ee8ee2bc347433d561 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 31 Mar 2023 08:00:14 -0700
Subject: [PATCH 03/17] Update [...service].js
---
src/pages/api/docker/status/[...service].js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js
index 2bcc0a8a..bb03a637 100644
--- a/src/pages/api/docker/status/[...service].js
+++ b/src/pages/api/docker/status/[...service].js
@@ -30,7 +30,7 @@ export default async function handler(req, res) {
});
}
- const containerNames = containers.map((container) => container.Names[0].replace(/^\//, ""));
+ const containerNames = containers.map((container) => container.Names[0]?.replace(/^\//, ""));
const containerExists = containerNames.includes(containerName);
if (containerExists) {
From 9303302ce70fe59217397ad79cc1efc6091806a6 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 31 Mar 2023 08:05:08 -0700
Subject: [PATCH 04/17] Update [...service].js
---
src/pages/api/docker/stats/[...service].js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js
index 0ca30f00..0f58d075 100644
--- a/src/pages/api/docker/stats/[...service].js
+++ b/src/pages/api/docker/stats/[...service].js
@@ -30,7 +30,7 @@ export default async function handler(req, res) {
});
}
- const containerNames = containers.map((container) => container.Names[0].replace(/^\//, ""));
+ const containerNames = containers.map((container) => container.Names[0]?.replace(/^\//, ""));
const containerExists = containerNames.includes(containerName);
if (containerExists) {
From 489132269e9508f9434e82f96265c2834f3168fe Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 31 Mar 2023 08:06:19 -0700
Subject: [PATCH 05/17] Update [...service].js
---
src/pages/api/docker/stats/[...service].js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js
index 0f58d075..e27cd35c 100644
--- a/src/pages/api/docker/stats/[...service].js
+++ b/src/pages/api/docker/stats/[...service].js
@@ -75,7 +75,7 @@ export default async function handler(req, res) {
}
}
- return res.status(200).send({
+ return res.status(404).send({
error: "not found",
});
} catch (e) {
From a90f178ee0f80b3ce2f6145d8babf2773743c73c Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 31 Mar 2023 08:44:27 -0700
Subject: [PATCH 06/17] Better handle multi-core temp
---
src/components/widgets/resources/cputemp.jsx | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/components/widgets/resources/cputemp.jsx b/src/components/widgets/resources/cputemp.jsx
index 68e0d71d..22eecb06 100644
--- a/src/components/widgets/resources/cputemp.jsx
+++ b/src/components/widgets/resources/cputemp.jsx
@@ -5,6 +5,10 @@ import { useTranslation } from "next-i18next";
import UsageBar from "./usage-bar";
+function convertToFahrenheit(t) {
+ return t * 5/9 + 32
+}
+
export default function CpuTemp({ expanded, units }) {
const { t } = useTranslation();
@@ -23,7 +27,7 @@ export default function CpuTemp({ expanded, units }) {
);
}
- if (!data) {
+ if (!data || !data.cputemp) {
return (
@@ -43,10 +47,16 @@ export default function CpuTemp({ expanded, units }) {
);
}
+ let minTemp = 0;
+ let mainTemp = data.cputemp.main;
+ if (data.cputemp.cores?.length) {
+ mainTemp = data.cputemp.cores.reduce((a, b) => a + b) / data.cputemp.cores.length;
+ minTemp = Math.min(...data.cputemp.cores);
+ }
const unit = units === "imperial" ? "fahrenheit" : "celsius";
- const mainTemp = (unit === "celsius") ? data.cputemp.main : data.cputemp.main * 5/9 + 32;
- const maxTemp = (unit === "celsius") ? data.cputemp.max : data.cputemp.max * 5/9 + 32;
- const percent = Math.round((mainTemp / maxTemp) * 100);
+ mainTemp = (unit === "celsius") ? mainTemp : convertToFahrenheit(mainTemp);
+ const maxTemp = (unit === "celsius") ? data.cputemp.max : convertToFahrenheit(data.cputemp.max);
+ const percent = Math.round(((mainTemp - minTemp) / (maxTemp - minTemp)) * 100);
return (
From 872237167d6fba64f572ad9b3f0214102d55b79f Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 31 Mar 2023 10:37:31 -0700
Subject: [PATCH 07/17] Uptime usage bar
---
src/components/widgets/resources/uptime.jsx | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/components/widgets/resources/uptime.jsx b/src/components/widgets/resources/uptime.jsx
index 2624bef1..3bf785b1 100644
--- a/src/components/widgets/resources/uptime.jsx
+++ b/src/components/widgets/resources/uptime.jsx
@@ -3,6 +3,8 @@ import { FaRegClock } from "react-icons/fa";
import { BiError } from "react-icons/bi";
import { useTranslation } from "next-i18next";
+import UsageBar from "./usage-bar";
+
export default function Uptime() {
const { t } = useTranslation();
@@ -45,6 +47,8 @@ export default function Uptime() {
else if (d > 0) uptime = `${d}${t("resources.days")} ${h}${t("resources.hours")}`;
else uptime = `${h}${t("resources.hours")} ${m}${t("resources.minutes")}`;
+ const percent = Math.round((new Date().getSeconds() / 60) * 100);
+
return (
@@ -55,6 +59,7 @@ export default function Uptime() {
{t("resources.uptime")}
+
);
From 4cb5241e94629438d2ff2ae2737da12ee2d8b5ca Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 31 Mar 2023 10:37:41 -0700
Subject: [PATCH 08/17] glances temp usage bar
---
src/components/widgets/glances/glances.jsx | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/components/widgets/glances/glances.jsx b/src/components/widgets/glances/glances.jsx
index b0acdaa0..e34c4933 100644
--- a/src/components/widgets/glances/glances.jsx
+++ b/src/components/widgets/glances/glances.jsx
@@ -66,9 +66,12 @@ export default function Widget({ options }) {
const unit = options.units === "imperial" ? "fahrenheit" : "celsius";
let mainTemp;
+ let maxTemp = 80;
if (options.cputemp && data.sensors) {
mainTemp = unit === "celsius" ? data.sensors.find(s => s.label.includes("cpu_thermal")).value : data.sensors.find(s => s.label.includes("cpu_thermal")).value * 5/9 + 32;
+ if (data.sensors.warning) maxTemp = data.sensors.warning;
}
+ const tempPercent = Math.round((mainTemp / maxTemp) * 100);
return (
@@ -122,6 +125,7 @@ export default function Widget({ options }) {
{t("glances.temp")}
+
)}
{options.uptime && data.uptime &&
@@ -134,6 +138,7 @@ export default function Widget({ options }) {