[object Object]

← 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 →