From 0dcea8d7255e238592786f02f5a0bafcf6866bd2 Mon Sep 17 00:00:00 2001 From: "n.siegfried" Date: Wed, 19 Aug 2026 13:37:10 -0700 Subject: [PATCH] T9.5 - C1+S8: the help-tip is real, the audit is written, BL-001 is dead S8, finished where the plan said it would be: every .help-tip badge is a `).join(''); modal.style.display = 'flex'; } diff --git a/html/work-package-suite-styles.css b/html/work-package-suite-styles.css index 16dfbfd..0a4d9a0 100644 --- a/html/work-package-suite-styles.css +++ b/html/work-package-suite-styles.css @@ -741,6 +741,13 @@ body { /* .field-error is declared once, in theme-light.css — the launcher's create form and T5.8's step validation use the same component. */ +/* The constraint-library entries (C1/T9.5): real buttons, block layout. */ +.constraint-option { display:block; width:100%; text-align:left; padding:0.75rem; + background:var(--bg); border:1px solid var(--border); border-radius:6px; + margin-bottom:0.5rem; cursor:pointer; font:inherit; color:inherit; transition:all .2s; } +.constraint-option:hover, .constraint-option:focus-visible { + border-color:var(--primary); background:var(--primary-light); } + /* NAVIGATION B6 / T7.8: sticky, the creator's pattern. On the Constraints and Sequence steps the proposal's beside-the-fields actions meant scrolling to save; the diff --git a/html/wp-creation-app.js b/html/wp-creation-app.js index 34a356e..c9797df 100644 --- a/html/wp-creation-app.js +++ b/html/wp-creation-app.js @@ -3409,7 +3409,8 @@ function renderDashboard(){ `; // status + discipline breakdown chips (status chips also filter the board) - const statusChip=(label,count,cls,status)=>`${esc(label)}: ${count}`; + // C1/T9.5: the chip filters the board, so it is a button. + const statusChip=(label,count,cls,status)=>``; const statusChips=STATUS_ORDER.filter(s=>byStatus[s]).map(s=>statusChip(s,byStatus[s],'',s)).join('') + (byStatus['Issue']?statusChip('On Hold',byStatus['Issue'],'chip-red','Issue'):''); const discChips=Object.keys(byDisc).map(d=>`${esc(d)}: ${byDisc[d]}`).join('')||''; @@ -3633,7 +3634,9 @@ async function clearMyComments(){ const d=cmtLoad(); const mine=d.comments.filte if(!mine){ toast('No comments to clear.', 'alert'); return; } if(!(await wpConfirmDialog({title:'Clear my comments', message:`Delete your ${mine} comment(s)?`, okLabel:'Delete them'}))) return; d.comments=d.comments.filter(c=>c.clientId!==d.clientId); cmtSave(d); renderComments(); refreshCommentBadges(); } -function cmtInit(){ const d=cmtLoad(); cmtSave(d); const a=document.getElementById('cmt-author'); if(a)a.value=d.author||''; cmtUpdateCurStep(); renderComments(); refreshCommentBadges(); } +function cmtInit(){ + const ov=document.getElementById('cmt-overlay'); + if(ov && !ov._wired){ ov._wired=true; ov.addEventListener('click', toggleComments); } const d=cmtLoad(); cmtSave(d); const a=document.getElementById('cmt-author'); if(a)a.value=d.author||''; cmtUpdateCurStep(); renderComments(); refreshCommentBadges(); } // ── STATUS PILLS ───────────────────────────────────────────────────────────── document.querySelectorAll('#status-group .radio-pill').forEach(p=>p.addEventListener('click',e=>{ diff --git a/html/wp-creation-index.html b/html/wp-creation-index.html index ebfa066..791f85e 100644 --- a/html/wp-creation-index.html +++ b/html/wp-creation-index.html @@ -591,7 +591,9 @@ -
+ +