From f0ffdf929665bb79da4c83f9e9e7b5ad3192e435 Mon Sep 17 00:00:00 2001 From: Gamer Date: Fri, 17 Apr 2026 19:52:51 +0200 Subject: [PATCH] added bluer screen if PLC disconected --- main.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/main.go b/main.go index 5bd8cb4..1a2e934 100644 --- a/main.go +++ b/main.go @@ -2056,6 +2056,22 @@ const uiHTML = ` font-size: 0.8rem; color: #a1a1aa; } + + .process-offline { + opacity: 0.35; + filter: grayscale(1) blur(1.5px); + pointer-events: none; + user-select: none; + transition: opacity 180ms ease, filter 180ms ease; + } + + .process-online { + opacity: 1; + filter: none; + pointer-events: auto; + user-select: auto; + transition: opacity 180ms ease, filter 180ms ease; + } @@ -2095,6 +2111,7 @@ const uiHTML = ` +
{{if .ShowVerdict}}
@@ -2647,6 +2664,21 @@ const uiHTML = ` return 'ok'; } + + + function setProcessVisualState(connected) { + const el = document.getElementById('process-content'); + if (!el) return; + + if (connected) { + el.classList.remove('process-offline'); + el.classList.add('process-online'); + } else { + el.classList.remove('process-online'); + el.classList.add('process-offline'); + } + } + function setConnectionIndicator(connected, stale) { const dot = document.getElementById('dot'); const text = document.getElementById('status-text'); @@ -3035,6 +3067,7 @@ const uiHTML = ` } setConnectionIndicator(connected, stale); + setProcessVisualState(connected && !stale); if (SHOW_GAUGES) { setTextBySelector('#digital-l .percent', leftPercent.toFixed(1)); @@ -3063,6 +3096,7 @@ const uiHTML = ` } catch (err) { console.warn('Live fetch error:', err); setConnectionIndicator(false, false); + setProcessVisualState(false); updateSummaryBar(false, false, 0, 0, 0); updateMachineVerdict(false, false, 0, 0, 0); updateAlarmBanner(0, 0, 0, false, false); @@ -3365,6 +3399,8 @@ const uiHTML = ` } } + setProcessVisualState(false); + fetchLiveData(); fetchHistory(); fetchTrend();