@javierfrancoleal/dsh-supervisor 1.0.34 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard.html +8 -5
- package/package.json +1 -1
package/dashboard.html
CHANGED
|
@@ -164,8 +164,8 @@ body.dark .langreel{background:rgba(124,92,255,.35)}
|
|
|
164
164
|
.wall-clock span{font-size:12px;opacity:.75}
|
|
165
165
|
.live-dot{display:flex;align-items:center;gap:7px;color:#4ade80;font-weight:800;font-size:13px;letter-spacing:.08em}
|
|
166
166
|
.live-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:#4ade80;animation:pulse 1.6s infinite}
|
|
167
|
-
.
|
|
168
|
-
.
|
|
167
|
+
.wtick{background:#1b2436;color:#d7e3f4;border-radius:10px;padding:8px 12px;font-size:13.5px;margin:6px 0}
|
|
168
|
+
.wtick.dim{color:#64748b;background:none;border:1px dashed #334155}
|
|
169
169
|
.wall-note{color:#64748b;font-size:12px;text-align:center;margin-top:10px}
|
|
170
170
|
.welcome{position:relative;border-left:4px solid var(--blue);animation:rise .4s ease}
|
|
171
171
|
.welcome .wclose{position:absolute;top:10px;right:10px;background:none;border:none;font-size:16px;color:var(--muted);cursor:pointer}
|
|
@@ -173,6 +173,7 @@ button{transition:transform .12s ease}
|
|
|
173
173
|
button:active{transform:scale(.97)}
|
|
174
174
|
button:focus-visible,.pill:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
|
|
175
175
|
body.wall{background:linear-gradient(165deg,#0b1220 0%,#131c30 60%,#1e1b4b 100%);background-attachment:fixed}
|
|
176
|
+
body.firstboot header,body.firstboot main,body.firstboot footer{display:none}
|
|
176
177
|
body.wall pre{max-height:40vh}
|
|
177
178
|
@media (max-width:560px){header h1{font-size:15px}.listen{font-size:24px;padding:26px 12px}input,select,textarea,button{font-size:16px}}
|
|
178
179
|
</style>
|
|
@@ -418,7 +419,9 @@ document.body.classList.add("loginpage");
|
|
|
418
419
|
const firstRun=(()=>{try{return !localStorage.getItem("dsh-lang");}catch(e){return true;}})();
|
|
419
420
|
if(firstRun){
|
|
420
421
|
$("splash").style.display="none";
|
|
421
|
-
|
|
422
|
+
$("loginView").style.display="none";
|
|
423
|
+
document.body.classList.add("firstboot");
|
|
424
|
+
$("langStep").style.display="flex";
|
|
422
425
|
}else{
|
|
423
426
|
setTimeout(()=>{$("splash").classList.add("done");},1300);
|
|
424
427
|
}
|
|
@@ -550,7 +553,7 @@ function buildLangMenu(){
|
|
|
550
553
|
const r=document.createElement("div");
|
|
551
554
|
r.className="orow"+(l==="en"?" center":"");
|
|
552
555
|
r.innerHTML='<span>'+LANGNAMES[l]+'</span><span class="sub">'+l.toUpperCase()+'</span>';
|
|
553
|
-
r.onclick=()=>{cur=l;try{localStorage.setItem("dsh-lang",cur);}catch(e){}applyLang();$("langOverlay").style.display="none";markReel();$("langStep").classList.add("done");const sp=$("splash");sp.classList.remove("done");const p=sp.querySelector(".draw");if(p){p.style.animation="none";void p.offsetWidth;p.style.animation="";}setTimeout(()=>{sp.classList.add("done");},2600);};
|
|
556
|
+
r.onclick=()=>{cur=l;try{localStorage.setItem("dsh-lang",cur);}catch(e){}applyLang();$("langOverlay").style.display="none";markReel();$("langStep").classList.add("done");const sp=$("splash");sp.classList.remove("done");const p=sp.querySelector(".draw");if(p){p.style.animation="none";void p.offsetWidth;p.style.animation="";}setTimeout(()=>{$("loginView").style.display="";document.body.classList.remove("firstboot");},2100);setTimeout(()=>{sp.classList.add("done");},2600);};
|
|
554
557
|
rows.appendChild(r);
|
|
555
558
|
}
|
|
556
559
|
}
|
|
@@ -752,7 +755,7 @@ api("/api/setup-status").then((st)=>{if(st&&st.users===0){$("setupSection").clas
|
|
|
752
755
|
const st=sessionStorage.getItem("dsh-sup-token");
|
|
753
756
|
if(st){token=st;me=JSON.parse(sessionStorage.getItem("dsh-sup-me")||"null");(async()=>{const r=await api("/api/me");if(!r||!r.name){logout();return;}enter();})();}
|
|
754
757
|
else setWho();
|
|
755
|
-
async function wallTick(){try{const r=await (await fetch("/api/wall")).json();const cards=[[t("week"),r.reportsWeek],[t("ordersTitle"),r.orders],[t("feedback"),r.feedback],[t("workersActive"),r.workers],[t("reportsTotal"),r.reports]];$("wallCards").innerHTML=cards.map(c=>'<div class="wall-card"><div class="v">'+(c[1]===undefined?"–":c[1])+'</div><div class="l">'+c[0]+'</div></div>').join("");const ticks=[...(r.ordersTail||[]).map(x=>"🔔 "+esc(x)),...(r.feedbackTail||"").split("\n").filter(Boolean).slice(-4).map(esc)];$("wallFeed").innerHTML=ticks.length?ticks.map(x=>'<div class="
|
|
758
|
+
async function wallTick(){try{const r=await (await fetch("/api/wall")).json();const cards=[[t("week"),r.reportsWeek],[t("ordersTitle"),r.orders],[t("feedback"),r.feedback],[t("workersActive"),r.workers],[t("reportsTotal"),r.reports]];$("wallCards").innerHTML=cards.map(c=>'<div class="wall-card"><div class="v">'+(c[1]===undefined?"–":c[1])+'</div><div class="l">'+c[0]+'</div></div>').join("");const ticks=[...(r.ordersTail||[]).map(x=>"🔔 "+esc(x)),...(r.feedbackTail||"").split("\n").filter(Boolean).slice(-4).map(esc)];$("wallFeed").innerHTML=ticks.length?ticks.map(x=>'<div class="wtick">'+x+'</div>').join(""):'<div class="wtick dim">'+t("noActivity")+'</div>';try{const s=await (await fetch("/api/sector")).json();$("wallSector").textContent=(s&&s.id)?s.id:"";}catch(e){}}catch(e){$("wallFeed").innerHTML='<div class="wtick dim">'+t("cannotReach")+'</div>';}}
|
|
756
759
|
function clockTick(){const d=new Date();$("wallClock").textContent=d.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});$("wallDate").textContent=d.toLocaleDateString([],{weekday:"short",day:"numeric",month:"short"});}
|
|
757
760
|
if(location.search.indexOf("wall=1")>=0){
|
|
758
761
|
document.body.classList.add("wall");show("wallView");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@javierfrancoleal/dsh-supervisor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.36",
|
|
4
4
|
"description": "The Veilleux central control plane of the J.Franco agentic workflow suite: user accounts, the live conversation flow (listen → per-person summary → confirm → orders), telemetry, and the universal sector dashboard with 10 languages. Created by J.Franco.",
|
|
5
5
|
"author": "J.Franco",
|
|
6
6
|
"license": "MIT",
|