← back to Ticket System
board: split the combined total/shown pill into two independently-toggleable pills; all 7 stat pills now turn on/off individually (merge-default so new pills default ON for existing localStorage) (TK-10429)
dddb9a42e47a093b3d4ebfce4b91b7af28814660 · 2026-08-10 16:25:54 -0700 · steve
Files touched
Diff
commit dddb9a42e47a093b3d4ebfce4b91b7af28814660
Author: steve <steve@designerwallcoverings.com>
Date: Mon Aug 10 16:25:54 2026 -0700
board: split the combined total/shown pill into two independently-toggleable pills; all 7 stat pills now turn on/off individually (merge-default so new pills default ON for existing localStorage) (TK-10429)
---
board.html | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/board.html b/board.html
index e9730d99..a05badce 100644
--- a/board.html
+++ b/board.html
@@ -91,8 +91,8 @@ let VIS=LS('tkCols',null)||Object.fromEntries(COLS.map(c=>[c.k,!!c.def]));
let ORDER=(Array.isArray(LS('tkOrder',null))?LS('tkOrder',null):[]).filter(k=>CK.includes(k)); for(const k of CK)if(!ORDER.includes(k))ORDER.push(k);
let WID=LS('tkWid',{}), DENS=LS('tkDens',7);
// toggleable stat pills — mirrors the column-visibility pattern (persists to localStorage)
-const PILLS=[{k:'open',l:'open'},{k:'doing',l:'doing'},{k:'blocked',l:'blocked'},{k:'done',l:'done'},{k:'stale',l:'stale'},{k:'totals',l:'total / shown'}];
-let PILL_VIS=LS('tkPills',null)||Object.fromEntries(PILLS.map(p=>[p.k,1]));
+const PILLS=[{k:'open',l:'open'},{k:'doing',l:'doing'},{k:'blocked',l:'blocked'},{k:'done',l:'done'},{k:'stale',l:'stale'},{k:'total',l:'total'},{k:'shown',l:'shown'}];
+let PILL_VIS=Object.assign(Object.fromEntries(PILLS.map(p=>[p.k,1])),LS('tkPills',{})); // merge → new pills default ON even with an old stored set
// toggleable expanded-row detail fields (by kind) + DM-panel show/hide — both persist
const DET=[{k:'comment',l:'comments'},{k:'note',l:'notes'},{k:'action',l:'actions'},{k:'win',l:'wins'},{k:'challenge',l:'challenges'},{k:'cody',l:'cody dissents'}];
let DET_VIS=LS('tkDet',null)||Object.fromEntries(DET.map(d=>[d.k,1]));
@@ -153,7 +153,8 @@ function renderPills(){
const html={
open:statPill('open'), doing:statPill('doing'), blocked:statPill('blocked'), done:statPill('done'),
stale:`<span class="pill" title="doing >24h">⚠ stale <b>${stale}</b></span>`,
- totals:`<span class="pill">total <b>${DATA.length}</b> · shown <b id="count">${DATA.filter(match).length}</b></span>`,
+ total:`<span class="pill">total <b>${DATA.length}</b></span>`,
+ shown:`<span class="pill">shown <b id="count">${DATA.filter(match).length}</b></span>`,
};
$('#pills').innerHTML=PILLS.filter(p=>PILL_VIS[p.k]).map(p=>html[p.k]).join('');
}
← 6ab4daff board: fetch via location.origin — fixes empty table when op
·
back to Ticket System
·
board: inline ✕ on each stat pill — click to hide that pill 83a32f41 →