From 0fabacec36ec64b5101fbd028c1e1b45f1c82e5e Mon Sep 17 00:00:00 2001
From: stopyz <stopyz@gmail.com>
Date: Sun, 9 Jul 2023 17:27:32 +0200
Subject: [PATCH] Dashboard App for ACF

---
 app/acf-util/welcome-html.lsp   | 22 ++++++++++++++++++----
 css/dashboard-pages/welcome.css | 26 +++++++++++++++++++++++---
 2 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/app/acf-util/welcome-html.lsp b/app/acf-util/welcome-html.lsp
index 34c3b07..bb769ed 100644
--- a/app/acf-util/welcome-html.lsp
+++ b/app/acf-util/welcome-html.lsp
@@ -267,17 +267,31 @@ end
 			</p>
 			<p id="cpuTemp" class="dashboard-infos dash-info-temp">
 			<%
-			if (tonumber(proc.value.temp.value)) ~= nil then
-			print (math.floor(tonumber(proc.value.temp.value / 1000)) .. "°C")
+			if ((tonumber(proc.value.temp.value)) ~= nil) and ((tonumber(proc.value.temp.value)) < 50000) then
+			print ("<span class='normal'>" .. math.floor(tonumber(proc.value.temp.value / 1000)) .. "</span>°C")
+			elseif ((tonumber(proc.value.temp.value)) ~= nil) and ((tonumber(proc.value.temp.value)) >= 50000) then
+			print ("<span class='medium'>" .. math.floor(tonumber(proc.value.temp.value / 1000)) .. "</span>°C")
+			elseif((tonumber(proc.value.temp.value)) ~= nil) and ((tonumber(proc.value.temp.value)) >= 70000) then
+			print ("<span class='hot'>" .. math.floor(tonumber(proc.value.temp.value / 1000)) .. "</span>°C")
 			else
-			print ("NaN°C")
+			print ("<span class='nan'>NaN</span>°C")
 			end
 			%>
 			<script type="application/javascript" defer>
 			async function load() {
 			let url = '<%= html.html_escape(page_info.script .. "/alpine-baselayout/health/proc?viewtype=json") %>';
 			let obj = await (await fetch(url)).json();
-			document.getElementById("cpuTemp").innerHTML = ((obj.value.temp.value) / 1000) + "°C";
+			
+			if ((obj.value.temp.value) < 50000) {
+			document.getElementById("cpuTemp").innerHTML = ("<span class='normal'>" + (obj.value.temp.value) / 1000) + "</span>°C";
+			} else if ((obj.value.temp.value) >= 50000) {
+			document.getElementById("cpuTemp").innerHTML = ("<span class='medium'>" + (obj.value.temp.value) / 1000) + "</span>°C";
+			} else if ((obj.value.temp.value) >= 50000) {
+			document.getElementById("cpuTemp").innerHTML = ("<span class='hot'>" + (obj.value.temp.value) / 1000) + "</span>°C";
+			} else {
+			document.getElementById("cpuTemp").innerHTML = ("<span class='nan'>" + (obj.value.temp.value) / 1000) + "</span>°C";
+			};
+			
 			};
 			
 		 setInterval(load, 1000);
diff --git a/css/dashboard-pages/welcome.css b/css/dashboard-pages/welcome.css
index 1a9da85..06fd300 100644
--- a/css/dashboard-pages/welcome.css
+++ b/css/dashboard-pages/welcome.css
@@ -265,13 +265,33 @@
 }
 
 .dashboard-infos.dash-info-temp {
-    font-size: 3rem;
+    font-size: 1.5rem;
     margin: 1rem auto 0;
     float: left;
     border-top: 3px solid #f1f1f1;
     color: #cdcdcd;
     width: 33.33% !important;
-    padding: 2rem 0 0;
+    font-weight: 900;
+    padding: 1rem 0 0;
+}
+
+#cpuTemp span {
+    font-size: 3rem !important;
+    position: relative;
+    top: 1rem;
+    font-weight: bold !important;
+}
+
+.normal {
+    color: #006787;
+}
+
+.medium {
+    color: #ffd18a;
+}
+
+.hot {
+    color: #ff8383;
 }
 
 .data-block.data-system-up-time {
@@ -481,4 +501,4 @@
     border-radius: 2.5px;
     font-weight: bold;
     text-align: justify;
-}
\ No newline at end of file
+}
-- 
GitLab