From d079000740c9ade094dfdb82b3da78835cf09a4e Mon Sep 17 00:00:00 2001 From: wasrusgen Date: Fri, 29 May 2026 17:14:25 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20sidebar=20icons=20sync=20with=20stage=20?= =?UTF-8?q?state=20=E2=80=94=20go()=20updates=20icons=20on=20every=20nav?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/mockup_cabinet.html | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/mockup_cabinet.html b/docs/mockup_cabinet.html index 501a7a1..ea3ebdb 100644 --- a/docs/mockup_cabinet.html +++ b/docs/mockup_cabinet.html @@ -538,7 +538,7 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);
-
🔒
+
3
Этап 3
Документы
@@ -1574,23 +1574,39 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text); const hints={0:'Обзор проекта — все этапы',1:'Этап 1/5 — знакомство завершено',2:'Этап 2/5 — опрос участников',3:'Этап 3/5 — сбор документов',4:'Этап 4/5 — анализ данных',5:'Этап 5/5 — план готов'}; const pcts={0:60,1:20,2:40,3:60,4:80,5:100}; +// Stage state map: icon + class for each stage +const stageState={ + 0:{icon:'⊞', cls:'home'}, + 1:{icon:'✓', cls:'done'}, + 2:{icon:'2', cls:'active'}, + 3:{icon:'3', cls:'active'}, + 4:{icon:'🔒', cls:'locked'}, + 5:{icon:'🔒', cls:'locked'} +}; + function go(n){ for(let i=0;i<=5;i++){ const sv=document.getElementById('sv'+i); if(sv) sv.style.display='none'; const si=document.getElementById('si'+i); - if(si) si.classList.remove('active'); + if(si){ + si.classList.remove('active','done','locked','home'); + const s=stageState[i]; + if(s) si.classList.add(s.cls); + } + const sn=document.getElementById('sn'+i); + if(sn && stageState[i]) sn.textContent=stageState[i].icon; const db=document.getElementById('db'+i); if(db){ db.classList.toggle('on',i===n); - // HOME button keeps white regardless if(i===0) db.classList.add('db-home'); } } const sv=document.getElementById('sv'+n); if(sv) sv.style.display='flex'; + // Active stage overrides its base class const si=document.getElementById('si'+n); - if(si) si.classList.add('active'); + if(si){ si.classList.remove('done','locked','home'); si.classList.add('active'); } document.getElementById('pb-pct').textContent=pcts[n]+'%'; document.getElementById('pb-fill').style.width=pcts[n]+'%'; document.getElementById('pb-hint').textContent=hints[n];