ソースを参照

nutikodu-web: Varv — pime mootmine naitab PIME/hall, mitte muravarvi

ardo 1 週間 前
親
コミット
1ae1e1eda1
1 ファイル変更、10 行追加、3 行削除
  1. 10 3
      dev/nutikodu-web/static/app.js

+ 10 - 3
dev/nutikodu-web/static/app.js

@@ -681,10 +681,12 @@ function renderVarvCurrent() {
   const c = varvLatest[0];
   const p = varvPick(c);
   sw.style.background = p.hex;
-  if (hex) hex.textContent = p.hex.toUpperCase();
+  if (hex) hex.textContent = p.dark ? "PIME" : p.hex.toUpperCase();
   if (meta) meta.innerHTML =
-    `${c.ts}${varvCalibView ? " · kalibreeritud" : ""}<br>` +
-    `x = ${varvFmt(p.x)} · y = ${varvFmt(p.y)} · gain ${c.gain}`;
+    `${c.ts}${varvCalibView ? " · kalibreeritud" : ""}` +
+    (p.dark
+      ? "<br>pime — värv ei ole usaldusväärne (valgusta pinda)"
+      : `<br>x = ${varvFmt(p.x)} · y = ${varvFmt(p.y)} · gain ${c.gain}`);
 }
 
 function renderVarvGrid() {
@@ -871,7 +873,12 @@ async function setVarvPower(on) {
 let varvCalibView = false;
 let varvCalibWired = false;
 
+function varvBandSum(c) {
+  return Object.values(c.bands || {}).reduce((a, v) => a + (Number(v) || 0), 0);
+}
+
 function varvPick(c) {
+  if (varvBandSum(c) < 250) return { hex: "#33383f", x: null, y: null, dark: true };
   if (varvCalibView && c.rgb_hex_cal) {
     return { hex: c.rgb_hex_cal, x: c.x_chrom_cal, y: c.y_chrom_cal };
   }