@javierfrancoleal/dsh-supervisor 1.0.27 → 1.0.29
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 +33 -8
- package/package.json +1 -1
package/dashboard.html
CHANGED
|
@@ -111,6 +111,21 @@ td,th{border-bottom:1px solid var(--line);padding:9px 6px;text-align:left}
|
|
|
111
111
|
.orow .sub{font-size:13px;opacity:.7}
|
|
112
112
|
.orow.center{background:rgba(255,255,255,.30);font-size:23px;font-weight:800;border:1px solid rgba(255,255,255,.45)}
|
|
113
113
|
.orow.center .sub{opacity:.9}
|
|
114
|
+
#langStep{position:fixed;inset:0;background:linear-gradient(160deg,#4D6BFE,#7c5cff 60%,#a78bfa);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:95;transition:opacity .45s,visibility .45s}
|
|
115
|
+
#langStep.done{opacity:0;visibility:hidden}
|
|
116
|
+
.langstep-inner{text-align:center}
|
|
117
|
+
.langstep-hint{color:rgba(255,255,255,.9);font-size:14px;margin:18px 0 4px}
|
|
118
|
+
.langstep-inner .langreel{width:min(340px,86vw)}
|
|
119
|
+
.langstep-inner svg path.draw{stroke-dasharray:100;animation:drawStroke 1.2s cubic-bezier(.4,0,.2,1) forwards}
|
|
120
|
+
@media (prefers-reduced-motion: reduce){.langstep-inner svg path.draw{animation:none}}
|
|
121
|
+
#loginView{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;text-align:center}
|
|
122
|
+
#loginView h2,#loginView .loginbrand h2{color:#fff}
|
|
123
|
+
#loginView .loginbrand p,#loginView .hint,#loginView .note{color:rgba(255,255,255,.82)}
|
|
124
|
+
#loginView input,#loginView select{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff}
|
|
125
|
+
#loginView input::placeholder{color:rgba(255,255,255,.7)}
|
|
126
|
+
#loginView .loginerr{background:rgba(239,68,68,.25);color:#fff;border:1px solid rgba(255,255,255,.3)}
|
|
127
|
+
#loginView .eye{color:#fff}
|
|
128
|
+
#loginView .btn.gray{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3)}
|
|
114
129
|
.langreel{width:min(340px,86vw);height:58px;margin:10px auto;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.30);border-radius:10px;backdrop-filter:blur(8px);overflow:hidden;cursor:pointer;position:relative;box-shadow:0 10px 30px rgba(15,23,42,.15)}
|
|
115
130
|
body.dark .langreel{background:rgba(20,31,49,.55)}
|
|
116
131
|
.ticks{display:flex;flex-direction:column;will-change:transform}
|
|
@@ -161,7 +176,14 @@ body.wall pre{max-height:40vh}
|
|
|
161
176
|
</style>
|
|
162
177
|
</head>
|
|
163
178
|
<body>
|
|
164
|
-
<div id="
|
|
179
|
+
<div id="langStep" class="hidden" style="display:none">
|
|
180
|
+
<div class="langstep-inner">
|
|
181
|
+
<svg width="110" height="110" viewBox="0 0 64 64" aria-hidden="true"><path class="draw" pathLength="100" d="M10 32 C10 22 16 14 32 14 C48 14 54 22 54 32 C54 42 48 50 32 50 C20 50 12.5 45.2 10.5 38.5 C14 42.5 20 41 25.4 34.8 A6.6 6.6 0 0 1 38.6 34.8 C38.6 31.4 36.6 28.2 32 22.5 C27.4 28.2 25.4 31.4 25.4 34.8" fill="none" stroke="#fff" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
182
|
+
<p id="langStepHint" class="langstep-hint">Choose your language</p>
|
|
183
|
+
<div class="langreel" id="langStepReel"><div class="ticks" id="langStepTicks"></div></div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
<div id="splash"><div class="splash-inner">
|
|
165
187
|
<svg width="96" height="96" viewBox="0 0 64 64" aria-hidden="true"><defs><linearGradient id="splg" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e0e7ff"/></linearGradient></defs><path pathLength="100" d="M10 32 C10 22 16 14 32 14 C48 14 54 22 54 32 C54 42 48 50 32 50 C20 50 12.5 45.2 10.5 38.5 C14 42.5 20 41 25.4 34.8 A6.6 6.6 0 0 1 38.6 34.8 C38.6 31.4 36.6 28.2 32 22.5 C27.4 28.2 25.4 31.4 25.4 34.8" fill="none" stroke="url(#splg)" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
166
188
|
<b>Le Veilleux</b><span id="splashTag">The AI works. The human watches, decides, reviews.</span>
|
|
167
189
|
</div></div>
|
|
@@ -392,6 +414,7 @@ $("darkBtn").onclick=()=>{darkOn=!darkOn;try{localStorage.setItem("dsh-dark",dar
|
|
|
392
414
|
$("soundBtn").onclick=()=>{soundOn=!soundOn;try{localStorage.setItem("dsh-sound",soundOn?"1":"0");}catch(e){}applyToggles();};
|
|
393
415
|
try{darkOn=localStorage.getItem("dsh-dark")==="1";soundOn=localStorage.getItem("dsh-sound")!=="0";}catch(e){}
|
|
394
416
|
applyToggles();
|
|
417
|
+
document.body.classList.add("loginpage");
|
|
395
418
|
setTimeout(()=>{$("splash").classList.add("done");},1500);
|
|
396
419
|
async function reRenderDynamic(){
|
|
397
420
|
if(!me)return;
|
|
@@ -521,37 +544,39 @@ function buildLangMenu(){
|
|
|
521
544
|
const r=document.createElement("div");
|
|
522
545
|
r.className="orow"+(l==="en"?" center":"");
|
|
523
546
|
r.innerHTML='<span>'+LANGNAMES[l]+'</span><span class="sub">'+l.toUpperCase()+'</span>';
|
|
524
|
-
r.onclick=()=>{cur=l;applyLang();$("langOverlay").style.display="none";markReel();};
|
|
547
|
+
r.onclick=()=>{cur=l;applyLang();$("langOverlay").style.display="none";markReel();$("langStep").classList.add("done");};
|
|
525
548
|
rows.appendChild(r);
|
|
526
549
|
}
|
|
527
550
|
}
|
|
528
551
|
function markReel(){
|
|
529
|
-
document.querySelectorAll("#langTicks .tick").forEach(t=>t.classList.toggle("active",t.dataset.l===cur));
|
|
552
|
+
document.querySelectorAll("#langTicks .tick,#langStepTicks .tick").forEach(t=>t.classList.toggle("active",t.dataset.l===cur));
|
|
530
553
|
}
|
|
531
|
-
function buildReel(){
|
|
554
|
+
function buildReel(ticksId){
|
|
532
555
|
for(let pass=0;pass<2;pass++){
|
|
533
556
|
for(const l of Object.keys(LANG)){
|
|
534
557
|
const d=document.createElement("div");
|
|
535
558
|
d.className="tick";d.dataset.l=l;d.textContent=LANGNAMES[l];
|
|
536
|
-
$(
|
|
559
|
+
$(ticksId).appendChild(d);
|
|
537
560
|
}
|
|
538
561
|
}
|
|
539
562
|
const N=Object.keys(LANG).length,H=58,CYCLE=20000;
|
|
540
563
|
const t0=performance.now();
|
|
541
564
|
(function frame(now){
|
|
542
565
|
const t=(now-t0)%CYCLE;
|
|
543
|
-
$(
|
|
566
|
+
$(ticksId).style.transform="translateY(-"+((t/CYCLE)*N*H)+"px)";
|
|
544
567
|
requestAnimationFrame(frame);
|
|
545
568
|
})(t0);
|
|
546
569
|
}
|
|
547
570
|
buildLangMenu();
|
|
548
|
-
buildReel();
|
|
571
|
+
buildReel("langTicks");
|
|
572
|
+
buildReel("langStepTicks");
|
|
549
573
|
markReel();
|
|
550
574
|
$("langReel").onclick=()=>{$("langOverlay").style.display="flex";const en=document.querySelector("#langRows .center");if(en)en.scrollIntoView({block:"center"});};
|
|
575
|
+
$("langStepReel").onclick=()=>{$("langOverlay").style.display="flex";const en=document.querySelector("#langRows .center");if(en)en.scrollIntoView({block:"center"});};
|
|
551
576
|
$("closeOverlay").onclick=()=>{$("langOverlay").style.display="none";};
|
|
552
577
|
// The Apple flow: after the splash, the language menu opens once (until chosen).
|
|
553
578
|
setTimeout(()=>{
|
|
554
|
-
|
|
579
|
+
$("langStep").style.display="flex";
|
|
555
580
|
},1600);
|
|
556
581
|
function pill(l){for(const host of ["langs","footLangs"]){const b=document.createElement("button");b.className="pill";b.dataset.l=l;b.textContent=LANG[l];b.onclick=()=>{cur=l;applyLang();};$(host).appendChild(b);}}
|
|
557
582
|
for(const l of Object.keys(LANG))pill(l);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@javierfrancoleal/dsh-supervisor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.29",
|
|
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",
|